Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

perf: reduce the overhead incurred when deserializing Tuple #126

Merged
merged 2 commits into from
Feb 2, 2024

Conversation

KKould
Copy link
Member

@KKould KKould commented Feb 2, 2024

What problem does this PR solve?

  • Only deserialize the values ​​that require project
  • Use SchemaRef to avoid repeating collect_vec for ColumnRef

2_00_000 row: 190ms -> 142ms

FnckSQL: select * from t1                                                                                  
                        time:   [141.42 ms 142.85 ms 144.54 ms]
                        change: [-19.602% -17.850% -16.129%] (p = 0.00 < 0.05)
                        Performance has improved.

SQLite: select * from t1                                                                           
                        time:   [41.281 ms 42.103 ms 42.832 ms]
                        change: [-2.0020% -0.8158% +0.8000%] (p = 0.27 > 0.05)
                        No change in performance detected.

Code changes

  • Has Rust code change
  • Has CI related scripts change

Check List

Tests

  • Unit test
  • Integration test
  • Manual test (add detailed scripts or steps below)
  • No code

Side effects

  • Performance regression: Consumes more CPU
  • Performance regression: Consumes more Memory
  • Breaking backward compatibility

Note for reviewer

@KKould KKould self-assigned this Feb 2, 2024
@KKould KKould added the enhancement New feature or request label Feb 2, 2024
@KKould KKould merged commit ac94e3c into KipData:main Feb 2, 2024
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant