Reduce vortex-fastlanes debug symbols by halving unchecked_unpack_cmp monomorphization - #8504
Reduce vortex-fastlanes debug symbols by halving unchecked_unpack_cmp monomorphization#8504AdamGS wants to merge 3 commits into
unchecked_unpack_cmp monomorphization#8504Conversation
Merging this PR will not alter performance
Comparing Footnotes
|
unchecked_unpack_cmp monomorphization
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
c31e5d9 to
ff7d356
Compare
cb2d2fd to
ff7d356
Compare
|
This PR has been marked as stale because it has been open for 14 days with no activity. Please comment or remove the stale label if you wish to keep it active, otherwise it will be closed in 7 days |
|
This PR was closed because it has been inactive for 7 days since being marked as stale. |
|
We should offer this as an option or the default. It halves code size. For the cost of a 16 word negation |
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
🚨🚨🚨❌❌❌ SQL BENCHMARK FAILED ❌❌❌🚨🚨🚨Benchmark |
Benchmarks: PolarSignals ProfilingVortex (geomean): 1.050x ➖ How to read Verdict and Engines
datafusion / vortex-file-compressed (1.050x ➖, 0↑ 3↓)
File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
Totals:
|
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.971x ➖, 1↑ 0↓)
datafusion / vortex-compact (0.982x ➖, 1↑ 0↓)
datafusion / parquet (0.979x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.999x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.028x ➖, 0↑ 1↓)
duckdb / parquet (0.985x ➖, 0↑ 0↓)
File Size Changes (2 files changed, +0.0% overall, 1↑ 1↓)
Totals:
|
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.091x ➖, 0↑ 3↓)
datafusion / vortex-compact (0.978x ➖, 5↑ 1↓)
datafusion / parquet (1.035x ➖, 0↑ 1↓)
datafusion / arrow (0.980x ➖, 3↑ 0↓)
duckdb / vortex-file-compressed (1.051x ➖, 0↑ 4↓)
duckdb / vortex-compact (1.054x ➖, 1↑ 7↓)
duckdb / parquet (1.044x ➖, 0↑ 2↓)
duckdb / duckdb (1.017x ➖, 0↑ 0↓)
File Size Changes (18 files changed, -0.0% overall, 11↑ 7↓)
Totals:
|
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.029x ➖, 2↑ 13↓)
datafusion / vortex-compact (0.988x ➖, 17↑ 14↓)
datafusion / parquet (1.013x ➖, 1↑ 3↓)
duckdb / vortex-file-compressed (1.017x ➖, 10↑ 19↓)
duckdb / vortex-compact (0.860x ✅, 54↑ 15↓)
duckdb / parquet (1.018x ➖, 0↑ 2↓)
duckdb / duckdb (1.019x ➖, 0↑ 1↓)
File Size Changes (48 files changed, -0.1% overall, 34↑ 14↓)
Totals:
|
Benchmarks: FineWeb S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.997x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.064x ➖, 0↑ 1↓)
datafusion / parquet (0.957x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.985x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.968x ➖, 0↑ 0↓)
duckdb / parquet (0.914x ➖, 0↑ 0↓)
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (1.000x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.011x ➖, 0↑ 0↓)
duckdb / parquet (0.992x ➖, 0↑ 0↓)
File Size Changes (2 files changed, -0.0% overall, 0↑ 2↓)
Totals:
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.035x ➖, 0↑ 1↓)
datafusion / vortex-compact (0.966x ➖, 5↑ 1↓)
datafusion / parquet (0.996x ➖, 0↑ 0↓)
datafusion / arrow (0.999x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.011x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.910x ➖, 9↑ 0↓)
duckdb / parquet (0.981x ➖, 1↑ 0↓)
duckdb / duckdb (0.984x ➖, 0↑ 0↓)
File Size Changes (48 files changed, -0.0% overall, 27↑ 21↓)
Totals:
|
Benchmarks: Clickbench on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.992x ➖, 5↑ 9↓)
datafusion / parquet (0.960x ➖, 4↑ 2↓)
duckdb / vortex-file-compressed (0.945x ➖, 11↑ 4↓)
duckdb / parquet (0.993x ➖, 0↑ 3↓)
duckdb / duckdb (0.984x ➖, 0↑ 1↓)
File Size Changes (201 files changed, -0.4% overall, 64↑ 137↓)
Totals:
|
Benchmarks: TPC-H SF=1 on S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.854x ➖, 5↑ 1↓)
datafusion / vortex-compact (0.878x ➖, 1↑ 1↓)
datafusion / parquet (0.926x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (0.906x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.957x ➖, 0↑ 0↓)
duckdb / parquet (0.893x ➖, 0↑ 0↓)
|
Benchmarks: Random AccessVortex (geomean): 0.884x ✅ How to read Verdict and Engines
unknown / unknown (0.938x ➖, 11↑ 0↓)
|
Benchmarks: CompressionVortex (geomean): 0.989x ➖ How to read Verdict and Engines
unknown / unknown (1.004x ➖, 6↑ 6↓)
|
Benchmarks: Appian on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.083x ➖, 0↑ 2↓)
datafusion / parquet (1.068x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (1.076x ➖, 0↑ 3↓)
duckdb / parquet (1.055x ➖, 0↑ 0↓)
duckdb / duckdb (1.050x ➖, 0↑ 0↓)
File Size Changes (19 files changed, -0.0% overall, 18↑ 1↓)
Totals:
|
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.005x ➖, 0↑ 1↓)
datafusion / vortex-compact (1.064x ➖, 0↑ 1↓)
datafusion / parquet (0.986x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (1.020x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.989x ➖, 0↑ 0↓)
duckdb / parquet (1.016x ➖, 0↑ 0↓)
|
|
This PR has been marked as stale because it has been open for 14 days with no activity. Please comment or remove the stale label if you wish to keep it active, otherwise it will be closed in 7 days |
Summary
vortex-fastlanesis currently a pretty big crate, due to its underlying structure/generics.When running
cargo clean; cargo build -p vortex-fastlanesCurrently on `develop:
We currently disable debug symbols for it to improve our development experience, but underlying crates can't enjoy that without explicitly adding the same or similar configuration.
With this branch, the build takes 50s and generates a 133MB rlib, with no performance impact for release builds.
For a release build, this change saves about 2.5MB (out of 7.4MB).