Explicit Precision::Absent variant instead of Option<Precision>#8042
Explicit Precision::Absent variant instead of Option<Precision>#8042AdamGS wants to merge 9 commits into
Conversation
a36f976 to
a6f0110
Compare
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Merging this PR will not alter performance
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | Simulation | chunked_varbinview_canonical_into[(100, 100)] |
273.1 µs | 308.8 µs | -11.56% |
| ⚡ | Simulation | chunked_varbinview_opt_canonical_into[(1000, 10)] |
224.9 µs | 188.2 µs | +19.47% |
Tip
Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.
Comparing adamg/absent-precision-variant (5ebeb8b) with develop (19a1fb3)
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
4187154 to
024dacb
Compare
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Polar Signals Profiling ResultsLatest Run
Previous Runs (1)
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 0.967x ➖ datafusion / vortex-file-compressed (0.967x ➖, 1↑ 0↓)
|
File Sizes: PolarSignals ProfilingNo file size changes detected. |
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.961x ➖, 1↑ 0↓)
datafusion / vortex-compact (0.962x ➖, 0↑ 0↓)
datafusion / parquet (0.941x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.936x ➖, 1↑ 0↓)
duckdb / vortex-compact (0.920x ➖, 2↑ 0↓)
duckdb / parquet (0.950x ➖, 1↑ 0↓)
Full attributed analysis
|
File Sizes: FineWeb NVMeNo file size changes detected. |
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.106x ❌, 0↑ 52↓)
datafusion / vortex-compact (1.030x ➖, 0↑ 13↓)
datafusion / parquet (1.062x ➖, 0↑ 27↓)
duckdb / vortex-file-compressed (1.024x ➖, 2↑ 14↓)
duckdb / vortex-compact (1.057x ➖, 0↑ 23↓)
duckdb / parquet (1.051x ➖, 0↑ 6↓)
duckdb / duckdb (1.058x ➖, 0↑ 16↓)
Full attributed analysis
|
File Sizes: TPC-DS SF=1 on NVMENo file size changes detected. |
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.172x ❌, 0↑ 21↓)
datafusion / vortex-compact (1.151x ❌, 0↑ 20↓)
datafusion / parquet (1.113x ❌, 0↑ 13↓)
datafusion / arrow (1.264x ❌, 0↑ 20↓)
duckdb / vortex-file-compressed (1.105x ❌, 0↑ 14↓)
duckdb / vortex-compact (1.080x ➖, 0↑ 4↓)
duckdb / parquet (1.063x ➖, 0↑ 4↓)
duckdb / duckdb (1.065x ➖, 0↑ 1↓)
Full attributed analysis
|
File Sizes: TPC-H SF=1 on NVMENo file size changes detected. |
Benchmarks: FineWeb S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (0.954x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.961x ➖, 0↑ 0↓)
datafusion / parquet (0.992x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.951x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.959x ➖, 0↑ 0↓)
duckdb / parquet (0.980x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) duckdb / vortex-file-compressed (0.993x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.960x ➖, 0↑ 0↓)
duckdb / parquet (0.983x ➖, 0↑ 0↓)
Full attributed analysis
|
File Sizes: Statistical and Population GeneticsNo file size changes detected. |
Benchmarks: Random AccessVortex (geomean): 0.887x ✅ unknown / unknown (0.935x ➖, 9↑ 0↓)
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.912x ➖, 7↑ 0↓)
datafusion / vortex-compact (0.922x ➖, 5↑ 0↓)
datafusion / parquet (0.933x ➖, 1↑ 0↓)
datafusion / arrow (0.886x ✅, 14↑ 0↓)
duckdb / vortex-file-compressed (0.948x ➖, 1↑ 0↓)
duckdb / vortex-compact (0.954x ➖, 0↑ 0↓)
duckdb / parquet (0.976x ➖, 0↑ 0↓)
duckdb / duckdb (0.970x ➖, 0↑ 0↓)
Full attributed analysis
|
File Sizes: TPC-H SF=10 on NVMENo file size changes detected. |
Benchmarks: Clickbench on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.991x ➖, 7↑ 2↓)
datafusion / parquet (1.028x ➖, 0↑ 1↓)
duckdb / vortex-file-compressed (1.012x ➖, 1↑ 2↓)
duckdb / parquet (0.954x ➖, 2↑ 0↓)
duckdb / duckdb (1.044x ➖, 0↑ 10↓)
Full attributed analysis
|
File Sizes: Clickbench on NVMEFile 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) datafusion / vortex-file-compressed (0.955x ➖, 2↑ 3↓)
datafusion / vortex-compact (1.006x ➖, 0↑ 2↓)
datafusion / parquet (1.177x ➖, 0↑ 3↓)
duckdb / vortex-file-compressed (0.953x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.009x ➖, 0↑ 1↓)
duckdb / parquet (1.031x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: CompressionVortex (geomean): 1.006x ➖ unknown / unknown (1.006x ➖, 1↑ 5↓)
|
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (0.947x ➖, 0↑ 1↓)
datafusion / vortex-compact (1.062x ➖, 0↑ 2↓)
datafusion / parquet (0.966x ➖, 2↑ 1↓)
duckdb / vortex-file-compressed (0.949x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.967x ➖, 0↑ 0↓)
duckdb / parquet (0.952x ➖, 0↑ 0↓)
Full attributed analysis
|
This PR adds a new
Precision::Absentvariant only after serialization because its a more idiomatic API. The serialization format is unchanged.