Remove debug symbols from vortex-fastlanes on dev profile#8383
Conversation
Merging this PR will improve performance by 96.42%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | chunked_varbinview_canonical_into[(1000, 10)] |
161.4 µs | 198.1 µs | -18.49% |
| ❌ | Simulation | decompress_rd[f64, (100000, 0.0)] |
845.6 µs | 980 µs | -13.71% |
| ❌ | Simulation | bitwise_not_vortex_buffer_mut[128] |
215.3 ns | 244.4 ns | -11.93% |
| ⚡ | Simulation | count_i32_clustered_nulls |
640.9 µs | 55.2 µs | ×12 |
| ⚡ | Simulation | sum_f64_all_valid |
293.2 µs | 38.2 µs | ×7.7 |
| ⚡ | Simulation | sum_i32_clustered_nulls |
543.6 µs | 71.8 µs | ×7.6 |
| ⚡ | Simulation | sum_f64_clustered_nulls |
547.3 µs | 74.6 µs | ×7.3 |
| ⚡ | Simulation | sum_i32_nullable_all_valid |
334.7 µs | 73 µs | ×4.6 |
| ⚡ | Simulation | count_varbinview |
253.1 µs | 75.9 µs | ×3.3 |
| ⚡ | Simulation | decompress_rd[f64, (10000, 0.0)] |
138.5 µs | 110.9 µs | +24.88% |
| ⚡ | Simulation | decompress_rd[f64, (10000, 0.1)] |
138.3 µs | 110.9 µs | +24.71% |
| ⚡ | Simulation | decompress_rd[f64, (10000, 0.01)] |
137.9 µs | 110.6 µs | +24.69% |
| ⚡ | Simulation | sum_f64 |
711.9 µs | 594.3 µs | +19.8% |
| ⚡ | Simulation | chunked_varbinview_canonical_into[(100, 100)] |
307.9 µs | 273.5 µs | +12.58% |
| ⚡ | Simulation | decompress_rd[f32, (10000, 0.1)] |
90 µs | 80.3 µs | +12.11% |
| ⚡ | Simulation | decompress_rd[f32, (10000, 0.0)] |
90.2 µs | 80.9 µs | +11.61% |
| ⚡ | Simulation | decompress_rd[f32, (10000, 0.01)] |
90 µs | 80.8 µs | +11.35% |
| ⚡ | Simulation | encode_varbin[(1000, 2)] |
175.6 µs | 158.4 µs | +10.85% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing adamg/fastlanes-debug-symbols (9ac6a8e) with develop (a3c5f8c)2
Footnotes
-
10 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
-
No successful run was found on
develop(d70c77e) during the generation of this report, so a3c5f8c was used instead as the comparison base. There might be some changes unrelated to this pull request in this report. ↩
| tracing = { workspace = true } | ||
| tracing-subscriber = { workspace = true } | ||
| vortex = { path = ".", features = ["tokio"] } | ||
| vortex-bench = { workspace = true, features = ["unstable_encodings"] } |
There was a problem hiding this comment.
This is also potentially a pretty big speedup in many cases
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
c878593 to
9ac6a8e
Compare
Summary
Inspired by @myrrc's #8634, this change makes a few subtle changes to our
devandcibuild profiles. The main change here is removing debug symbols fromvortex-fastlanes, which for a full build of the main package (cargo build -p vortex --all-features --all-targets) reduces build time by about 33% (from 90 seconds to under 60).The others are:
ciprofile, enablesdebug_assertionsand remove the explicitstripwhich seems redundant, and doesn't seem to make a measurable difference in build times.vortex-benchas a dev dependency forvortex, which is just weird and unused.