Conversation
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Signed-off-by: Adam Gutglick <adam@spiraldb.com>
Polar Signals Profiling ResultsLatest Run
Powered by Polar Signals Cloud |
Benchmarks: PolarSignals ProfilingVortex (geomean): 1.080x ➖ datafusion / vortex-file-compressed (1.080x ➖, 0↑ 3↓)
|
Benchmarks: TPC-H SF=1 on NVMEVerdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.016x ➖, 4↑ 6↓)
datafusion / vortex-compact (0.905x ➖, 10↑ 1↓)
datafusion / parquet (1.033x ➖, 0↑ 3↓)
datafusion / arrow (1.067x ➖, 1↑ 10↓)
duckdb / vortex-file-compressed (0.980x ➖, 3↑ 0↓)
duckdb / vortex-compact (1.011x ➖, 0↑ 3↓)
duckdb / parquet (0.976x ➖, 6↑ 2↓)
duckdb / duckdb (0.988x ➖, 5↑ 2↓)
Full attributed analysis
|
Benchmarks: FineWeb NVMeVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.051x ➖, 0↑ 3↓)
datafusion / vortex-compact (1.007x ➖, 1↑ 1↓)
datafusion / parquet (1.025x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (0.998x ➖, 1↑ 0↓)
duckdb / vortex-compact (1.003x ➖, 1↑ 0↓)
duckdb / parquet (1.026x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: TPC-DS SF=1 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (1.022x ➖, 6↑ 16↓)
datafusion / vortex-compact (0.998x ➖, 0↑ 0↓)
datafusion / parquet (0.943x ➖, 18↑ 1↓)
duckdb / vortex-file-compressed (1.111x ❌, 0↑ 59↓)
duckdb / vortex-compact (1.092x ➖, 0↑ 46↓)
duckdb / parquet (1.067x ➖, 1↑ 23↓)
duckdb / duckdb (1.083x ➖, 0↑ 34↓)
Full attributed analysis
|
Benchmarks: TPC-H SF=10 on NVMEVerdict: No clear signal (low confidence) datafusion / vortex-file-compressed (0.981x ➖, 0↑ 0↓)
datafusion / vortex-compact (0.979x ➖, 0↑ 0↓)
datafusion / parquet (0.940x ➖, 6↑ 0↓)
datafusion / arrow (0.961x ➖, 1↑ 0↓)
duckdb / vortex-file-compressed (0.973x ➖, 0↑ 0↓)
duckdb / vortex-compact (0.986x ➖, 0↑ 0↓)
duckdb / parquet (0.977x ➖, 2↑ 0↓)
duckdb / duckdb (0.950x ➖, 1↑ 0↓)
Full attributed analysis
|
Benchmarks: TPC-H SF=1 on S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.076x ➖, 0↑ 4↓)
datafusion / vortex-compact (1.059x ➖, 0↑ 0↓)
datafusion / parquet (1.306x ❌, 0↑ 11↓)
duckdb / vortex-file-compressed (1.084x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.088x ➖, 0↑ 0↓)
duckdb / parquet (1.081x ➖, 0↑ 1↓)
Full attributed analysis
|
Benchmarks: FineWeb S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.106x ➖, 0↑ 2↓)
datafusion / vortex-compact (1.044x ➖, 1↑ 1↓)
datafusion / parquet (1.084x ➖, 0↑ 0↓)
duckdb / vortex-file-compressed (1.069x ➖, 0↑ 1↓)
duckdb / vortex-compact (0.993x ➖, 0↑ 0↓)
duckdb / parquet (1.074x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: Statistical and Population GeneticsVerdict: No clear signal (low confidence) duckdb / vortex-file-compressed (1.062x ➖, 0↑ 1↓)
duckdb / vortex-compact (1.017x ➖, 0↑ 0↓)
duckdb / parquet (1.014x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: TPC-H SF=10 on S3Verdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.075x ➖, 0↑ 1↓)
datafusion / vortex-compact (1.033x ➖, 0↑ 0↓)
datafusion / parquet (1.137x ➖, 0↑ 3↓)
duckdb / vortex-file-compressed (1.088x ➖, 0↑ 0↓)
duckdb / vortex-compact (1.079x ➖, 0↑ 1↓)
duckdb / parquet (1.135x ➖, 0↑ 0↓)
Full attributed analysis
|
Benchmarks: Clickbench on NVMEVerdict: No clear signal (environment too noisy confidence) datafusion / vortex-file-compressed (1.285x ❌, 0↑ 40↓)
datafusion / parquet (1.219x ❌, 0↑ 40↓)
duckdb / vortex-file-compressed (1.208x ❌, 0↑ 40↓)
duckdb / parquet (1.159x ❌, 0↑ 38↓)
duckdb / duckdb (1.111x ❌, 0↑ 27↓)
Full attributed analysis
|
Benchmarks: Random AccessVortex (geomean): 0.955x ➖ unknown / unknown (1.033x ➖, 9↑ 13↓)
|
|
Ah we don't have any python-side benchmarks :| |
Benchmarks: CompressionVortex (geomean): 1.005x ➖ unknown / unknown (0.989x ➖, 5↑ 3↓)
|
Summary
Was reading the arrow-rs changelog and I ran into this PR, seems like
PyOnceLockwas built for this and they have some very promising benchmarks there.I've also wrapped all static strings that are passed into
pyo3with theinternmacro, which prevents allocating a newPyStringon every call.