Faster str interning - #8459
Conversation
e106a35 to
ccf319e
Compare
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
ccf319e to
3ca882a
Compare
Merging this PR will not alter performance
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | decompress_rd[f64, (100000, 0.0)] |
845.4 µs | 1,024 µs | -17.45% |
| ❌ | Simulation | decompress_rd[f32, (100000, 0.0)] |
498.8 µs | 586.5 µs | -14.96% |
| ⚡ | Simulation | decompress_rd[f64, (100000, 0.01)] |
981.1 µs | 845.4 µs | +16.05% |
| ⚡ | Simulation | decompress_rd[f64, (100000, 0.1)] |
981 µs | 845.4 µs | +16.04% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[128] |
215.3 ns | 186.1 ns | +15.67% |
| ⚡ | Simulation | bitwise_not_vortex_buffer_mut[1024] |
275.6 ns | 246.4 ns | +11.84% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing adamg/inline-str-interner (3ca882a) with develop (170ff39)
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. ↩
Polar Signals Profiling ResultsLatest Run
Previous Runs (1)
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 1.024x ➖ How to read Verdict and Engines
datafusion / vortex-file-compressed (1.024x ➖, 0↑ 3↓)
No file size changes detected. |
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.761x ✅, 22↑ 0↓)
datafusion / vortex-compact (0.792x ✅, 22↑ 0↓)
datafusion / parquet (0.875x ✅, 17↑ 1↓)
datafusion / arrow (0.774x ✅, 20↑ 0↓)
duckdb / vortex-file-compressed (0.816x ✅, 21↑ 0↓)
duckdb / vortex-compact (0.796x ✅, 21↑ 0↓)
duckdb / parquet (0.887x ✅, 12↑ 0↓)
duckdb / duckdb (0.863x ✅, 20↑ 0↓)
File Size Changes (9 files changed, +0.1% overall, 5↑ 4↓)
Totals:
|
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.126x ❌, 0↑ 7↓)
datafusion / vortex-compact (1.103x ❌, 0↑ 5↓)
datafusion / parquet (1.135x ❌, 0↑ 7↓)
duckdb / vortex-file-compressed (1.132x ❌, 0↑ 6↓)
duckdb / vortex-compact (1.061x ➖, 0↑ 1↓)
duckdb / parquet (1.109x ❌, 0↑ 4↓)
File Size Changes (1 files changed, +0.0% overall, 1↑ 0↓)
Totals:
|
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.062x ➖, 2↑ 17↓)
datafusion / vortex-compact (1.054x ➖, 0↑ 11↓)
datafusion / parquet (1.058x ➖, 1↑ 19↓)
duckdb / vortex-file-compressed (1.059x ➖, 1↑ 19↓)
duckdb / vortex-compact (1.045x ➖, 0↑ 11↓)
duckdb / parquet (1.035x ➖, 0↑ 4↓)
duckdb / duckdb (1.052x ➖, 1↑ 15↓)
File Size Changes (6 files changed, +0.0% overall, 1↑ 5↓)
Totals:
|
Benchmarks: FineWeb S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.031x ➖, 0↑ 1↓)
datafusion / vortex-compact (0.918x ➖, 0↑ 0↓)
datafusion / parquet (0.973x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.927x ➖, 1↑ 0↓)
duckdb / vortex-compact (1.110x ➖, 0↑ 1↓)
duckdb / parquet (1.022x ➖, 0↑ 0↓)
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) How to read Verdict and Engines
duckdb / vortex-file-compressed (1.034x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.010x ➖, 0↑ 0↓)
duckdb / parquet (1.007x ➖, 0↑ 0↓)
File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
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.989x ➖, 0↑ 2↓)
datafusion / vortex-compact (1.028x ➖, 1↑ 4↓)
datafusion / parquet (1.141x ➖, 0↑ 7↓)
duckdb / vortex-file-compressed (0.967x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.976x ➖, 0↑ 0↓)
duckdb / parquet (0.948x ➖, 0↑ 0↓)
|
Benchmarks: Random AccessVortex (geomean): 1.074x ➖ How to read Verdict and Engines
unknown / unknown (1.097x ➖, 1↑ 11↓)
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.030x ➖, 0↑ 0↓)
datafusion / vortex-compact (1.022x ➖, 0↑ 0↓)
datafusion / parquet (1.025x ➖, 0↑ 0↓)
datafusion / arrow (1.020x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.021x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.025x ➖, 0↑ 0↓)
duckdb / parquet (1.020x ➖, 0↑ 1↓)
duckdb / duckdb (1.013x ➖, 0↑ 0↓)
File Size Changes (26 files changed, +0.0% overall, 13↑ 13↓)
Totals:
|
Benchmarks: Clickbench on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.863x ✅, 37↑ 0↓)
datafusion / parquet (0.896x ✅, 27↑ 1↓)
duckdb / vortex-file-compressed (0.913x ➖, 17↑ 1↓)
duckdb / parquet (0.957x ➖, 1↑ 0↓)
duckdb / duckdb (0.941x ➖, 2↑ 0↓)
File Size Changes (104 files changed, -0.0% overall, 57↑ 47↓)
Totals:
|
Benchmarks: CompressionVortex (geomean): 1.002x ➖ How to read Verdict and Engines
unknown / unknown (0.982x ➖, 1↑ 1↓)
|
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (0.962x ➖, 1↑ 1↓)
datafusion / vortex-compact (0.934x ➖, 0↑ 0↓)
datafusion / parquet (1.080x ➖, 0↑ 2↓)
duckdb / vortex-file-compressed (1.064x ➖, 0↑ 2↓)
duckdb / vortex-compact (0.975x ➖, 0↑ 0↓)
duckdb / parquet (1.012x ➖, 0↑ 0↓)
|
Benchmarks: Appian on NVMEVerdict: No clear signal (low confidence) How to read Verdict and Engines
datafusion / vortex-file-compressed (1.107x ❌, 0↑ 3↓)
datafusion / parquet (1.085x ➖, 0↑ 5↓)
duckdb / vortex-file-compressed (1.044x ➖, 0↑ 1↓)
duckdb / parquet (1.025x ➖, 0↑ 0↓)
duckdb / duckdb (1.044x ➖, 0↑ 0↓)
File Size Changes (4 files changed, -0.1% overall, 0↑ 4↓)
Totals:
|
Summary
Makes two small changes to the string interner:
inline-morefeature of thelassocrate