Skip to content

zero copy validity export to duckdb#7371

Open
joseph-isaacs wants to merge 5 commits intodevelopfrom
ji/zero-copy-vlaidty-export
Open

zero copy validity export to duckdb#7371
joseph-isaacs wants to merge 5 commits intodevelopfrom
ji/zero-copy-vlaidty-export

Conversation

@joseph-isaacs
Copy link
Copy Markdown
Contributor

Summary

Closes: #000

Testing

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs added the action/benchmark Trigger full benchmarks to run on this PR label Apr 9, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Apr 9, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done f4bfcff 1 Explore Profiling Data
Previous Runs (2)
Status Commit Job Attempt Link
🟢 Done e8a0d9f 1 Explore Profiling Data
🟢 Done f0785b4 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: PolarSignals Profiling

Vortex (geomean): 1.005x ➖


datafusion / vortex-file-compressed (1.005x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
polarsignals_q00/datafusion:vortex-file-compressed 118162560 121284441 0.97
polarsignals_q01/datafusion:vortex-file-compressed 356421910 372413277 0.96
polarsignals_q02/datafusion:vortex-file-compressed 23376351 23066055 1.01
polarsignals_q03/datafusion:vortex-file-compressed 363433553 358473658 1.01
polarsignals_q04/datafusion:vortex-file-compressed 10625346 10472865 1.01
polarsignals_q05/datafusion:vortex-file-compressed 15098567 15083456 1.00
polarsignals_q06/datafusion:vortex-file-compressed 18265631 17565936 1.04
polarsignals_q07/datafusion:vortex-file-compressed 12812053 12811924 1.00
polarsignals_q08/datafusion:vortex-file-compressed 438408302 436766509 1.00
polarsignals_q09/datafusion:vortex-file-compressed 10457958 10111423 1.03

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

File Sizes: PolarSignals Profiling

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: FineWeb NVMe

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +1.5%
Vortex (geomean): 1.006x ➖
Parquet (geomean): 0.991x ➖
Shifts: Parquet (control) -0.9% · Median polish -0.2%


datafusion / vortex-file-compressed (1.026x ➖, 0↑ 2↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 🚨 4190622 3732070 1.12
fineweb_q01/datafusion:vortex-file-compressed 21612224 22936403 0.94
fineweb_q02/datafusion:vortex-file-compressed 23745578 23920071 0.99
fineweb_q03/datafusion:vortex-file-compressed 🚨 89325828 78502587 1.14
fineweb_q04/datafusion:vortex-file-compressed 237056356 230335221 1.03
fineweb_q05/datafusion:vortex-file-compressed 216203525 219568151 0.98
fineweb_q06/datafusion:vortex-file-compressed 54751662 52974277 1.03
fineweb_q07/datafusion:vortex-file-compressed 59766510 59912781 1.00
fineweb_q08/datafusion:vortex-file-compressed 21904785 21748906 1.01
datafusion / vortex-compact (1.002x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 5058885 4923316 1.03
fineweb_q01/datafusion:vortex-compact 160493387 162281267 0.99
fineweb_q02/datafusion:vortex-compact 163330514 165907887 0.98
fineweb_q03/datafusion:vortex-compact 1497985861 1510407118 0.99
fineweb_q04/datafusion:vortex-compact 1624285913 1625027039 1.00
fineweb_q05/datafusion:vortex-compact 1261205582 1274145598 0.99
fineweb_q06/datafusion:vortex-compact 694604488 719276095 0.97
fineweb_q07/datafusion:vortex-compact 744325959 746674488 1.00
fineweb_q08/datafusion:vortex-compact 21002308 19568578 1.07
datafusion / parquet (0.984x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 6799023 6662355 1.02
fineweb_q01/datafusion:parquet 286603234 294945230 0.97
fineweb_q02/datafusion:parquet 291267939 300715493 0.97
fineweb_q03/datafusion:parquet 294558608 284649049 1.03
fineweb_q04/datafusion:parquet 297443872 300946294 0.99
fineweb_q05/datafusion:parquet 297751955 306426377 0.97
fineweb_q06/datafusion:parquet 287941977 301862463 0.95
fineweb_q07/datafusion:parquet 279469352 285917101 0.98
fineweb_q08/datafusion:parquet 279511331 288415682 0.97
duckdb / vortex-file-compressed (1.009x ➖, 0↑ 1↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 3621227 3529919 1.03
fineweb_q01/duckdb:vortex-file-compressed 23069714 23245868 0.99
fineweb_q02/duckdb:vortex-file-compressed 23392463 24096233 0.97
fineweb_q03/duckdb:vortex-file-compressed 🚨 129598380 116577141 1.11
fineweb_q04/duckdb:vortex-file-compressed 221606643 219710810 1.01
fineweb_q05/duckdb:vortex-file-compressed 211955802 217478133 0.97
fineweb_q06/duckdb:vortex-file-compressed 53242498 53190260 1.00
fineweb_q07/duckdb:vortex-file-compressed 58726070 55267987 1.06
fineweb_q08/duckdb:vortex-file-compressed 22975962 24421430 0.94
duckdb / vortex-compact (0.989x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 4153124 4184521 0.99
fineweb_q01/duckdb:vortex-compact 102645659 108681052 0.94
fineweb_q02/duckdb:vortex-compact 113036860 108814383 1.04
fineweb_q03/duckdb:vortex-compact 857298192 867673273 0.99
fineweb_q04/duckdb:vortex-compact 919612357 913204270 1.01
fineweb_q05/duckdb:vortex-compact 814233670 828256265 0.98
fineweb_q06/duckdb:vortex-compact 469467596 468664843 1.00
fineweb_q07/duckdb:vortex-compact 479106355 481566944 0.99
fineweb_q08/duckdb:vortex-compact 19400174 20425624 0.95
duckdb / parquet (0.998x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 31518928 31748655 0.99
fineweb_q01/duckdb:parquet 85456445 85568294 1.00
fineweb_q02/duckdb:parquet 87637111 88211918 0.99
fineweb_q03/duckdb:parquet 313550330 315940831 0.99
fineweb_q04/duckdb:parquet 444381837 442604492 1.00
fineweb_q05/duckdb:parquet 415550442 417131956 1.00
fineweb_q06/duckdb:parquet 202386250 202675121 1.00
fineweb_q07/duckdb:parquet 212595177 212362578 1.00
fineweb_q08/duckdb:parquet 35879070 35711991 1.00
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-compact +2.8% +0.7% +2.1% +75.7% ➖ noise
0 datafusion:vortex-file-compressed +12.3% +0.7% +11.6% +52.4% ➖ noise
0 duckdb:vortex-compact -0.8% +0.7% -1.4% +49.0% ➖ noise
0 duckdb:vortex-file-compressed +2.6% +0.7% +1.9% +82.2% ➖ noise
1 datafusion:vortex-compact -1.1% -1.5% +0.4% +10.0% ➖ noise
1 datafusion:vortex-file-compressed -5.8% -1.5% -4.3% +28.0% ➖ noise
1 duckdb:vortex-compact -5.6% -1.5% -4.1% +19.2% ➖ noise
1 duckdb:vortex-file-compressed -0.8% -1.5% +0.7% +69.5% ➖ noise
2 datafusion:vortex-compact -1.6% -1.9% +0.4% +10.0% ➖ noise
2 datafusion:vortex-file-compressed -0.7% -1.9% +1.2% +17.9% ➖ noise
2 duckdb:vortex-compact +3.9% -1.9% +5.9% +14.7% ➖ noise
2 duckdb:vortex-file-compressed -2.9% -1.9% -1.0% +10.0% ➖ noise
3 datafusion:vortex-compact -0.8% +1.3% -2.1% +10.0% ➖ noise
3 datafusion:vortex-file-compressed +13.8% +1.3% +12.3% +25.4% ➖ noise
3 duckdb:vortex-compact -1.2% +1.3% -2.5% +10.0% ➖ noise
3 duckdb:vortex-file-compressed +11.2% +1.3% +9.7% +33.4% ➖ noise
4 datafusion:vortex-compact -0.0% -0.4% +0.3% +10.0% ➖ noise
4 datafusion:vortex-file-compressed +2.9% -0.4% +3.3% +10.0% ➖ noise
4 duckdb:vortex-compact +0.7% -0.4% +1.1% +10.0% ➖ noise
4 duckdb:vortex-file-compressed +0.9% -0.4% +1.3% +10.0% ➖ noise
5 datafusion:vortex-compact -1.0% -1.6% +0.6% +10.0% ➖ noise
5 datafusion:vortex-file-compressed -1.5% -1.6% +0.1% +10.0% ➖ noise
5 duckdb:vortex-compact -1.7% -1.6% -0.1% +10.0% ➖ noise
5 duckdb:vortex-file-compressed -2.5% -1.6% -0.9% +10.0% ➖ noise
6 datafusion:vortex-compact -3.4% -2.4% -1.1% +10.0% ➖ noise
6 datafusion:vortex-file-compressed +3.4% -2.4% +5.9% +10.0% ➖ noise
6 duckdb:vortex-compact +0.2% -2.4% +2.6% +10.0% ➖ noise
6 duckdb:vortex-file-compressed +0.1% -2.4% +2.6% +10.0% ➖ noise
7 datafusion:vortex-compact -0.3% -1.1% +0.8% +10.0% ➖ noise
7 datafusion:vortex-file-compressed -0.2% -1.1% +0.8% +34.5% ➖ noise
7 duckdb:vortex-compact -0.5% -1.1% +0.6% +10.0% ➖ noise
7 duckdb:vortex-file-compressed +6.3% -1.1% +7.4% +11.9% ➖ noise
8 datafusion:vortex-compact +7.3% -1.3% +8.8% +46.6% ➖ noise
8 datafusion:vortex-file-compressed +0.7% -1.3% +2.1% +10.0% ➖ noise
8 duckdb:vortex-compact -5.0% -1.3% -3.7% +10.0% ➖ noise
8 duckdb:vortex-file-compressed -5.9% -1.3% -4.7% +64.7% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

File Sizes: FineWeb NVMe

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: TPC-H SF=1 on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +3.4%
Vortex (geomean): 1.060x ➖
Parquet (geomean): 1.025x ➖
Shifts: Parquet (control) +2.5% · Median polish +5.9%


datafusion / vortex-file-compressed (1.060x ➖, 0↑ 2↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 50407157 48443267 1.04
tpch_q02/datafusion:vortex-file-compressed 29364681 28717146 1.02
tpch_q03/datafusion:vortex-file-compressed 26559922 25229149 1.05
tpch_q04/datafusion:vortex-file-compressed 19499280 18484044 1.05
tpch_q05/datafusion:vortex-file-compressed 52722663 48033471 1.10
tpch_q06/datafusion:vortex-file-compressed 10880744 10245178 1.06
tpch_q07/datafusion:vortex-file-compressed 63284953 60176059 1.05
tpch_q08/datafusion:vortex-file-compressed 40897640 38996776 1.05
tpch_q09/datafusion:vortex-file-compressed 54870722 50479075 1.09
tpch_q10/datafusion:vortex-file-compressed 43893296 41292825 1.06
tpch_q11/datafusion:vortex-file-compressed 15647935 14604018 1.07
tpch_q12/datafusion:vortex-file-compressed 24045526 23597924 1.02
tpch_q13/datafusion:vortex-file-compressed 27469369 25506007 1.08
tpch_q14/datafusion:vortex-file-compressed 15805959 15542026 1.02
tpch_q15/datafusion:vortex-file-compressed 23189315 22113889 1.05
tpch_q16/datafusion:vortex-file-compressed 22912353 21145697 1.08
tpch_q17/datafusion:vortex-file-compressed 🚨 66010569 59959983 1.10
tpch_q18/datafusion:vortex-file-compressed 🚨 84632153 75715162 1.12
tpch_q19/datafusion:vortex-file-compressed 22343461 21597939 1.03
tpch_q20/datafusion:vortex-file-compressed 30309854 28479412 1.06
tpch_q21/datafusion:vortex-file-compressed 74333512 69460574 1.07
tpch_q22/datafusion:vortex-file-compressed 14113601 13618221 1.04
datafusion / vortex-compact (1.060x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 58259901 54776906 1.06
tpch_q02/datafusion:vortex-compact 33519063 31156371 1.08
tpch_q03/datafusion:vortex-compact 30265326 28711224 1.05
tpch_q04/datafusion:vortex-compact 23399723 22153127 1.06
tpch_q05/datafusion:vortex-compact 56549662 52360993 1.08
tpch_q06/datafusion:vortex-compact 14870970 13881578 1.07
tpch_q07/datafusion:vortex-compact 69691156 65072549 1.07
tpch_q08/datafusion:vortex-compact 47255969 44915582 1.05
tpch_q09/datafusion:vortex-compact 60667764 58247178 1.04
tpch_q10/datafusion:vortex-compact 52010556 48593530 1.07
tpch_q11/datafusion:vortex-compact 17858107 16564839 1.08
tpch_q12/datafusion:vortex-compact 34385025 33243339 1.03
tpch_q13/datafusion:vortex-compact 35743005 34085211 1.05
tpch_q14/datafusion:vortex-compact 20715798 20024097 1.03
tpch_q15/datafusion:vortex-compact 34245093 31723438 1.08
tpch_q16/datafusion:vortex-compact 26807793 24817292 1.08
tpch_q17/datafusion:vortex-compact 69084239 66613948 1.04
tpch_q18/datafusion:vortex-compact 88165386 81138629 1.09
tpch_q19/datafusion:vortex-compact 33233737 31814370 1.04
tpch_q20/datafusion:vortex-compact 37353801 35401305 1.06
tpch_q21/datafusion:vortex-compact 87014973 79372919 1.10
tpch_q22/datafusion:vortex-compact 15152220 14922522 1.02
datafusion / parquet (1.042x ➖, 0↑ 2↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 124825618 118228432 1.06
tpch_q02/datafusion:parquet 67811913 66177658 1.02
tpch_q03/datafusion:parquet 🚨 77243017 67040498 1.15
tpch_q04/datafusion:parquet 47110141 44741550 1.05
tpch_q05/datafusion:parquet 102023784 94782584 1.08
tpch_q06/datafusion:parquet 40016373 38335715 1.04
tpch_q07/datafusion:parquet 110325665 106768367 1.03
tpch_q08/datafusion:parquet 97357695 102657514 0.95
tpch_q09/datafusion:parquet 132390466 135316570 0.98
tpch_q10/datafusion:parquet 118165944 111480550 1.06
tpch_q11/datafusion:parquet 45262588 42061586 1.08
tpch_q12/datafusion:parquet 91974114 92152955 1.00
tpch_q13/datafusion:parquet 202635901 189449992 1.07
tpch_q14/datafusion:parquet 48218783 49023344 0.98
tpch_q15/datafusion:parquet 63891791 62532657 1.02
tpch_q16/datafusion:parquet 47370534 45302059 1.05
tpch_q17/datafusion:parquet 142754918 133974623 1.07
tpch_q18/datafusion:parquet 🚨 174401254 155655756 1.12
tpch_q19/datafusion:parquet 94271535 90126219 1.05
tpch_q20/datafusion:parquet 74350445 70556535 1.05
tpch_q21/datafusion:parquet 141890329 138212815 1.03
tpch_q22/datafusion:parquet 31749717 31215381 1.02
datafusion / arrow (1.081x ➖, 0↑ 6↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:arrow 54337049 51198611 1.06
tpch_q02/datafusion:arrow 18792097 19002692 0.99
tpch_q03/datafusion:arrow 🚨 32563644 29064974 1.12
tpch_q04/datafusion:arrow 🚨 27631696 24496859 1.13
tpch_q05/datafusion:arrow 🚨 84970744 72342028 1.17
tpch_q06/datafusion:arrow 🚨 23589721 19385153 1.22
tpch_q07/datafusion:arrow 105386536 98174461 1.07
tpch_q08/datafusion:arrow 🚨 47000834 40811780 1.15
tpch_q09/datafusion:arrow 67598222 63233809 1.07
tpch_q10/datafusion:arrow 50025335 49143205 1.02
tpch_q11/datafusion:arrow 9359312 8931200 1.05
tpch_q12/datafusion:arrow 55685206 51181416 1.09
tpch_q13/datafusion:arrow 48756782 47210410 1.03
tpch_q14/datafusion:arrow 23293136 21543866 1.08
tpch_q15/datafusion:arrow 46228321 42213282 1.10
tpch_q16/datafusion:arrow 19601683 18383395 1.07
tpch_q17/datafusion:arrow 🚨 76344085 67377616 1.13
tpch_q18/datafusion:arrow 145918065 135866402 1.07
tpch_q19/datafusion:arrow 38465994 36040756 1.07
tpch_q20/datafusion:arrow 36981734 33695027 1.10
tpch_q21/datafusion:arrow 151966134 154213099 0.99
tpch_q22/datafusion:arrow 18328992 17426758 1.05
duckdb / vortex-file-compressed (1.056x ➖, 0↑ 1↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 31782364 31436117 1.01
tpch_q02/duckdb:vortex-file-compressed 26836734 24532880 1.09
tpch_q03/duckdb:vortex-file-compressed 31689963 29869222 1.06
tpch_q04/duckdb:vortex-file-compressed 31769351 29066810 1.09
tpch_q05/duckdb:vortex-file-compressed 35002759 33493512 1.05
tpch_q06/duckdb:vortex-file-compressed 10628370 10741722 0.99
tpch_q07/duckdb:vortex-file-compressed 39838941 36315213 1.10
tpch_q08/duckdb:vortex-file-compressed 40098105 38687556 1.04
tpch_q09/duckdb:vortex-file-compressed 78602838 73916536 1.06
tpch_q10/duckdb:vortex-file-compressed 37226445 34613956 1.08
tpch_q11/duckdb:vortex-file-compressed 15637769 14944795 1.05
tpch_q12/duckdb:vortex-file-compressed 23159511 21998989 1.05
tpch_q13/duckdb:vortex-file-compressed 37152702 34627077 1.07
tpch_q14/duckdb:vortex-file-compressed 21959735 21861301 1.00
tpch_q15/duckdb:vortex-file-compressed 17279410 16583712 1.04
tpch_q16/duckdb:vortex-file-compressed 30294022 28320258 1.07
tpch_q17/duckdb:vortex-file-compressed 25414560 25087504 1.01
tpch_q18/duckdb:vortex-file-compressed 52747085 50872202 1.04
tpch_q19/duckdb:vortex-file-compressed 31989362 29713036 1.08
tpch_q20/duckdb:vortex-file-compressed 36584481 33689483 1.09
tpch_q21/duckdb:vortex-file-compressed 111972261 106702074 1.05
tpch_q22/duckdb:vortex-file-compressed 🚨 19679123 17498437 1.12
duckdb / vortex-compact (1.063x ➖, 0↑ 3↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 39463480 38658738 1.02
tpch_q02/duckdb:vortex-compact 🚨 39310421 35528557 1.11
tpch_q03/duckdb:vortex-compact 34396487 32368316 1.06
tpch_q04/duckdb:vortex-compact 36615897 33521219 1.09
tpch_q05/duckdb:vortex-compact 38760548 37495328 1.03
tpch_q06/duckdb:vortex-compact 15819910 15333874 1.03
tpch_q07/duckdb:vortex-compact 44081617 41924559 1.05
tpch_q08/duckdb:vortex-compact 47499304 45859820 1.04
tpch_q09/duckdb:vortex-compact 88995546 84043101 1.06
tpch_q10/duckdb:vortex-compact 41852930 40214524 1.04
tpch_q11/duckdb:vortex-compact 20577287 19287712 1.07
tpch_q12/duckdb:vortex-compact 36250982 35482480 1.02
tpch_q13/duckdb:vortex-compact 47036997 43779975 1.07
tpch_q14/duckdb:vortex-compact 31386212 29032289 1.08
tpch_q15/duckdb:vortex-compact 20752531 19487407 1.06
tpch_q16/duckdb:vortex-compact 36245341 34244552 1.06
tpch_q17/duckdb:vortex-compact 🚨 33417897 30255350 1.10
tpch_q18/duckdb:vortex-compact 52400224 50425917 1.04
tpch_q19/duckdb:vortex-compact 36514607 33977208 1.07
tpch_q20/duckdb:vortex-compact 45370369 42279692 1.07
tpch_q21/duckdb:vortex-compact 120009967 111422846 1.08
tpch_q22/duckdb:vortex-compact 🚨 21982413 19689546 1.12
duckdb / parquet (1.008x ➖, 1↑ 1↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 🚀 75710617 102187070 0.74
tpch_q02/duckdb:parquet 40317533 39343162 1.02
tpch_q03/duckdb:parquet 70180792 69519856 1.01
tpch_q04/duckdb:parquet 48171036 47029049 1.02
tpch_q05/duckdb:parquet 68504116 65835116 1.04
tpch_q06/duckdb:parquet 20739682 20438531 1.01
tpch_q07/duckdb:parquet 69450619 67304171 1.03
tpch_q08/duckdb:parquet 🚨 91967220 80116236 1.15
tpch_q09/duckdb:parquet 139073231 153999373 0.90
tpch_q10/duckdb:parquet 119406513 114397014 1.04
tpch_q11/duckdb:parquet 22614332 22278567 1.02
tpch_q12/duckdb:parquet 46553134 45208279 1.03
tpch_q13/duckdb:parquet 264921027 249042933 1.06
tpch_q14/duckdb:parquet 52438497 48829402 1.07
tpch_q15/duckdb:parquet 24650829 24090842 1.02
tpch_q16/duckdb:parquet 56814130 55315625 1.03
tpch_q17/duckdb:parquet 54374614 55614609 0.98
tpch_q18/duckdb:parquet 113168950 112412005 1.01
tpch_q19/duckdb:parquet 63737244 70135572 0.91
tpch_q20/duckdb:parquet 64280967 62594450 1.03
tpch_q21/duckdb:parquet 171104542 160639290 1.07
tpch_q22/duckdb:parquet 53160681 51217775 1.04
duckdb / duckdb (1.039x ➖, 0↑ 2↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 16422179 15860925 1.04
tpch_q02/duckdb:duckdb 12713687 13986703 0.91
tpch_q03/duckdb:duckdb 20553033 19249000 1.07
tpch_q04/duckdb:duckdb 20043607 18835212 1.06
tpch_q05/duckdb:duckdb 20640478 19860169 1.04
tpch_q06/duckdb:duckdb 5595118 5240091 1.07
tpch_q07/duckdb:duckdb 23863716 21778963 1.10
tpch_q08/duckdb:duckdb 21521485 23131918 0.93
tpch_q09/duckdb:duckdb 59001951 53704013 1.10
tpch_q10/duckdb:duckdb 44570315 44616564 1.00
tpch_q11/duckdb:duckdb 🚨 6304091 5689945 1.11
tpch_q12/duckdb:duckdb 14179842 13628872 1.04
tpch_q13/duckdb:duckdb 38139010 36782961 1.04
tpch_q14/duckdb:duckdb 18331667 18577372 0.99
tpch_q15/duckdb:duckdb 12551593 11807783 1.06
tpch_q16/duckdb:duckdb 24845986 24961879 1.00
tpch_q17/duckdb:duckdb 14656131 13624358 1.08
tpch_q18/duckdb:duckdb 40031398 39060083 1.02
tpch_q19/duckdb:duckdb 🚨 3006398 27095234 1.11
tpch_q20/duckdb:duckdb 23015387 22638989 1.02
tpch_q21/duckdb:duckdb 60838911 55669012 1.09
tpch_q22/duckdb:duckdb 25566697 24798572 1.03
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:arrow +6.1% -11.6% +20.0% +19.5% 🚨 regression
1 datafusion:vortex-compact +6.4% -11.6% +20.3% +18.6% 🚨 regression
1 datafusion:vortex-file-compressed +4.1% -11.6% +17.6% +18.2% ➖ noise
1 duckdb:duckdb +3.5% -11.6% +17.1% +17.5% ➖ noise
1 duckdb:vortex-compact +2.1% -11.6% +15.4% +17.1% ➖ noise
1 duckdb:vortex-file-compressed +1.1% -11.6% +14.3% +20.2% ➖ noise
2 datafusion:arrow -1.1% +2.5% -3.5% +12.0% ➖ noise
2 datafusion:vortex-compact +7.6% +2.5% +5.0% +12.0% ➖ noise
2 datafusion:vortex-file-compressed +2.3% +2.5% -0.2% +12.0% ➖ noise
2 duckdb:duckdb -9.1% +2.5% -11.3% +12.0% ✅ faster
2 duckdb:vortex-compact +10.6% +2.5% +8.0% +12.0% ➖ noise
2 duckdb:vortex-file-compressed +9.4% +2.5% +6.8% +12.0% ➖ noise
3 datafusion:arrow +12.0% +7.8% +3.9% +12.0% ➖ noise
3 datafusion:vortex-compact +5.4% +7.8% -2.3% +12.0% ➖ noise
3 datafusion:vortex-file-compressed +5.3% +7.8% -2.4% +12.0% ➖ noise
3 duckdb:duckdb +6.8% +7.8% -1.0% +12.1% ➖ noise
3 duckdb:vortex-compact +6.3% +7.8% -1.5% +12.3% ➖ noise
3 duckdb:vortex-file-compressed +6.1% +7.8% -1.6% +12.6% ➖ noise
4 datafusion:arrow +12.8% +3.9% +8.6% +12.0% ➖ noise
4 datafusion:vortex-compact +5.6% +3.9% +1.7% +12.0% ➖ noise
4 datafusion:vortex-file-compressed +5.5% +3.9% +1.6% +12.0% ➖ noise
4 duckdb:duckdb +6.4% +3.9% +2.5% +12.0% ➖ noise
4 duckdb:vortex-compact +9.2% +3.9% +5.2% +12.0% ➖ noise
4 duckdb:vortex-file-compressed +9.3% +3.9% +5.2% +12.0% ➖ noise
5 datafusion:arrow +17.5% +5.8% +11.0% +12.0% ➖ noise
5 datafusion:vortex-compact +8.0% +5.8% +2.0% +12.0% ➖ noise
5 datafusion:vortex-file-compressed +9.8% +5.8% +3.7% +12.0% ➖ noise
5 duckdb:duckdb +3.9% +5.8% -1.8% +12.0% ➖ noise
5 duckdb:vortex-compact +3.4% +5.8% -2.3% +12.0% ➖ noise
5 duckdb:vortex-file-compressed +4.5% +5.8% -1.3% +12.0% ➖ noise
6 datafusion:arrow +21.7% +2.9% +18.2% +16.2% 🚨 regression
6 datafusion:vortex-compact +7.1% +2.9% +4.1% +16.6% ➖ noise
6 datafusion:vortex-file-compressed +6.2% +2.9% +3.2% +17.3% ➖ noise
6 duckdb:duckdb +6.8% +2.9% +3.7% +18.1% ➖ noise
6 duckdb:vortex-compact +3.2% +2.9% +0.2% +19.5% ➖ noise
6 duckdb:vortex-file-compressed -1.1% +2.9% -3.9% +16.6% ➖ noise
7 datafusion:arrow +7.3% +3.3% +4.0% +12.7% ➖ noise
7 datafusion:vortex-compact +7.1% +3.3% +3.7% +12.0% ➖ noise
7 datafusion:vortex-file-compressed +5.2% +3.3% +1.8% +12.0% ➖ noise
7 duckdb:duckdb +9.6% +3.3% +6.1% +12.0% ➖ noise
7 duckdb:vortex-compact +5.1% +3.3% +1.8% +12.0% ➖ noise
7 duckdb:vortex-file-compressed +9.7% +3.3% +6.2% +12.0% ➖ noise
8 datafusion:arrow +15.2% +4.3% +10.4% +12.0% ➖ noise
8 datafusion:vortex-compact +5.2% +4.3% +0.8% +12.0% ➖ noise
8 datafusion:vortex-file-compressed +4.9% +4.3% +0.5% +12.0% ➖ noise
8 duckdb:duckdb -7.0% +4.3% -10.8% +12.0% ✅ faster
8 duckdb:vortex-compact +3.6% +4.3% -0.7% +12.0% ➖ noise
8 duckdb:vortex-file-compressed +3.6% +4.3% -0.7% +12.0% ➖ noise
9 datafusion:arrow +6.9% -6.0% +13.7% +12.0% 🚨 regression
9 datafusion:vortex-compact +4.2% -6.0% +10.8% +12.0% ➖ noise
9 datafusion:vortex-file-compressed +8.7% -6.0% +15.6% +12.0% 🚨 regression
9 duckdb:duckdb +9.9% -6.0% +16.9% +12.0% 🚨 regression
9 duckdb:vortex-compact +5.9% -6.0% +12.7% +12.0% 🚨 regression
9 duckdb:vortex-file-compressed +6.3% -6.0% +13.1% +12.0% 🚨 regression
10 datafusion:arrow +1.8% +5.2% -3.2% +12.0% ➖ noise
10 datafusion:vortex-compact +7.0% +5.2% +1.8% +12.0% ➖ noise
10 datafusion:vortex-file-compressed +6.3% +5.2% +1.1% +12.0% ➖ noise
10 duckdb:duckdb -0.1% +5.2% -5.0% +12.0% ➖ noise
10 duckdb:vortex-compact +4.1% +5.2% -1.1% +12.0% ➖ noise
10 duckdb:vortex-file-compressed +7.5% +5.2% +2.2% +12.0% ➖ noise
11 datafusion:arrow +4.8% +4.5% +0.3% +12.0% ➖ noise
11 datafusion:vortex-compact +7.8% +4.5% +3.2% +12.0% ➖ noise
11 datafusion:vortex-file-compressed +7.1% +4.5% +2.5% +12.0% ➖ noise
11 duckdb:duckdb +10.8% +4.5% +6.0% +12.0% ➖ noise
11 duckdb:vortex-compact +6.7% +4.5% +2.1% +12.0% ➖ noise
11 duckdb:vortex-file-compressed +4.6% +4.5% +0.1% +12.0% ➖ noise
12 datafusion:arrow +8.8% +1.4% +7.3% +17.8% ➖ noise
12 datafusion:vortex-compact +3.4% +1.4% +2.0% +12.0% ➖ noise
12 datafusion:vortex-file-compressed +1.9% +1.4% +0.5% +12.0% ➖ noise
12 duckdb:duckdb +4.0% +1.4% +2.6% +12.0% ➖ noise
12 duckdb:vortex-compact +2.2% +1.4% +0.8% +12.0% ➖ noise
12 duckdb:vortex-file-compressed +5.3% +1.4% +3.8% +12.0% ➖ noise
13 datafusion:arrow +3.3% +6.7% -3.2% +12.0% ➖ noise
13 datafusion:vortex-compact +4.9% +6.7% -1.7% +12.0% ➖ noise
13 datafusion:vortex-file-compressed +7.7% +6.7% +1.0% +12.0% ➖ noise
13 duckdb:duckdb +3.7% +6.7% -2.8% +12.0% ➖ noise
13 duckdb:vortex-compact +7.4% +6.7% +0.7% +12.0% ➖ noise
13 duckdb:vortex-file-compressed +7.3% +6.7% +0.6% +12.0% ➖ noise
14 datafusion:arrow +8.1% +2.8% +5.2% +12.0% ➖ noise
14 datafusion:vortex-compact +3.5% +2.8% +0.7% +12.0% ➖ noise
14 datafusion:vortex-file-compressed +1.7% +2.8% -1.0% +12.0% ➖ noise
14 duckdb:duckdb -1.3% +2.8% -4.0% +16.2% ➖ noise
14 duckdb:vortex-compact +8.1% +2.8% +5.2% +12.0% ➖ noise
14 duckdb:vortex-file-compressed +0.5% +2.8% -2.3% +13.6% ➖ noise
15 datafusion:arrow +9.5% +2.2% +7.1% +12.0% ➖ noise
15 datafusion:vortex-compact +7.9% +2.2% +5.6% +12.7% ➖ noise
15 datafusion:vortex-file-compressed +4.9% +2.2% +2.6% +13.3% ➖ noise
15 duckdb:duckdb +6.3% +2.2% +4.0% +13.6% ➖ noise
15 duckdb:vortex-compact +6.5% +2.2% +4.1% +14.9% ➖ noise
15 duckdb:vortex-file-compressed +4.2% +2.2% +1.9% +14.8% ➖ noise
16 datafusion:arrow +6.6% +3.6% +2.9% +12.0% ➖ noise
16 datafusion:vortex-compact +8.0% +3.6% +4.2% +12.0% ➖ noise
16 datafusion:vortex-file-compressed +8.4% +3.6% +4.6% +12.0% ➖ noise
16 duckdb:duckdb -0.5% +3.6% -4.0% +12.0% ➖ noise
16 duckdb:vortex-compact +5.8% +3.6% +2.1% +12.0% ➖ noise
16 duckdb:vortex-file-compressed +7.0% +3.6% +3.2% +12.0% ➖ noise
17 datafusion:arrow +13.3% +2.1% +11.0% +12.0% ➖ noise
17 datafusion:vortex-compact +3.7% +2.1% +1.6% +12.0% ➖ noise
17 datafusion:vortex-file-compressed +10.1% +2.1% +7.9% +12.0% ➖ noise
17 duckdb:duckdb +7.6% +2.1% +5.4% +12.0% ➖ noise
17 duckdb:vortex-compact +10.5% +2.1% +8.2% +12.0% ➖ noise
17 duckdb:vortex-file-compressed +1.3% +2.1% -0.7% +12.0% ➖ noise
18 datafusion:arrow +7.4% +6.2% +1.1% +12.0% ➖ noise
18 datafusion:vortex-compact +8.7% +6.2% +2.3% +12.0% ➖ noise
18 datafusion:vortex-file-compressed +11.8% +6.2% +5.2% +12.0% ➖ noise
18 duckdb:duckdb +2.5% +6.2% -3.5% +12.0% ➖ noise
18 duckdb:vortex-compact +3.9% +6.2% -2.2% +12.0% ➖ noise
18 duckdb:vortex-file-compressed +3.7% +6.2% -2.4% +12.0% ➖ noise
19 datafusion:arrow +6.7% -2.5% +9.5% +18.0% ➖ noise
19 datafusion:vortex-compact +4.5% -2.5% +7.1% +14.2% ➖ noise
19 datafusion:vortex-file-compressed +3.5% -2.5% +6.1% +13.6% ➖ noise
19 duckdb:duckdb +11.0% -2.5% +13.8% +15.8% ➖ noise
19 duckdb:vortex-compact +7.5% -2.5% +10.2% +16.4% ➖ noise
19 duckdb:vortex-file-compressed +7.7% -2.5% +10.4% +13.7% ➖ noise
20 datafusion:arrow +9.8% +4.0% +5.5% +12.0% ➖ noise
20 datafusion:vortex-compact +5.5% +4.0% +1.4% +12.0% ➖ noise
20 datafusion:vortex-file-compressed +6.4% +4.0% +2.3% +12.0% ➖ noise
20 duckdb:duckdb +1.7% +4.0% -2.3% +12.0% ➖ noise
20 duckdb:vortex-compact +7.3% +4.0% +3.2% +12.0% ➖ noise
20 duckdb:vortex-file-compressed +8.6% +4.0% +4.4% +12.0% ➖ noise
21 datafusion:arrow -1.5% +4.6% -5.8% +12.0% ➖ noise
21 datafusion:vortex-compact +9.6% +4.6% +4.8% +12.0% ➖ noise
21 datafusion:vortex-file-compressed +7.0% +4.6% +2.3% +12.0% ➖ noise
21 duckdb:duckdb +9.3% +4.6% +4.5% +12.0% ➖ noise
21 duckdb:vortex-compact +7.7% +4.6% +3.0% +12.0% ➖ noise
21 duckdb:vortex-file-compressed +4.9% +4.6% +0.4% +12.0% ➖ noise
22 datafusion:arrow +5.2% +2.7% +2.4% +12.0% ➖ noise
22 datafusion:vortex-compact +1.5% +2.7% -1.2% +12.0% ➖ noise
22 datafusion:vortex-file-compressed +3.6% +2.7% +0.9% +12.0% ➖ noise
22 duckdb:duckdb +3.1% +2.7% +0.3% +12.0% ➖ noise
22 duckdb:vortex-compact +11.6% +2.7% +8.7% +12.0% ➖ noise
22 duckdb:vortex-file-compressed +12.5% +2.7% +9.5% +12.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

File Sizes: TPC-H SF=1 on NVME

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

🚨🚨🚨❌❌❌ SQL BENCHMARK FAILED ❌❌❌🚨🚨🚨

Benchmark TPC-DS SF=1 on NVME failed! Check the workflow run for details.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

File Sizes: TPC-DS SF=1 on NVME

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: TPC-H SF=1 on S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +5.9%
Vortex (geomean): 1.119x ➖
Parquet (geomean): 1.057x ➖
Shifts: Parquet (control) +5.7% · Median polish +8.6%


datafusion / vortex-file-compressed (1.199x ➖, 0↑ 8↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 202537325 237443922 0.85
tpch_q02/datafusion:vortex-file-compressed 479174323 456290581 1.05
tpch_q03/datafusion:vortex-file-compressed 🚨 503442046 366419930 1.37
tpch_q04/datafusion:vortex-file-compressed 216215131 225232872 0.96
tpch_q05/datafusion:vortex-file-compressed 404365280 424339941 0.95
tpch_q06/datafusion:vortex-file-compressed 279581230 278024599 1.01
tpch_q07/datafusion:vortex-file-compressed 426387528 387483376 1.10
tpch_q08/datafusion:vortex-file-compressed 543607162 595467258 0.91
tpch_q09/datafusion:vortex-file-compressed 479228565 377444425 1.27
tpch_q10/datafusion:vortex-file-compressed 🚨 615240663 418494261 1.47
tpch_q11/datafusion:vortex-file-compressed 🚨 515652563 325676031 1.58
tpch_q12/datafusion:vortex-file-compressed 🚨 533613496 318510100 1.68
tpch_q13/datafusion:vortex-file-compressed 184276761 143412902 1.28
tpch_q14/datafusion:vortex-file-compressed 🚨 259922018 190175226 1.37
tpch_q15/datafusion:vortex-file-compressed 🚨 488366420 312188845 1.56
tpch_q16/datafusion:vortex-file-compressed 🚨 252273777 182303317 1.38
tpch_q17/datafusion:vortex-file-compressed 🚨 448769429 322589286 1.39
tpch_q18/datafusion:vortex-file-compressed 382091580 304998552 1.25
tpch_q19/datafusion:vortex-file-compressed 425702489 409612840 1.04
tpch_q20/datafusion:vortex-file-compressed 393406841 350698130 1.12
tpch_q21/datafusion:vortex-file-compressed 530840962 449072827 1.18
tpch_q22/datafusion:vortex-file-compressed 153957220 144755083 1.06
datafusion / vortex-compact (1.145x ➖, 0↑ 5↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 🚨 352234225 256377151 1.37
tpch_q02/datafusion:vortex-compact 526643977 429140423 1.23
tpch_q03/datafusion:vortex-compact 380813859 373187739 1.02
tpch_q04/datafusion:vortex-compact 🚨 317609928 222292277 1.43
tpch_q05/datafusion:vortex-compact 🚨 469814649 351546532 1.34
tpch_q06/datafusion:vortex-compact 366966565 339005645 1.08
tpch_q07/datafusion:vortex-compact 🚨 505760750 361659631 1.40
tpch_q08/datafusion:vortex-compact 638203288 547691116 1.17
tpch_q09/datafusion:vortex-compact 🚨 509821857 382590423 1.33
tpch_q10/datafusion:vortex-compact 615623102 504384803 1.22
tpch_q11/datafusion:vortex-compact 341970542 277691200 1.23
tpch_q12/datafusion:vortex-compact 453248197 481982329 0.94
tpch_q13/datafusion:vortex-compact 115475093 136473993 0.85
tpch_q14/datafusion:vortex-compact 308697557 306037185 1.01
tpch_q15/datafusion:vortex-compact 556562251 503535613 1.11
tpch_q16/datafusion:vortex-compact 211785867 186387876 1.14
tpch_q17/datafusion:vortex-compact 397265144 387872280 1.02
tpch_q18/datafusion:vortex-compact 314920500 298723281 1.05
tpch_q19/datafusion:vortex-compact 522185525 475180474 1.10
tpch_q20/datafusion:vortex-compact 520167632 470174847 1.11
tpch_q21/datafusion:vortex-compact 617452404 548908163 1.12
tpch_q22/datafusion:vortex-compact 179390615 157231886 1.14
datafusion / parquet (1.033x ➖, 1↑ 4↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 🚨 249653249 189313330 1.32
tpch_q02/datafusion:parquet 🚨 554187400 419181362 1.32
tpch_q03/datafusion:parquet 410703751 366089409 1.12
tpch_q04/datafusion:parquet 186047354 171610725 1.08
tpch_q05/datafusion:parquet 523238398 532844255 0.98
tpch_q06/datafusion:parquet 159855020 145089053 1.10
tpch_q07/datafusion:parquet 521229753 555810451 0.94
tpch_q08/datafusion:parquet 586033051 621764815 0.94
tpch_q09/datafusion:parquet 493649361 491784930 1.00
tpch_q10/datafusion:parquet 580508874 585832153 0.99
tpch_q11/datafusion:parquet 397575107 345192812 1.15
tpch_q12/datafusion:parquet 🚀 244891066 367119287 0.67
tpch_q13/datafusion:parquet 434053970 498768596 0.87
tpch_q14/datafusion:parquet 222280979 242246231 0.92
tpch_q15/datafusion:parquet 381555878 443491489 0.86
tpch_q16/datafusion:parquet 222658074 196267650 1.13
tpch_q17/datafusion:parquet 482341261 608869665 0.79
tpch_q18/datafusion:parquet 465999035 437348306 1.07
tpch_q19/datafusion:parquet 🚨 434447900 329159172 1.32
tpch_q20/datafusion:parquet 🚨 510964457 333936981 1.53
tpch_q21/datafusion:parquet 655986167 542741650 1.21
tpch_q22/datafusion:parquet 124288262 151909004 0.82
duckdb / vortex-file-compressed (1.044x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 316289357 305764279 1.03
tpch_q02/duckdb:vortex-file-compressed 1036421315 857631816 1.21
tpch_q03/duckdb:vortex-file-compressed 679864879 667852247 1.02
tpch_q04/duckdb:vortex-file-compressed 391913920 392075297 1.00
tpch_q05/duckdb:vortex-file-compressed 890871256 899525478 0.99
tpch_q06/duckdb:vortex-file-compressed 450160104 371198826 1.21
tpch_q07/duckdb:vortex-file-compressed 800533710 775128475 1.03
tpch_q08/duckdb:vortex-file-compressed 1069204325 986464480 1.08
tpch_q09/duckdb:vortex-file-compressed 844207208 857794102 0.98
tpch_q10/duckdb:vortex-file-compressed 749831522 766441424 0.98
tpch_q11/duckdb:vortex-file-compressed 454825930 451301440 1.01
tpch_q12/duckdb:vortex-file-compressed 435658828 443551824 0.98
tpch_q13/duckdb:vortex-file-compressed 473674448 447854105 1.06
tpch_q14/duckdb:vortex-file-compressed 496393944 551280129 0.90
tpch_q15/duckdb:vortex-file-compressed 270396944 276425244 0.98
tpch_q16/duckdb:vortex-file-compressed 392755944 373682810 1.05
tpch_q17/duckdb:vortex-file-compressed 803928222 713967780 1.13
tpch_q18/duckdb:vortex-file-compressed 623863635 496544069 1.26
tpch_q19/duckdb:vortex-file-compressed 461243526 454341797 1.02
tpch_q20/duckdb:vortex-file-compressed 838985845 827865979 1.01
tpch_q21/duckdb:vortex-file-compressed 1052019510 1008595413 1.04
tpch_q22/duckdb:vortex-file-compressed 379692427 359041077 1.06
duckdb / vortex-compact (1.095x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 291192941 273063832 1.07
tpch_q02/duckdb:vortex-compact 958937396 911108035 1.05
tpch_q03/duckdb:vortex-compact 687798737 637208393 1.08
tpch_q04/duckdb:vortex-compact 396446453 338434050 1.17
tpch_q05/duckdb:vortex-compact 906502693 881315006 1.03
tpch_q06/duckdb:vortex-compact 476483597 382330716 1.25
tpch_q07/duckdb:vortex-compact 861174976 722798762 1.19
tpch_q08/duckdb:vortex-compact 941850677 929264779 1.01
tpch_q09/duckdb:vortex-compact 981921055 884596026 1.11
tpch_q10/duckdb:vortex-compact 795669746 663639611 1.20
tpch_q11/duckdb:vortex-compact 477978677 419516268 1.14
tpch_q12/duckdb:vortex-compact 491397557 486523096 1.01
tpch_q13/duckdb:vortex-compact 509640119 444139200 1.15
tpch_q14/duckdb:vortex-compact 491538046 461209995 1.07
tpch_q15/duckdb:vortex-compact 316360457 297258215 1.06
tpch_q16/duckdb:vortex-compact 389579976 384396187 1.01
tpch_q17/duckdb:vortex-compact 705364273 621179452 1.14
tpch_q18/duckdb:vortex-compact 527764526 478519942 1.10
tpch_q19/duckdb:vortex-compact 463143858 412938561 1.12
tpch_q20/duckdb:vortex-compact 779675145 735184285 1.06
tpch_q21/duckdb:vortex-compact 1159910451 1056909228 1.10
tpch_q22/duckdb:vortex-compact 358759122 353417444 1.02
duckdb / parquet (1.083x ➖, 0↑ 2↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 496035089 459617625 1.08
tpch_q02/duckdb:parquet 1225033189 1189718255 1.03
tpch_q03/duckdb:parquet 982025670 959469211 1.02
tpch_q04/duckdb:parquet 🚨 735507680 564763688 1.30
tpch_q05/duckdb:parquet 1453777552 1380950081 1.05
tpch_q06/duckdb:parquet 410734561 402717479 1.02
tpch_q07/duckdb:parquet 1294706432 1267956954 1.02
tpch_q08/duckdb:parquet 1725968077 1625417272 1.06
tpch_q09/duckdb:parquet 1412291003 1341753398 1.05
tpch_q10/duckdb:parquet 1313307485 1240696368 1.06
tpch_q11/duckdb:parquet 812110822 833436672 0.97
tpch_q12/duckdb:parquet 775781831 677255847 1.15
tpch_q13/duckdb:parquet 856289879 874571162 0.98
tpch_q14/duckdb:parquet 726476975 604635362 1.20
tpch_q15/duckdb:parquet 517628571 505723906 1.02
tpch_q16/duckdb:parquet 🚨 696356266 514774010 1.35
tpch_q17/duckdb:parquet 767563340 690271340 1.11
tpch_q18/duckdb:parquet 933377855 811511008 1.15
tpch_q19/duckdb:parquet 805497206 706540809 1.14
tpch_q20/duckdb:parquet 1127010848 1003629107 1.12
tpch_q21/duckdb:parquet 1084232248 1085014234 1.00
tpch_q22/duckdb:parquet 549444444 547595395 1.00
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-compact +37.4% +19.3% +15.2% +59.9% ➖ noise
1 datafusion:vortex-file-compressed -14.7% +19.3% -28.5% +78.8% ➖ noise
1 duckdb:vortex-compact +6.6% +19.3% -10.6% +55.1% ➖ noise
1 duckdb:vortex-file-compressed +3.4% +19.3% -13.3% +34.7% ➖ noise
2 datafusion:vortex-compact +22.7% +16.7% +5.2% +32.8% ➖ noise
2 datafusion:vortex-file-compressed +5.0% +16.7% -10.0% +34.1% ➖ noise
2 duckdb:vortex-compact +5.2% +16.7% -9.8% +32.8% ➖ noise
2 duckdb:vortex-file-compressed +20.8% +16.7% +3.6% +32.8% ➖ noise
3 datafusion:vortex-compact +2.0% +7.2% -4.8% +47.8% ➖ noise
3 datafusion:vortex-file-compressed +37.4% +7.2% +28.2% +62.2% ➖ noise
3 duckdb:vortex-compact +7.9% +7.2% +0.7% +32.8% ➖ noise
3 duckdb:vortex-file-compressed +1.8% +7.2% -5.0% +34.9% ➖ noise
4 datafusion:vortex-compact +42.9% +18.8% +20.2% +39.1% ➖ noise
4 datafusion:vortex-file-compressed -4.0% +18.8% -19.2% +32.8% ➖ noise
4 duckdb:vortex-compact +17.1% +18.8% -1.4% +37.6% ➖ noise
4 duckdb:vortex-file-compressed -0.0% +18.8% -15.9% +32.8% ➖ noise
5 datafusion:vortex-compact +33.6% +1.7% +31.4% +32.8% ➖ noise
5 datafusion:vortex-file-compressed -4.7% +1.7% -6.3% +32.8% ➖ noise
5 duckdb:vortex-compact +2.9% +1.7% +1.2% +32.8% ➖ noise
5 duckdb:vortex-file-compressed -1.0% +1.7% -2.6% +32.8% ➖ noise
6 datafusion:vortex-compact +8.2% +6.0% +2.1% +37.1% ➖ noise
6 datafusion:vortex-file-compressed +0.6% +6.0% -5.1% +32.8% ➖ noise
6 duckdb:vortex-compact +24.6% +6.0% +17.6% +32.8% ➖ noise
6 duckdb:vortex-file-compressed +21.3% +6.0% +14.4% +32.8% ➖ noise
7 datafusion:vortex-compact +39.8% -2.1% +42.9% +32.8% 🚨 regression
7 datafusion:vortex-file-compressed +10.0% -2.1% +12.5% +32.8% ➖ noise
7 duckdb:vortex-compact +19.1% -2.1% +21.8% +32.8% ➖ noise
7 duckdb:vortex-file-compressed +3.3% -2.1% +5.5% +32.8% ➖ noise
8 datafusion:vortex-compact +16.5% +0.0% +16.5% +32.8% ➖ noise
8 datafusion:vortex-file-compressed -8.7% +0.0% -8.7% +32.8% ➖ noise
8 duckdb:vortex-compact +1.4% +0.0% +1.3% +32.8% ➖ noise
8 duckdb:vortex-file-compressed +8.4% +0.0% +8.3% +32.8% ➖ noise
9 datafusion:vortex-compact +33.3% +2.8% +29.6% +32.8% ➖ noise
9 datafusion:vortex-file-compressed +27.0% +2.8% +23.5% +32.8% ➖ noise
9 duckdb:vortex-compact +11.0% +2.8% +8.0% +32.8% ➖ noise
9 duckdb:vortex-file-compressed -1.6% +2.8% -4.3% +32.8% ➖ noise
10 datafusion:vortex-compact +22.1% +2.4% +19.2% +32.8% ➖ noise
10 datafusion:vortex-file-compressed +47.0% +2.4% +43.5% +32.8% 🚨 regression
10 duckdb:vortex-compact +19.9% +2.4% +17.1% +32.8% ➖ noise
10 duckdb:vortex-file-compressed -2.2% +2.4% -4.5% +32.8% ➖ noise
11 datafusion:vortex-compact +23.1% +5.9% +16.2% +32.8% ➖ noise
11 datafusion:vortex-file-compressed +58.3% +5.9% +49.5% +45.6% 🚨 regression
11 duckdb:vortex-compact +13.9% +5.9% +7.5% +32.8% ➖ noise
11 duckdb:vortex-file-compressed +0.8% +5.9% -4.9% +32.8% ➖ noise
12 datafusion:vortex-compact -6.0% -12.6% +7.6% +39.2% ➖ noise
12 datafusion:vortex-file-compressed +67.5% -12.6% +91.7% +45.4% 🚨 regression
12 duckdb:vortex-compact +1.0% -12.6% +15.5% +32.8% ➖ noise
12 duckdb:vortex-file-compressed -1.8% -12.6% +12.4% +33.7% ➖ noise
13 datafusion:vortex-compact -15.4% -7.7% -8.3% +53.8% ➖ noise
13 datafusion:vortex-file-compressed +28.5% -7.7% +39.2% +49.3% ➖ noise
13 duckdb:vortex-compact +14.7% -7.7% +24.3% +32.8% ➖ noise
13 duckdb:vortex-file-compressed +5.8% -7.7% +14.6% +36.6% ➖ noise
14 datafusion:vortex-compact +0.9% +5.0% -3.9% +37.2% ➖ noise
14 datafusion:vortex-file-compressed +36.7% +5.0% +30.2% +50.5% ➖ noise
14 duckdb:vortex-compact +6.6% +5.0% +1.5% +32.8% ➖ noise
14 duckdb:vortex-file-compressed -10.0% +5.0% -14.2% +39.9% ➖ noise
15 datafusion:vortex-compact +10.5% -6.2% +17.8% +32.8% ➖ noise
15 datafusion:vortex-file-compressed +56.4% -6.2% +66.7% +32.8% 🚨 regression
15 duckdb:vortex-compact +6.4% -6.2% +13.4% +36.6% ➖ noise
15 duckdb:vortex-file-compressed -2.2% -6.2% +4.2% +32.8% ➖ noise
16 datafusion:vortex-compact +13.6% +23.9% -8.3% +47.5% ➖ noise
16 datafusion:vortex-file-compressed +38.4% +23.9% +11.7% +32.8% ➖ noise
16 duckdb:vortex-compact +1.3% +23.9% -18.2% +32.8% ➖ noise
16 duckdb:vortex-file-compressed +5.1% +23.9% -15.2% +32.8% ➖ noise
17 datafusion:vortex-compact +2.4% -6.1% +9.1% +32.8% ➖ noise
17 datafusion:vortex-file-compressed +39.1% -6.1% +48.2% +34.5% 🚨 regression
17 duckdb:vortex-compact +13.6% -6.1% +21.0% +32.8% ➖ noise
17 duckdb:vortex-file-compressed +12.6% -6.1% +20.0% +32.8% ➖ noise
18 datafusion:vortex-compact +5.4% +10.7% -4.8% +32.8% ➖ noise
18 datafusion:vortex-file-compressed +25.3% +10.7% +13.2% +32.8% ➖ noise
18 duckdb:vortex-compact +10.3% +10.7% -0.4% +32.8% ➖ noise
18 duckdb:vortex-file-compressed +25.6% +10.7% +13.5% +32.8% ➖ noise
19 datafusion:vortex-compact +9.9% +22.7% -10.4% +32.8% ➖ noise
19 datafusion:vortex-file-compressed +3.9% +22.7% -15.3% +32.8% ➖ noise
19 duckdb:vortex-compact +12.2% +22.7% -8.6% +32.8% ➖ noise
19 duckdb:vortex-file-compressed +1.5% +22.7% -17.2% +32.8% ➖ noise
20 datafusion:vortex-compact +10.6% +31.1% -15.6% +32.8% ➖ noise
20 datafusion:vortex-file-compressed +12.2% +31.1% -14.4% +32.8% ➖ noise
20 duckdb:vortex-compact +6.1% +31.1% -19.1% +32.8% ➖ noise
20 duckdb:vortex-file-compressed +1.3% +31.1% -22.7% +32.8% ➖ noise
21 datafusion:vortex-compact +12.5% +9.9% +2.4% +32.8% ➖ noise
21 datafusion:vortex-file-compressed +18.2% +9.9% +7.6% +32.8% ➖ noise
21 duckdb:vortex-compact +9.7% +9.9% -0.1% +32.8% ➖ noise
21 duckdb:vortex-file-compressed +4.3% +9.9% -5.1% +32.8% ➖ noise
22 datafusion:vortex-compact +14.1% -9.4% +25.9% +43.5% ➖ noise
22 datafusion:vortex-file-compressed +6.4% -9.4% +17.4% +33.1% ➖ noise
22 duckdb:vortex-compact +1.5% -9.4% +12.0% +35.9% ➖ noise
22 duckdb:vortex-file-compressed +5.8% -9.4% +16.7% +36.5% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: TPC-H SF=10 on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +0.4%
Vortex (geomean): 0.999x ➖
Parquet (geomean): 0.996x ➖
Shifts: Parquet (control) -0.4% · Median polish -0.4%


datafusion / vortex-file-compressed (0.993x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 404741293 411308896 0.98
tpch_q02/datafusion:vortex-file-compressed 113645492 112683740 1.01
tpch_q03/datafusion:vortex-file-compressed 222409856 223408879 1.00
tpch_q04/datafusion:vortex-file-compressed 115610765 114337421 1.01
tpch_q05/datafusion:vortex-file-compressed 390360305 389757475 1.00
tpch_q06/datafusion:vortex-file-compressed 43977433 44122752 1.00
tpch_q07/datafusion:vortex-file-compressed 579085574 579521448 1.00
tpch_q08/datafusion:vortex-file-compressed 372326824 374552163 0.99
tpch_q09/datafusion:vortex-file-compressed 687074839 685037532 1.00
tpch_q10/datafusion:vortex-file-compressed 256497892 260984538 0.98
tpch_q11/datafusion:vortex-file-compressed 84847401 86116773 0.99
tpch_q12/datafusion:vortex-file-compressed 125784477 123871826 1.02
tpch_q13/datafusion:vortex-file-compressed 224678214 227111465 0.99
tpch_q14/datafusion:vortex-file-compressed 58367070 58446697 1.00
tpch_q15/datafusion:vortex-file-compressed 107229564 111784988 0.96
tpch_q16/datafusion:vortex-file-compressed 76893218 75943653 1.01
tpch_q17/datafusion:vortex-file-compressed 662670414 670733574 0.99
tpch_q18/datafusion:vortex-file-compressed 866499765 888633059 0.98
tpch_q19/datafusion:vortex-file-compressed 93631105 94205107 0.99
tpch_q20/datafusion:vortex-file-compressed 173532065 175350579 0.99
tpch_q21/datafusion:vortex-file-compressed 719617821 713005256 1.01
tpch_q22/datafusion:vortex-file-compressed 58920255 61325540 0.96
datafusion / vortex-compact (1.004x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 458417463 447008835 1.03
tpch_q02/datafusion:vortex-compact 118980684 119029639 1.00
tpch_q03/datafusion:vortex-compact 228738570 225496778 1.01
tpch_q04/datafusion:vortex-compact 127767475 127888750 1.00
tpch_q05/datafusion:vortex-compact 399234512 399084970 1.00
tpch_q06/datafusion:vortex-compact 67481205 67211189 1.00
tpch_q07/datafusion:vortex-compact 609803418 605404897 1.01
tpch_q08/datafusion:vortex-compact 383525061 385223398 1.00
tpch_q09/datafusion:vortex-compact 695622971 701973138 0.99
tpch_q10/datafusion:vortex-compact 284654858 287852969 0.99
tpch_q11/datafusion:vortex-compact 87988069 89293790 0.99
tpch_q12/datafusion:vortex-compact 175256314 176228371 0.99
tpch_q13/datafusion:vortex-compact 283951269 275008683 1.03
tpch_q14/datafusion:vortex-compact 76934649 76627264 1.00
tpch_q15/datafusion:vortex-compact 172822498 171775426 1.01
tpch_q16/datafusion:vortex-compact 82848336 81666065 1.01
tpch_q17/datafusion:vortex-compact 664461171 666288794 1.00
tpch_q18/datafusion:vortex-compact 892719814 892189778 1.00
tpch_q19/datafusion:vortex-compact 137427385 132927222 1.03
tpch_q20/datafusion:vortex-compact 206555788 206691942 1.00
tpch_q21/datafusion:vortex-compact 731888757 729565115 1.00
tpch_q22/datafusion:vortex-compact 72025180 72640888 0.99
datafusion / parquet (0.995x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 492831187 515631352 0.96
tpch_q02/datafusion:parquet 183263517 182281159 1.01
tpch_q03/datafusion:parquet 308405326 310535724 0.99
tpch_q04/datafusion:parquet 138445964 139129717 1.00
tpch_q05/datafusion:parquet 469318468 476009029 0.99
tpch_q06/datafusion:parquet 135499340 137053656 0.99
tpch_q07/datafusion:parquet 654246730 655663161 1.00
tpch_q08/datafusion:parquet 509859665 502931677 1.01
tpch_q09/datafusion:parquet 788590378 802695006 0.98
tpch_q10/datafusion:parquet 529607946 524278100 1.01
tpch_q11/datafusion:parquet 128266192 128989416 0.99
tpch_q12/datafusion:parquet 209034117 220405441 0.95
tpch_q13/datafusion:parquet 339558917 342612150 0.99
tpch_q14/datafusion:parquet 178436102 170727229 1.05
tpch_q15/datafusion:parquet 270723357 277417348 0.98
tpch_q16/datafusion:parquet 141016314 135153902 1.04
tpch_q17/datafusion:parquet 727755422 728582705 1.00
tpch_q18/datafusion:parquet 922459536 922210618 1.00
tpch_q19/datafusion:parquet 293869597 300897167 0.98
tpch_q20/datafusion:parquet 316488022 310293998 1.02
tpch_q21/datafusion:parquet 750135397 758581357 0.99
tpch_q22/datafusion:parquet 213651361 217156548 0.98
datafusion / arrow (1.013x ➖, 0↑ 1↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/datafusion:arrow 641409715 642184041 1.00
tpch_q02/datafusion:arrow 172734581 167398674 1.03
tpch_q03/datafusion:arrow 503000700 500481028 1.01
tpch_q04/datafusion:arrow 370517509 365701295 1.01
tpch_q05/datafusion:arrow 995028881 974810425 1.02
tpch_q06/datafusion:arrow 303911416 299535699 1.01
tpch_q07/datafusion:arrow 1226827281 1224008045 1.00
tpch_q08/datafusion:arrow 1202782683 1177183023 1.02
tpch_q09/datafusion:arrow 1429294596 1403639400 1.02
tpch_q10/datafusion:arrow 641919434 628601650 1.02
tpch_q11/datafusion:arrow 142563388 140710784 1.01
tpch_q12/datafusion:arrow 🚨 871785673 781956233 1.11
tpch_q13/datafusion:arrow 518839330 529317899 0.98
tpch_q14/datafusion:arrow 355290817 339895179 1.05
tpch_q15/datafusion:arrow 755766913 749678267 1.01
tpch_q16/datafusion:arrow 108154193 108632752 1.00
tpch_q17/datafusion:arrow 1398476115 1404367059 1.00
tpch_q18/datafusion:arrow 1976076852 2011278758 0.98
tpch_q19/datafusion:arrow 524346524 515945580 1.02
tpch_q20/datafusion:arrow 520017702 518211642 1.00
tpch_q21/datafusion:arrow 3127948175 3101972553 1.01
tpch_q22/datafusion:arrow 134621107 138444270 0.97
duckdb / vortex-file-compressed (1.001x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 175714133 173884118 1.01
tpch_q02/duckdb:vortex-file-compressed 54566752 54318011 1.00
tpch_q03/duckdb:vortex-file-compressed 134650703 136491638 0.99
tpch_q04/duckdb:vortex-file-compressed 166039968 160733549 1.03
tpch_q05/duckdb:vortex-file-compressed 136082352 138106548 0.99
tpch_q06/duckdb:vortex-file-compressed 50427085 51760823 0.97
tpch_q07/duckdb:vortex-file-compressed 154372146 151185947 1.02
tpch_q08/duckdb:vortex-file-compressed 179754295 182129346 0.99
tpch_q09/duckdb:vortex-file-compressed 338490322 335634003 1.01
tpch_q10/duckdb:vortex-file-compressed 152894418 154298341 0.99
tpch_q11/duckdb:vortex-file-compressed 35324358 34634938 1.02
tpch_q12/duckdb:vortex-file-compressed 100485521 101439741 0.99
tpch_q13/duckdb:vortex-file-compressed 240791524 240142585 1.00
tpch_q14/duckdb:vortex-file-compressed 70220437 70266914 1.00
tpch_q15/duckdb:vortex-file-compressed 91668417 92801213 0.99
tpch_q16/duckdb:vortex-file-compressed 82873825 79541929 1.04
tpch_q17/duckdb:vortex-file-compressed 103332371 104822195 0.99
tpch_q18/duckdb:vortex-file-compressed 297860093 302839711 0.98
tpch_q19/duckdb:vortex-file-compressed 88346512 86759660 1.02
tpch_q20/duckdb:vortex-file-compressed 172778448 170756952 1.01
tpch_q21/duckdb:vortex-file-compressed 610318042 611422903 1.00
tpch_q22/duckdb:vortex-file-compressed 74001588 75346743 0.98
duckdb / vortex-compact (0.998x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 236025753 233895028 1.01
tpch_q02/duckdb:vortex-compact 58407841 58154222 1.00
tpch_q03/duckdb:vortex-compact 144568399 143848284 1.01
tpch_q04/duckdb:vortex-compact 179790236 180915489 0.99
tpch_q05/duckdb:vortex-compact 150903855 151421901 1.00
tpch_q06/duckdb:vortex-compact 87064180 87737426 0.99
tpch_q07/duckdb:vortex-compact 206796631 209107730 0.99
tpch_q08/duckdb:vortex-compact 196115567 195934935 1.00
tpch_q09/duckdb:vortex-compact 372948278 367846560 1.01
tpch_q10/duckdb:vortex-compact 185791804 186257375 1.00
tpch_q11/duckdb:vortex-compact 41895187 41970957 1.00
tpch_q12/duckdb:vortex-compact 208555492 207498240 1.01
tpch_q13/duckdb:vortex-compact 289995179 290805072 1.00
tpch_q14/duckdb:vortex-compact 103747130 106665066 0.97
tpch_q15/duckdb:vortex-compact 118668245 119578581 0.99
tpch_q16/duckdb:vortex-compact 84723946 86061455 0.98
tpch_q17/duckdb:vortex-compact 119613761 118224835 1.01
tpch_q18/duckdb:vortex-compact 293839018 295931889 0.99
tpch_q19/duckdb:vortex-compact 109607554 109674685 1.00
tpch_q20/duckdb:vortex-compact 215217890 216011722 1.00
tpch_q21/duckdb:vortex-compact 639482037 645730290 0.99
tpch_q22/duckdb:vortex-compact 88397865 88084836 1.00
duckdb / parquet (0.996x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 261790697 260762354 1.00
tpch_q02/duckdb:parquet 97346239 100705157 0.97
tpch_q03/duckdb:parquet 208558201 210129698 0.99
tpch_q04/duckdb:parquet 135402037 137446994 0.99
tpch_q05/duckdb:parquet 219253807 219687371 1.00
tpch_q06/duckdb:parquet 65197202 67602182 0.96
tpch_q07/duckdb:parquet 185732035 186700726 0.99
tpch_q08/duckdb:parquet 261936610 259077991 1.01
tpch_q09/duckdb:parquet 490672524 506401048 0.97
tpch_q10/duckdb:parquet 626474684 620832729 1.01
tpch_q11/duckdb:parquet 60088960 60224557 1.00
tpch_q12/duckdb:parquet 126260457 125590461 1.01
tpch_q13/duckdb:parquet 457388475 456397907 1.00
tpch_q14/duckdb:parquet 177278132 178193259 0.99
tpch_q15/duckdb:parquet 98364881 99220918 0.99
tpch_q16/duckdb:parquet 161645531 162791512 0.99
tpch_q17/duckdb:parquet 178739924 179484096 1.00
tpch_q18/duckdb:parquet 360178955 361972367 1.00
tpch_q19/duckdb:parquet 287006163 288724206 0.99
tpch_q20/duckdb:parquet 237887945 226520525 1.05
tpch_q21/duckdb:parquet 581180811 582329518 1.00
tpch_q22/duckdb:parquet 293662885 292194831 1.01
duckdb / duckdb (0.991x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 120260751 118971236 1.01
tpch_q02/duckdb:duckdb 47388751 47049133 1.01
tpch_q03/duckdb:duckdb 98940113 98919598 1.00
tpch_q04/duckdb:duckdb 136668332 138135785 0.99
tpch_q05/duckdb:duckdb 112689476 113577702 0.99
tpch_q06/duckdb:duckdb 37909650 40546498 0.93
tpch_q07/duckdb:duckdb 88110936 88985406 0.99
tpch_q08/duckdb:duckdb 114479582 114642236 1.00
tpch_q09/duckdb:duckdb 285461445 290129923 0.98
tpch_q10/duckdb:duckdb 211428122 215204400 0.98
tpch_q11/duckdb:duckdb 16028102 16391274 0.98
tpch_q12/duckdb:duckdb 87484552 88219773 0.99
tpch_q13/duckdb:duckdb 229073071 232530814 0.99
tpch_q14/duckdb:duckdb 72676085 73765476 0.99
tpch_q15/duckdb:duckdb 79424518 80248684 0.99
tpch_q16/duckdb:duckdb 74956442 75310038 1.00
tpch_q17/duckdb:duckdb 85773410 86167721 1.00
tpch_q18/duckdb:duckdb 217393812 219736112 0.99
tpch_q19/duckdb:duckdb 117782385 117989261 1.00
tpch_q20/duckdb:duckdb 113500061 114104090 0.99
tpch_q21/duckdb:duckdb 303236151 310342054 0.98
tpch_q22/duckdb:duckdb 70519356 68210876 1.03
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:arrow -0.1% -2.0% +2.0% +10.0% ➖ noise
1 datafusion:vortex-compact +2.6% -2.0% +4.7% +10.0% ➖ noise
1 datafusion:vortex-file-compressed -1.6% -2.0% +0.5% +10.0% ➖ noise
1 duckdb:duckdb +1.1% -2.0% +3.2% +10.0% ➖ noise
1 duckdb:vortex-compact +0.9% -2.0% +3.0% +10.0% ➖ noise
1 duckdb:vortex-file-compressed +1.1% -2.0% +3.2% +10.0% ➖ noise
2 datafusion:arrow +3.2% -1.4% +4.7% +10.0% ➖ noise
2 datafusion:vortex-compact -0.0% -1.4% +1.4% +10.0% ➖ noise
2 datafusion:vortex-file-compressed +0.9% -1.4% +2.3% +10.0% ➖ noise
2 duckdb:duckdb +0.7% -1.4% +2.2% +10.0% ➖ noise
2 duckdb:vortex-compact +0.4% -1.4% +1.9% +10.0% ➖ noise
2 duckdb:vortex-file-compressed +0.5% -1.4% +1.9% +10.0% ➖ noise
3 datafusion:arrow +0.5% -0.7% +1.2% +10.0% ➖ noise
3 datafusion:vortex-compact +1.4% -0.7% +2.2% +10.0% ➖ noise
3 datafusion:vortex-file-compressed -0.4% -0.7% +0.3% +10.0% ➖ noise
3 duckdb:duckdb +0.0% -0.7% +0.7% +10.0% ➖ noise
3 duckdb:vortex-compact +0.5% -0.7% +1.2% +10.0% ➖ noise
3 duckdb:vortex-file-compressed -1.3% -0.7% -0.6% +10.0% ➖ noise
4 datafusion:arrow +1.3% -1.0% +2.3% +10.0% ➖ noise
4 datafusion:vortex-compact -0.1% -1.0% +0.9% +10.0% ➖ noise
4 datafusion:vortex-file-compressed +1.1% -1.0% +2.1% +10.0% ➖ noise
4 duckdb:duckdb -1.1% -1.0% -0.1% +10.0% ➖ noise
4 duckdb:vortex-compact -0.6% -1.0% +0.4% +10.0% ➖ noise
4 duckdb:vortex-file-compressed +3.3% -1.0% +4.3% +10.0% ➖ noise
5 datafusion:arrow +2.1% -0.8% +2.9% +10.0% ➖ noise
5 datafusion:vortex-compact +0.0% -0.8% +0.8% +10.0% ➖ noise
5 datafusion:vortex-file-compressed +0.2% -0.8% +1.0% +10.0% ➖ noise
5 duckdb:duckdb -0.8% -0.8% +0.0% +10.0% ➖ noise
5 duckdb:vortex-compact -0.3% -0.8% +0.5% +10.0% ➖ noise
5 duckdb:vortex-file-compressed -1.5% -0.8% -0.7% +10.0% ➖ noise
6 datafusion:arrow +1.5% -2.4% +3.9% +10.0% ➖ noise
6 datafusion:vortex-compact +0.4% -2.4% +2.8% +10.0% ➖ noise
6 datafusion:vortex-file-compressed -0.3% -2.4% +2.1% +10.0% ➖ noise
6 duckdb:duckdb -6.5% -2.4% -4.2% +10.0% ➖ noise
6 duckdb:vortex-compact -0.8% -2.4% +1.6% +10.0% ➖ noise
6 duckdb:vortex-file-compressed -2.6% -2.4% -0.2% +10.0% ➖ noise
7 datafusion:arrow +0.2% -0.4% +0.6% +10.0% ➖ noise
7 datafusion:vortex-compact +0.7% -0.4% +1.1% +10.0% ➖ noise
7 datafusion:vortex-file-compressed -0.1% -0.4% +0.3% +10.0% ➖ noise
7 duckdb:duckdb -1.0% -0.4% -0.6% +10.0% ➖ noise
7 duckdb:vortex-compact -1.1% -0.4% -0.7% +10.0% ➖ noise
7 duckdb:vortex-file-compressed +2.1% -0.4% +2.5% +10.0% ➖ noise
8 datafusion:arrow +2.2% +1.2% +0.9% +10.0% ➖ noise
8 datafusion:vortex-compact -0.4% +1.2% -1.7% +10.0% ➖ noise
8 datafusion:vortex-file-compressed -0.6% +1.2% -1.8% +10.0% ➖ noise
8 duckdb:duckdb -0.1% +1.2% -1.4% +10.0% ➖ noise
8 duckdb:vortex-compact +0.1% +1.2% -1.1% +10.0% ➖ noise
8 duckdb:vortex-file-compressed -1.3% +1.2% -2.5% +10.0% ➖ noise
9 datafusion:arrow +1.8% -2.4% +4.4% +10.0% ➖ noise
9 datafusion:vortex-compact -0.9% -2.4% +1.6% +10.0% ➖ noise
9 datafusion:vortex-file-compressed +0.3% -2.4% +2.8% +10.0% ➖ noise
9 duckdb:duckdb -1.6% -2.4% +0.8% +10.0% ➖ noise
9 duckdb:vortex-compact +1.4% -2.4% +3.9% +10.0% ➖ noise
9 duckdb:vortex-file-compressed +0.9% -2.4% +3.4% +10.0% ➖ noise
10 datafusion:arrow +2.1% +1.0% +1.1% +10.0% ➖ noise
10 datafusion:vortex-compact -1.1% +1.0% -2.1% +10.0% ➖ noise
10 datafusion:vortex-file-compressed -1.7% +1.0% -2.7% +10.0% ➖ noise
10 duckdb:duckdb -1.8% +1.0% -2.7% +10.0% ➖ noise
10 duckdb:vortex-compact -0.2% +1.0% -1.2% +10.0% ➖ noise
10 duckdb:vortex-file-compressed -0.9% +1.0% -1.9% +10.0% ➖ noise
11 datafusion:arrow +1.3% -0.4% +1.7% +10.2% ➖ noise
11 datafusion:vortex-compact -1.5% -0.4% -1.1% +10.0% ➖ noise
11 datafusion:vortex-file-compressed -1.5% -0.4% -1.1% +10.0% ➖ noise
11 duckdb:duckdb -2.2% -0.4% -1.8% +11.1% ➖ noise
11 duckdb:vortex-compact -0.2% -0.4% +0.2% +10.0% ➖ noise
11 duckdb:vortex-file-compressed +2.0% -0.4% +2.4% +11.5% ➖ noise
12 datafusion:arrow +11.5% -2.4% +14.2% +34.1% ➖ noise
12 datafusion:vortex-compact -0.6% -2.4% +1.8% +10.0% ➖ noise
12 datafusion:vortex-file-compressed +1.5% -2.4% +4.0% +10.0% ➖ noise
12 duckdb:duckdb -0.8% -2.4% +1.6% +10.0% ➖ noise
12 duckdb:vortex-compact +0.5% -2.4% +2.9% +10.0% ➖ noise
12 duckdb:vortex-file-compressed -0.9% -2.4% +1.4% +10.0% ➖ noise
13 datafusion:arrow -2.0% -0.3% -1.6% +10.0% ➖ noise
13 datafusion:vortex-compact +3.3% -0.3% +3.6% +10.0% ➖ noise
13 datafusion:vortex-file-compressed -1.1% -0.3% -0.7% +10.0% ➖ noise
13 duckdb:duckdb -1.5% -0.3% -1.2% +10.0% ➖ noise
13 duckdb:vortex-compact -0.3% -0.3% +0.1% +10.0% ➖ noise
13 duckdb:vortex-file-compressed +0.3% -0.3% +0.6% +10.0% ➖ noise
14 datafusion:arrow +4.5% +2.0% +2.5% +10.0% ➖ noise
14 datafusion:vortex-compact +0.4% +2.0% -1.5% +10.0% ➖ noise
14 datafusion:vortex-file-compressed -0.1% +2.0% -2.1% +10.0% ➖ noise
14 duckdb:duckdb -1.5% +2.0% -3.4% +10.0% ➖ noise
14 duckdb:vortex-compact -2.7% +2.0% -4.6% +10.0% ➖ noise
14 duckdb:vortex-file-compressed -0.1% +2.0% -2.0% +10.0% ➖ noise
15 datafusion:arrow +0.8% -1.6% +2.5% +10.0% ➖ noise
15 datafusion:vortex-compact +0.6% -1.6% +2.3% +10.0% ➖ noise
15 datafusion:vortex-file-compressed -4.1% -1.6% -2.5% +10.0% ➖ noise
15 duckdb:duckdb -1.0% -1.6% +0.6% +10.0% ➖ noise
15 duckdb:vortex-compact -0.8% -1.6% +0.9% +10.0% ➖ noise
15 duckdb:vortex-file-compressed -1.2% -1.6% +0.4% +10.0% ➖ noise
16 datafusion:arrow -0.4% +1.8% -2.2% +10.0% ➖ noise
16 datafusion:vortex-compact +1.4% +1.8% -0.3% +10.0% ➖ noise
16 datafusion:vortex-file-compressed +1.3% +1.8% -0.5% +10.0% ➖ noise
16 duckdb:duckdb -0.5% +1.8% -2.2% +10.0% ➖ noise
16 duckdb:vortex-compact -1.6% +1.8% -3.3% +10.0% ➖ noise
16 duckdb:vortex-file-compressed +4.2% +1.8% +2.4% +10.0% ➖ noise
17 datafusion:arrow -0.4% -0.3% -0.2% +10.0% ➖ noise
17 datafusion:vortex-compact -0.3% -0.3% -0.0% +10.0% ➖ noise
17 datafusion:vortex-file-compressed -1.2% -0.3% -0.9% +10.0% ➖ noise
17 duckdb:duckdb -0.5% -0.3% -0.2% +10.0% ➖ noise
17 duckdb:vortex-compact +1.2% -0.3% +1.4% +10.0% ➖ noise
17 duckdb:vortex-file-compressed -1.4% -0.3% -1.2% +10.0% ➖ noise
18 datafusion:arrow -1.8% -0.2% -1.5% +10.0% ➖ noise
18 datafusion:vortex-compact +0.1% -0.2% +0.3% +10.0% ➖ noise
18 datafusion:vortex-file-compressed -2.5% -0.2% -2.3% +10.0% ➖ noise
18 duckdb:duckdb -1.1% -0.2% -0.8% +10.0% ➖ noise
18 duckdb:vortex-compact -0.7% -0.2% -0.5% +10.0% ➖ noise
18 duckdb:vortex-file-compressed -1.6% -0.2% -1.4% +10.0% ➖ noise
19 datafusion:arrow +1.6% -1.5% +3.1% +10.0% ➖ noise
19 datafusion:vortex-compact +3.4% -1.5% +4.9% +10.0% ➖ noise
19 datafusion:vortex-file-compressed -0.6% -1.5% +0.9% +10.0% ➖ noise
19 duckdb:duckdb -0.2% -1.5% +1.3% +10.0% ➖ noise
19 duckdb:vortex-compact -0.1% -1.5% +1.4% +10.0% ➖ noise
19 duckdb:vortex-file-compressed +1.8% -1.5% +3.3% +10.0% ➖ noise
20 datafusion:arrow +0.3% +3.5% -3.0% +10.0% ➖ noise
20 datafusion:vortex-compact -0.1% +3.5% -3.4% +10.0% ➖ noise
20 datafusion:vortex-file-compressed -1.0% +3.5% -4.4% +10.0% ➖ noise
20 duckdb:duckdb -0.5% +3.5% -3.9% +10.0% ➖ noise
20 duckdb:vortex-compact -0.4% +3.5% -3.7% +10.0% ➖ noise
20 duckdb:vortex-file-compressed +1.2% +3.5% -2.2% +10.0% ➖ noise
21 datafusion:arrow +0.8% -0.7% +1.5% +10.0% ➖ noise
21 datafusion:vortex-compact +0.3% -0.7% +1.0% +10.0% ➖ noise
21 datafusion:vortex-file-compressed +0.9% -0.7% +1.6% +10.0% ➖ noise
21 duckdb:duckdb -2.3% -0.7% -1.6% +10.0% ➖ noise
21 duckdb:vortex-compact -1.0% -0.7% -0.3% +10.0% ➖ noise
21 duckdb:vortex-file-compressed -0.2% -0.7% +0.5% +10.0% ➖ noise
22 datafusion:arrow -2.8% -0.6% -2.2% +10.0% ➖ noise
22 datafusion:vortex-compact -0.8% -0.6% -0.3% +10.0% ➖ noise
22 datafusion:vortex-file-compressed -3.9% -0.6% -3.4% +10.0% ➖ noise
22 duckdb:duckdb +3.4% -0.6% +4.0% +10.0% ➖ noise
22 duckdb:vortex-compact +0.4% -0.6% +0.9% +10.0% ➖ noise
22 duckdb:vortex-file-compressed -1.8% -0.6% -1.2% +10.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

File Sizes: TPC-H SF=10 on NVME

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: FineWeb S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -3.9%
Vortex (geomean): 1.029x ➖
Parquet (geomean): 1.070x ➖
Shifts: Parquet (control) +7.0% · Median polish +1.8%


datafusion / vortex-file-compressed (1.070x ➖, 0↑ 1↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 25945573 33462995 0.78
fineweb_q01/datafusion:vortex-file-compressed 🚨 770606047 475328421 1.62
fineweb_q02/datafusion:vortex-file-compressed 612633638 512388154 1.20
fineweb_q03/datafusion:vortex-file-compressed 1376689233 1345118958 1.02
fineweb_q04/datafusion:vortex-file-compressed 1352553555 1363425049 0.99
fineweb_q05/datafusion:vortex-file-compressed 1345979981 1347458612 1.00
fineweb_q06/datafusion:vortex-file-compressed 1497329732 1501439013 1.00
fineweb_q07/datafusion:vortex-file-compressed 1410349930 1337059670 1.05
fineweb_q08/datafusion:vortex-file-compressed 622245022 541658582 1.15
datafusion / vortex-compact (1.070x ➖, 0↑ 1↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 28750973 30525284 0.94
fineweb_q01/datafusion:vortex-compact 667156274 549332348 1.21
fineweb_q02/datafusion:vortex-compact 🚨 839511376 598514241 1.40
fineweb_q03/datafusion:vortex-compact 1863106012 1918532002 0.97
fineweb_q04/datafusion:vortex-compact 2201727893 2252297957 0.98
fineweb_q05/datafusion:vortex-compact 1692852885 1725932879 0.98
fineweb_q06/datafusion:vortex-compact 1514280523 1520628393 1.00
fineweb_q07/datafusion:vortex-compact 1358174425 1399368225 0.97
fineweb_q08/datafusion:vortex-compact 498326394 389790536 1.28
datafusion / parquet (1.055x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 1155890062 1159163312 1.00
fineweb_q01/datafusion:parquet 2067912729 1703388042 1.21
fineweb_q02/datafusion:parquet 1869542584 1700258735 1.10
fineweb_q03/datafusion:parquet 1789381582 1836906975 0.97
fineweb_q04/datafusion:parquet 1874567447 1836665173 1.02
fineweb_q05/datafusion:parquet 1903091266 1947642081 0.98
fineweb_q06/datafusion:parquet 2005914266 1844531211 1.09
fineweb_q07/datafusion:parquet 1749248205 1688818555 1.04
fineweb_q08/datafusion:parquet 2118284769 1905864372 1.11
duckdb / vortex-file-compressed (1.028x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 85241732 82816965 1.03
fineweb_q01/duckdb:vortex-file-compressed 568838699 556539909 1.02
fineweb_q02/duckdb:vortex-file-compressed 458851149 490278425 0.94
fineweb_q03/duckdb:vortex-file-compressed 1481885414 1576210457 0.94
fineweb_q04/duckdb:vortex-file-compressed 1661356710 1486361940 1.12
fineweb_q05/duckdb:vortex-file-compressed 1549318487 1494294569 1.04
fineweb_q06/duckdb:vortex-file-compressed 1653587002 1634934209 1.01
fineweb_q07/duckdb:vortex-file-compressed 1420380051 1460673853 0.97
fineweb_q08/duckdb:vortex-file-compressed 751964726 617021738 1.22
duckdb / vortex-compact (0.951x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 67503765 83455284 0.81
fineweb_q01/duckdb:vortex-compact 592380111 515411512 1.15
fineweb_q02/duckdb:vortex-compact 546052858 580243452 0.94
fineweb_q03/duckdb:vortex-compact 1635785104 1631815943 1.00
fineweb_q04/duckdb:vortex-compact 1755450794 1848279246 0.95
fineweb_q05/duckdb:vortex-compact 1511439830 1662675352 0.91
fineweb_q06/duckdb:vortex-compact 1471871355 1596282246 0.92
fineweb_q07/duckdb:vortex-compact 1363073423 1367328164 1.00
fineweb_q08/duckdb:vortex-compact 465103026 506963225 0.92
duckdb / parquet (1.086x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 1243603388 1121730870 1.11
fineweb_q01/duckdb:parquet 1569246476 1259979275 1.25
fineweb_q02/duckdb:parquet 1443554150 1318542125 1.09
fineweb_q03/duckdb:parquet 3824407143 3721429197 1.03
fineweb_q04/duckdb:parquet 2051589556 1881175904 1.09
fineweb_q05/duckdb:parquet 2217548480 2188984629 1.01
fineweb_q06/duckdb:parquet 4510637823 4220863741 1.07
fineweb_q07/duckdb:parquet 2781543800 2692903634 1.03
fineweb_q08/duckdb:parquet 1245828612 1127394958 1.11
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-compact -5.8% +5.1% -10.4% +223.0% ➖ noise
0 datafusion:vortex-file-compressed -22.5% +5.1% -26.3% +233.9% ➖ noise
0 duckdb:vortex-compact -19.1% +5.1% -23.1% +80.4% ➖ noise
0 duckdb:vortex-file-compressed +2.9% +5.1% -2.1% +85.3% ➖ noise
1 datafusion:vortex-compact +21.4% +23.0% -1.2% +81.9% ➖ noise
1 datafusion:vortex-file-compressed +62.1% +23.0% +31.8% +144.5% ➖ noise
1 duckdb:vortex-compact +14.9% +23.0% -6.5% +32.9% ➖ noise
1 duckdb:vortex-file-compressed +2.2% +23.0% -16.9% +30.0% ➖ noise
2 datafusion:vortex-compact +40.3% +9.7% +27.8% +40.5% ➖ noise
2 datafusion:vortex-file-compressed +19.6% +9.7% +9.0% +52.1% ➖ noise
2 duckdb:vortex-compact -5.9% +9.7% -14.2% +30.0% ➖ noise
2 duckdb:vortex-file-compressed -6.4% +9.7% -14.7% +32.8% ➖ noise
3 datafusion:vortex-compact -2.9% +0.1% -2.9% +30.0% ➖ noise
3 datafusion:vortex-file-compressed +2.3% +0.1% +2.3% +30.0% ➖ noise
3 duckdb:vortex-compact +0.2% +0.1% +0.2% +30.0% ➖ noise
3 duckdb:vortex-file-compressed -6.0% +0.1% -6.0% +30.0% ➖ noise
4 datafusion:vortex-compact -2.2% +5.5% -7.3% +30.0% ➖ noise
4 datafusion:vortex-file-compressed -0.8% +5.5% -6.0% +30.0% ➖ noise
4 duckdb:vortex-compact -5.0% +5.5% -10.0% +30.0% ➖ noise
4 duckdb:vortex-file-compressed +11.8% +5.5% +5.9% +30.0% ➖ noise
5 datafusion:vortex-compact -1.9% -0.5% -1.4% +30.0% ➖ noise
5 datafusion:vortex-file-compressed -0.1% -0.5% +0.4% +30.0% ➖ noise
5 duckdb:vortex-compact -9.1% -0.5% -8.6% +30.0% ➖ noise
5 duckdb:vortex-file-compressed +3.7% -0.5% +4.2% +30.0% ➖ noise
6 datafusion:vortex-compact -0.4% +7.8% -7.6% +30.0% ➖ noise
6 datafusion:vortex-file-compressed -0.3% +7.8% -7.5% +30.0% ➖ noise
6 duckdb:vortex-compact -7.8% +7.8% -14.5% +30.0% ➖ noise
6 duckdb:vortex-file-compressed +1.1% +7.8% -6.2% +30.0% ➖ noise
7 datafusion:vortex-compact -2.9% +3.4% -6.2% +30.0% ➖ noise
7 datafusion:vortex-file-compressed +5.5% +3.4% +2.0% +30.0% ➖ noise
7 duckdb:vortex-compact -0.3% +3.4% -3.6% +30.0% ➖ noise
7 duckdb:vortex-file-compressed -2.8% +3.4% -6.0% +30.0% ➖ noise
8 datafusion:vortex-compact +27.8% +10.8% +15.4% +30.0% ➖ noise
8 datafusion:vortex-file-compressed +14.9% +10.8% +3.7% +30.0% ➖ noise
8 duckdb:vortex-compact -8.3% +10.8% -17.2% +30.0% ➖ noise
8 duckdb:vortex-file-compressed +21.9% +10.8% +10.0% +30.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: Statistical and Population Genetics

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -9.6%
Vortex (geomean): 0.923x ➖
Parquet (geomean): 1.020x ➖
Shifts: Parquet (control) +2.0% · Median polish +1.1%


duckdb / vortex-file-compressed (0.838x ✅, 4↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-file-compressed 11898929 11879185 1.00
statpopgen_q01/duckdb:vortex-file-compressed 21244364 20725998 1.03
statpopgen_q02/duckdb:vortex-file-compressed 1366730586 1385625628 0.99
statpopgen_q03/duckdb:vortex-file-compressed 🚀 1597861626 3122014634 0.51
statpopgen_q04/duckdb:vortex-file-compressed 🚀 1959319790 3137326749 0.62
statpopgen_q05/duckdb:vortex-file-compressed 1427641009 1456306603 0.98
statpopgen_q06/duckdb:vortex-file-compressed 2074341302 2147032919 0.97
statpopgen_q07/duckdb:vortex-file-compressed 233266317 223044600 1.05
statpopgen_q08/duckdb:vortex-file-compressed 277151202 255292124 1.09
statpopgen_q09/duckdb:vortex-file-compressed 🚀 1771235383 2927816998 0.60
statpopgen_q10/duckdb:vortex-file-compressed 🚀 3194270534 4713682876 0.68
duckdb / vortex-compact (1.017x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-compact 12150526 11366067 1.07
statpopgen_q01/duckdb:vortex-compact 176341932 167025965 1.06
statpopgen_q02/duckdb:vortex-compact 1821173894 1803654618 1.01
statpopgen_q03/duckdb:vortex-compact 3511264094 3473394240 1.01
statpopgen_q04/duckdb:vortex-compact 3522384573 3499769763 1.01
statpopgen_q05/duckdb:vortex-compact 1860013652 1824954694 1.02
statpopgen_q06/duckdb:vortex-compact 2697582175 2668481248 1.01
statpopgen_q07/duckdb:vortex-compact 914082876 898012033 1.02
statpopgen_q08/duckdb:vortex-compact 948526067 937027662 1.01
statpopgen_q09/duckdb:vortex-compact 3329236822 3418704120 0.97
statpopgen_q10/duckdb:vortex-compact 5405522514 5396901013 1.00
duckdb / parquet (1.020x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
statpopgen_q00/duckdb:parquet 334610011 324314976 1.03
statpopgen_q01/duckdb:parquet 421463440 400703297 1.05
statpopgen_q02/duckdb:parquet 991036449 991078674 1.00
statpopgen_q03/duckdb:parquet 1513778213 1509233965 1.00
statpopgen_q04/duckdb:parquet 1512491804 1481921422 1.02
statpopgen_q05/duckdb:parquet 1025173566 1007014771 1.02
statpopgen_q06/duckdb:parquet 1521539550 1483989455 1.03
statpopgen_q07/duckdb:parquet 1313390966 1308756889 1.00
statpopgen_q08/duckdb:parquet 1328000335 1307141378 1.02
statpopgen_q09/duckdb:parquet 1412480332 1362151251 1.04
statpopgen_q10/duckdb:parquet 2683655832 2634595038 1.02
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 duckdb:vortex-compact +6.9% +3.2% +3.6% +10.0% ➖ noise
0 duckdb:vortex-file-compressed +0.2% +3.2% -2.9% +10.0% ➖ noise
1 duckdb:vortex-compact +5.6% +5.2% +0.4% +23.1% ➖ noise
1 duckdb:vortex-file-compressed +2.5% +5.2% -2.5% +202.6% ➖ noise
2 duckdb:vortex-compact +1.0% -0.0% +1.0% +10.0% ➖ noise
2 duckdb:vortex-file-compressed -1.4% -0.0% -1.4% +10.0% ➖ noise
3 duckdb:vortex-compact +1.1% +0.3% +0.8% +10.0% ➖ noise
3 duckdb:vortex-file-compressed -48.8% +0.3% -49.0% +29.3% ✅ faster
4 duckdb:vortex-compact +0.6% +2.1% -1.4% +10.0% ➖ noise
4 duckdb:vortex-file-compressed -37.5% +2.1% -38.8% +22.7% ✅ faster
5 duckdb:vortex-compact +1.9% +1.8% +0.1% +10.0% ➖ noise
5 duckdb:vortex-file-compressed -2.0% +1.8% -3.7% +10.0% ➖ noise
6 duckdb:vortex-compact +1.1% +2.5% -1.4% +10.0% ➖ noise
6 duckdb:vortex-file-compressed -3.4% +2.5% -5.8% +10.0% ➖ noise
7 duckdb:vortex-compact +1.8% +0.4% +1.4% +10.0% ➖ noise
7 duckdb:vortex-file-compressed +4.6% +0.4% +4.2% +10.8% ➖ noise
8 duckdb:vortex-compact +1.2% +1.6% -0.4% +10.0% ➖ noise
8 duckdb:vortex-file-compressed +8.6% +1.6% +6.9% +10.0% ➖ noise
9 duckdb:vortex-compact -2.6% +3.7% -6.1% +10.0% ➖ noise
9 duckdb:vortex-file-compressed -39.5% +3.7% -41.7% +14.5% ✅ faster
10 duckdb:vortex-compact +0.2% +1.9% -1.7% +10.0% ➖ noise
10 duckdb:vortex-file-compressed -32.2% +1.9% -33.5% +19.5% ✅ faster

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

File Sizes: Statistical and Population Genetics

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: TPC-H SF=10 on S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -7.1%
Vortex (geomean): 1.019x ➖
Parquet (geomean): 1.096x ➖
Shifts: Parquet (control) +9.6% · Median polish +2.9%


datafusion / vortex-file-compressed (0.990x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base b66f299 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 744089898 688300362 1.08
tpch_q02/datafusion:vortex-file-compressed 733126452 632218828 1.16
tpch_q03/datafusion:vortex-file-compressed 962946095 809188234 1.19
tpch_q04/datafusion:vortex-file-compressed 611287389 617545675 0.99
tpch_q05/datafusion:vortex-file-compressed 990736039 1052671840 0.94
tpch_q06/datafusion:vortex-file-compressed 634003175 671776699 0.94
tpch_q07/datafusion:vortex-file-compressed 1056062463 1051395602 1.00
tpch_q08/datafusion:vortex-file-compressed 1123151901 1238286816 0.91
tpch_q09/datafusion:vortex-file-compressed 1378091469 1284214005 1.07
tpch_q10/datafusion:vortex-file-compressed 998213714 1077116326 0.93
tpch_q11/datafusion:vortex-file-compressed 502012374 507255793 0.99
tpch_q12/datafusion:vortex-file-compressed 876409033 905079889 0.97
tpch_q13/datafusion:vortex-file-compressed 435103133 413238165 1.05
tpch_q14/datafusion:vortex-file-compressed 668838613 611075004 1.09
tpch_q15/datafusion:vortex-file-compressed 1248069963 1078316623 1.16
tpch_q16/datafusion:vortex-file-compressed 345010036 471340982 0.73
tpch_q17/datafusion:vortex-file-compressed 1131090351 1098865654 1.03
tpch_q18/datafusion:vortex-file-compressed 1166052315 1382882143 0.84
tpch_q19/datafusion:vortex-file-compressed 767111225 753741532 1.02
tpch_q20/datafusion:vortex-file-compressed 946327549 1081511533 0.88
tpch_q21/datafusion:vortex-file-compressed 1542653264 1604947391 0.96
tpch_q22/datafusion:vortex-file-compressed 361116189 374598436 0.96
datafusion / vortex-compact (1.073x ➖, 1↑ 3↓)
name PR f4bfcff (ns) base b66f299 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 782471980 784051772 1.00
tpch_q02/datafusion:vortex-compact 🚨 1026638866 777879944 1.32
tpch_q03/datafusion:vortex-compact 🚨 1119773521 738897057 1.52
tpch_q04/datafusion:vortex-compact 573779555 559906321 1.02
tpch_q05/datafusion:vortex-compact 1098833960 899143886 1.22
tpch_q06/datafusion:vortex-compact 632471549 638760564 0.99
tpch_q07/datafusion:vortex-compact 1010547712 1003421199 1.01
tpch_q08/datafusion:vortex-compact 1093496949 1170267505 0.93
tpch_q09/datafusion:vortex-compact 1235062514 1234468568 1.00
tpch_q10/datafusion:vortex-compact 1010746696 842933584 1.20
tpch_q11/datafusion:vortex-compact 472194732 414291070 1.14
tpch_q12/datafusion:vortex-compact 960998336 838042506 1.15
tpch_q13/datafusion:vortex-compact 399239310 385011479 1.04
tpch_q14/datafusion:vortex-compact 630707720 605897242 1.04
tpch_q15/datafusion:vortex-compact 1171960181 1078350424 1.09
tpch_q16/datafusion:vortex-compact 366624202 341676219 1.07
tpch_q17/datafusion:vortex-compact 1151052741 1169390061 0.98
tpch_q18/datafusion:vortex-compact 1164199396 1196574212 0.97
tpch_q19/datafusion:vortex-compact 🚀 807071395 1214735420 0.66
tpch_q20/datafusion:vortex-compact 1001457319 967433770 1.04
tpch_q21/datafusion:vortex-compact 1440525297 1392444756 1.03
tpch_q22/datafusion:vortex-compact 🚨 561152976 376382451 1.49
datafusion / parquet (1.169x ➖, 0↑ 3↓)
name PR f4bfcff (ns) base b66f299 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 671229100 651262258 1.03
tpch_q02/datafusion:parquet 780151229 610175637 1.28
tpch_q03/datafusion:parquet 881568609 876173684 1.01
tpch_q04/datafusion:parquet 475885520 477299429 1.00
tpch_q05/datafusion:parquet 1167663704 1114740957 1.05
tpch_q06/datafusion:parquet 581520707 514846034 1.13
tpch_q07/datafusion:parquet 1422206280 1244620124 1.14
tpch_q08/datafusion:parquet 1790405446 1502451806 1.19
tpch_q09/datafusion:parquet 1850596412 1622725222 1.14
tpch_q10/datafusion:parquet 2309386657 1925234315 1.20
tpch_q11/datafusion:parquet 🚨 819609577 491107760 1.67
tpch_q12/datafusion:parquet 622825885 714930272 0.87
tpch_q13/datafusion:parquet 668447861 680243353 0.98
tpch_q14/datafusion:parquet 817908739 749265436 1.09
tpch_q15/datafusion:parquet 1210565614 1278142714 0.95
tpch_q16/datafusion:parquet 🚨 515248233 385027070 1.34
tpch_q17/datafusion:parquet 1381929659 1288674981 1.07
tpch_q18/datafusion:parquet 1476644781 1345460982 1.10
tpch_q19/datafusion:parquet 1125535486 956231863 1.18
tpch_q20/datafusion:parquet 1260117353 1107311616 1.14
tpch_q21/datafusion:parquet 1856066005 1615371847 1.15
tpch_q22/datafusion:parquet 🚨 1940111527 655919662 2.96
duckdb / vortex-file-compressed (1.018x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base b66f299 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 639494603 614125272 1.04
tpch_q02/duckdb:vortex-file-compressed 1224316395 1377617814 0.89
tpch_q03/duckdb:vortex-file-compressed 964043156 949793611 1.02
tpch_q04/duckdb:vortex-file-compressed 850078289 672667758 1.26
tpch_q05/duckdb:vortex-file-compressed 1257488940 1203790338 1.04
tpch_q06/duckdb:vortex-file-compressed 805108322 805403491 1.00
tpch_q07/duckdb:vortex-file-compressed 1316233649 1268152834 1.04
tpch_q08/duckdb:vortex-file-compressed 1521031560 1613777206 0.94
tpch_q09/duckdb:vortex-file-compressed 1533249177 1551413413 0.99
tpch_q10/duckdb:vortex-file-compressed 1254993574 1160154737 1.08
tpch_q11/duckdb:vortex-file-compressed 662833894 781766199 0.85
tpch_q12/duckdb:vortex-file-compressed 865944174 775353069 1.12
tpch_q13/duckdb:vortex-file-compressed 954199353 905137749 1.05
tpch_q14/duckdb:vortex-file-compressed 1022935778 839963512 1.22
tpch_q15/duckdb:vortex-file-compressed 704919088 585687372 1.20
tpch_q16/duckdb:vortex-file-compressed 538291699 611375853 0.88
tpch_q17/duckdb:vortex-file-compressed 1140784322 1004060852 1.14
tpch_q18/duckdb:vortex-file-compressed 1024357179 947170482 1.08
tpch_q19/duckdb:vortex-file-compressed 793073337 802172573 0.99
tpch_q20/duckdb:vortex-file-compressed 1263276226 1308062288 0.97
tpch_q21/duckdb:vortex-file-compressed 2093024512 2196606592 0.95
tpch_q22/duckdb:vortex-file-compressed 600700885 753575058 0.80
duckdb / vortex-compact (0.996x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base b66f299 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 619420276 611518478 1.01
tpch_q02/duckdb:vortex-compact 1099740811 1227608431 0.90
tpch_q03/duckdb:vortex-compact 1052657640 937963275 1.12
tpch_q04/duckdb:vortex-compact 568346310 543816591 1.05
tpch_q05/duckdb:vortex-compact 1116619651 1143656152 0.98
tpch_q06/duckdb:vortex-compact 722785740 764613525 0.95
tpch_q07/duckdb:vortex-compact 1065678062 1136551497 0.94
tpch_q08/duckdb:vortex-compact 1438460603 1358601420 1.06
tpch_q09/duckdb:vortex-compact 1406329328 1349055221 1.04
tpch_q10/duckdb:vortex-compact 1107123123 1098276563 1.01
tpch_q11/duckdb:vortex-compact 650276181 670193381 0.97
tpch_q12/duckdb:vortex-compact 691271101 708821076 0.98
tpch_q13/duckdb:vortex-compact 925967873 919516842 1.01
tpch_q14/duckdb:vortex-compact 805498411 845504716 0.95
tpch_q15/duckdb:vortex-compact 539956451 529844453 1.02
tpch_q16/duckdb:vortex-compact 532726060 509764850 1.05
tpch_q17/duckdb:vortex-compact 903831584 906246140 1.00
tpch_q18/duckdb:vortex-compact 851307482 724688408 1.17
tpch_q19/duckdb:vortex-compact 705457434 756700531 0.93
tpch_q20/duckdb:vortex-compact 1260957631 1201746788 1.05
tpch_q21/duckdb:vortex-compact 1596439605 1736258330 0.92
tpch_q22/duckdb:vortex-compact 691138631 792369656 0.87
duckdb / parquet (1.028x ➖, 0↑ 0↓)
name PR f4bfcff (ns) base b66f299 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 842526265 808605475 1.04
tpch_q02/duckdb:parquet 1556623225 1562883142 1.00
tpch_q03/duckdb:parquet 1978448470 1774759887 1.11
tpch_q04/duckdb:parquet 1151959282 1058603722 1.09
tpch_q05/duckdb:parquet 2092559573 2328016731 0.90
tpch_q06/duckdb:parquet 752016575 767776121 0.98
tpch_q07/duckdb:parquet 2155486151 1876562780 1.15
tpch_q08/duckdb:parquet 2584598331 2699040428 0.96
tpch_q09/duckdb:parquet 2746927078 2717055460 1.01
tpch_q10/duckdb:parquet 3141148736 3235137778 0.97
tpch_q11/duckdb:parquet 1234372401 1215454826 1.02
tpch_q12/duckdb:parquet 1168180406 1352836548 0.86
tpch_q13/duckdb:parquet 1451715156 1230833813 1.18
tpch_q14/duckdb:parquet 1571803969 1442570088 1.09
tpch_q15/duckdb:parquet 1077772519 1012164438 1.06
tpch_q16/duckdb:parquet 1074199663 1083882842 0.99
tpch_q17/duckdb:parquet 1453779083 1407224227 1.03
tpch_q18/duckdb:parquet 1631847659 1454037647 1.12
tpch_q19/duckdb:parquet 1451820649 1492408727 0.97
tpch_q20/duckdb:parquet 1960219736 1936713024 1.01
tpch_q21/duckdb:parquet 2055291521 1852676104 1.11
tpch_q22/duckdb:parquet 1156780108 1143956308 1.01
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-compact -0.2% +3.6% -3.7% +50.3% ➖ noise
1 datafusion:vortex-file-compressed +8.1% +3.6% +4.3% +59.0% ➖ noise
1 duckdb:vortex-compact +1.3% +3.6% -2.3% +44.7% ➖ noise
1 duckdb:vortex-file-compressed +4.1% +3.6% +0.5% +48.6% ➖ noise
2 datafusion:vortex-compact +32.0% +12.8% +17.0% +45.9% ➖ noise
2 datafusion:vortex-file-compressed +16.0% +12.8% +2.8% +58.5% ➖ noise
2 duckdb:vortex-compact -10.4% +12.8% -20.6% +38.4% ➖ noise
2 duckdb:vortex-file-compressed -11.1% +12.8% -21.2% +38.4% ➖ noise
3 datafusion:vortex-compact +51.5% +5.9% +43.1% +50.7% ➖ noise
3 datafusion:vortex-file-compressed +19.0% +5.9% +12.4% +55.4% ➖ noise
3 duckdb:vortex-compact +12.2% +5.9% +6.0% +38.4% ➖ noise
3 duckdb:vortex-file-compressed +1.5% +5.9% -4.2% +49.1% ➖ noise
4 datafusion:vortex-compact +2.5% +4.2% -1.6% +38.4% ➖ noise
4 datafusion:vortex-file-compressed -1.0% +4.2% -5.0% +42.5% ➖ noise
4 duckdb:vortex-compact +4.5% +4.2% +0.3% +38.4% ➖ noise
4 duckdb:vortex-file-compressed +26.4% +4.2% +21.3% +38.4% ➖ noise
5 datafusion:vortex-compact +22.2% -3.0% +25.9% +38.4% ➖ noise
5 datafusion:vortex-file-compressed -5.9% -3.0% -3.0% +38.4% ➖ noise
5 duckdb:vortex-compact -2.4% -3.0% +0.6% +38.4% ➖ noise
5 duckdb:vortex-file-compressed +4.5% -3.0% +7.7% +38.4% ➖ noise
6 datafusion:vortex-compact -1.0% +5.2% -5.9% +38.4% ➖ noise
6 datafusion:vortex-file-compressed -5.6% +5.2% -10.3% +38.4% ➖ noise
6 duckdb:vortex-compact -5.5% +5.2% -10.1% +38.4% ➖ noise
6 duckdb:vortex-file-compressed -0.0% +5.2% -5.0% +38.4% ➖ noise
7 datafusion:vortex-compact +0.7% +14.6% -12.1% +38.4% ➖ noise
7 datafusion:vortex-file-compressed +0.4% +14.6% -12.3% +38.4% ➖ noise
7 duckdb:vortex-compact -6.2% +14.6% -18.2% +38.4% ➖ noise
7 duckdb:vortex-file-compressed +3.8% +14.6% -9.4% +38.4% ➖ noise
8 datafusion:vortex-compact -6.6% +6.8% -12.5% +38.4% ➖ noise
8 datafusion:vortex-file-compressed -9.3% +6.8% -15.1% +38.4% ➖ noise
8 duckdb:vortex-compact +5.9% +6.8% -0.9% +38.4% ➖ noise
8 duckdb:vortex-file-compressed -5.7% +6.8% -11.8% +38.4% ➖ noise
9 datafusion:vortex-compact +0.0% +7.4% -6.8% +38.4% ➖ noise
9 datafusion:vortex-file-compressed +7.3% +7.4% -0.1% +38.4% ➖ noise
9 duckdb:vortex-compact +4.2% +7.4% -2.9% +38.4% ➖ noise
9 duckdb:vortex-file-compressed -1.2% +7.4% -8.0% +38.4% ➖ noise
10 datafusion:vortex-compact +19.9% +7.9% +11.1% +38.4% ➖ noise
10 datafusion:vortex-file-compressed -7.3% +7.9% -14.1% +38.4% ➖ noise
10 duckdb:vortex-compact +0.8% +7.9% -6.6% +38.4% ➖ noise
10 duckdb:vortex-file-compressed +8.2% +7.9% +0.2% +38.4% ➖ noise
11 datafusion:vortex-compact +14.0% +30.2% -12.5% +38.4% ➖ noise
11 datafusion:vortex-file-compressed -1.0% +30.2% -24.0% +38.4% ➖ noise
11 duckdb:vortex-compact -3.0% +30.2% -25.5% +38.4% ➖ noise
11 duckdb:vortex-file-compressed -15.2% +30.2% -34.9% +38.4% ✅ faster
12 datafusion:vortex-compact +14.7% -13.3% +32.2% +38.4% ➖ noise
12 datafusion:vortex-file-compressed -3.2% -13.3% +11.6% +38.4% ➖ noise
12 duckdb:vortex-compact -2.5% -13.3% +12.4% +38.4% ➖ noise
12 duckdb:vortex-file-compressed +11.7% -13.3% +28.8% +38.4% ➖ noise
13 datafusion:vortex-compact +3.7% +7.7% -3.7% +38.4% ➖ noise
13 datafusion:vortex-file-compressed +5.3% +7.7% -2.2% +38.4% ➖ noise
13 duckdb:vortex-compact +0.7% +7.7% -6.5% +43.1% ➖ noise
13 duckdb:vortex-file-compressed +5.4% +7.7% -2.1% +55.6% ➖ noise
14 datafusion:vortex-compact +4.1% +9.1% -4.6% +38.4% ➖ noise
14 datafusion:vortex-file-compressed +9.5% +9.1% +0.4% +38.4% ➖ noise
14 duckdb:vortex-compact -4.7% +9.1% -12.6% +38.4% ➖ noise
14 duckdb:vortex-file-compressed +21.8% +9.1% +11.7% +38.4% ➖ noise
15 datafusion:vortex-compact +8.7% +0.4% +8.2% +38.4% ➖ noise
15 datafusion:vortex-file-compressed +15.7% +0.4% +15.3% +38.4% ➖ noise
15 duckdb:vortex-compact +1.9% +0.4% +1.5% +38.4% ➖ noise
15 duckdb:vortex-file-compressed +20.4% +0.4% +19.8% +38.4% ➖ noise
16 datafusion:vortex-compact +7.3% +15.2% -6.8% +38.4% ➖ noise
16 datafusion:vortex-file-compressed -26.8% +15.2% -36.4% +38.4% ✅ faster
16 duckdb:vortex-compact +4.5% +15.2% -9.3% +38.4% ➖ noise
16 duckdb:vortex-file-compressed -12.0% +15.2% -23.5% +38.4% ➖ noise
17 datafusion:vortex-compact -1.6% +5.3% -6.5% +38.4% ➖ noise
17 datafusion:vortex-file-compressed +2.9% +5.3% -2.2% +38.4% ➖ noise
17 duckdb:vortex-compact -0.3% +5.3% -5.2% +38.4% ➖ noise
17 duckdb:vortex-file-compressed +13.6% +5.3% +7.9% +38.4% ➖ noise
18 datafusion:vortex-compact -2.7% +11.0% -12.3% +38.4% ➖ noise
18 datafusion:vortex-file-compressed -15.7% +11.0% -24.0% +38.4% ➖ noise
18 duckdb:vortex-compact +17.5% +11.0% +5.8% +38.4% ➖ noise
18 duckdb:vortex-file-compressed +8.1% +11.0% -2.6% +38.4% ➖ noise
19 datafusion:vortex-compact -33.6% +7.0% -37.9% +38.4% ✅ faster
19 datafusion:vortex-file-compressed +1.8% +7.0% -4.9% +38.4% ➖ noise
19 duckdb:vortex-compact -6.8% +7.0% -12.9% +38.4% ➖ noise
19 duckdb:vortex-file-compressed -1.1% +7.0% -7.6% +38.4% ➖ noise
20 datafusion:vortex-compact +3.5% +7.3% -3.5% +38.4% ➖ noise
20 datafusion:vortex-file-compressed -12.5% +7.3% -18.5% +38.4% ➖ noise
20 duckdb:vortex-compact +4.9% +7.3% -2.2% +38.4% ➖ noise
20 duckdb:vortex-file-compressed -3.4% +7.3% -10.0% +38.4% ➖ noise
21 datafusion:vortex-compact +3.5% +12.9% -8.4% +38.4% ➖ noise
21 datafusion:vortex-file-compressed -3.9% +12.9% -14.9% +38.4% ➖ noise
21 duckdb:vortex-compact -8.1% +12.9% -18.6% +38.4% ➖ noise
21 duckdb:vortex-file-compressed -4.7% +12.9% -15.6% +38.4% ➖ noise
22 datafusion:vortex-compact +49.1% +72.9% -13.8% +55.5% ➖ noise
22 datafusion:vortex-file-compressed -3.6% +72.9% -44.3% +63.4% ✅ faster
22 duckdb:vortex-compact -12.8% +72.9% -49.6% +59.4% ✅ faster
22 duckdb:vortex-file-compressed -20.3% +72.9% -53.9% +50.9% ✅ faster

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: Clickbench on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -0.4%
Vortex (geomean): 1.176x ❌
Parquet (geomean): 1.154x ❌
Shifts: Parquet (control) +15.4% · Median polish +15.7%


datafusion / vortex-file-compressed (1.177x ❌, 0↑ 37↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
clickbench_q00/datafusion:vortex-file-compressed 1793073 1700722 1.05
clickbench_q01/datafusion:vortex-file-compressed 14504806 13980089 1.04
clickbench_q02/datafusion:vortex-file-compressed 🚨 38345221 30621054 1.25
clickbench_q03/datafusion:vortex-file-compressed 🚨 44805136 38549789 1.16
clickbench_q04/datafusion:vortex-file-compressed 🚨 331626131 275978481 1.20
clickbench_q05/datafusion:vortex-file-compressed 🚨 359160571 303442484 1.18
clickbench_q06/datafusion:vortex-file-compressed 🚨 2177288 1661095 1.31
clickbench_q07/datafusion:vortex-file-compressed 🚨 18905140 17176324 1.10
clickbench_q08/datafusion:vortex-file-compressed 🚨 442516916 347462799 1.27
clickbench_q09/datafusion:vortex-file-compressed 🚨 673920473 554092344 1.22
clickbench_q10/datafusion:vortex-file-compressed 🚨 83159773 70332166 1.18
clickbench_q11/datafusion:vortex-file-compressed 🚨 99072779 79734650 1.24
clickbench_q12/datafusion:vortex-file-compressed 🚨 315299696 259229859 1.22
clickbench_q13/datafusion:vortex-file-compressed 🚨 499935981 414172497 1.21
clickbench_q14/datafusion:vortex-file-compressed 🚨 310315752 249486641 1.24
clickbench_q15/datafusion:vortex-file-compressed 🚨 395300854 319108665 1.24
clickbench_q16/datafusion:vortex-file-compressed 🚨 793421611 653800070 1.21
clickbench_q17/datafusion:vortex-file-compressed 🚨 771069742 647810213 1.19
clickbench_q18/datafusion:vortex-file-compressed 🚨 1548966259 1288433203 1.20
clickbench_q19/datafusion:vortex-file-compressed 🚨 33745150 24134091 1.40
clickbench_q20/datafusion:vortex-file-compressed 🚨 379770171 343001400 1.11
clickbench_q21/datafusion:vortex-file-compressed 🚨 439187222 366821726 1.20
clickbench_q22/datafusion:vortex-file-compressed 🚨 540942818 446505219 1.21
clickbench_q23/datafusion:vortex-file-compressed 🚨 808101551 727572513 1.11
clickbench_q24/datafusion:vortex-file-compressed 🚨 50602888 44623974 1.13
clickbench_q25/datafusion:vortex-file-compressed 🚨 75527413 66436831 1.14
clickbench_q26/datafusion:vortex-file-compressed 🚨 49736690 44404232 1.12
clickbench_q27/datafusion:vortex-file-compressed 🚨 798435920 711906648 1.12
clickbench_q28/datafusion:vortex-file-compressed 7202689485 6681858221 1.08
clickbench_q29/datafusion:vortex-file-compressed 242115218 234086218 1.03
clickbench_q30/datafusion:vortex-file-compressed 🚨 264636143 220689506 1.20
clickbench_q31/datafusion:vortex-file-compressed 🚨 310003609 253672436 1.22
clickbench_q32/datafusion:vortex-file-compressed 🚨 1369448652 1115475605 1.23
clickbench_q33/datafusion:vortex-file-compressed 🚨 1565288446 1294064365 1.21
clickbench_q34/datafusion:vortex-file-compressed 🚨 1592676201 1288682000 1.24
clickbench_q35/datafusion:vortex-file-compressed 🚨 582400799 472799668 1.23
clickbench_q36/datafusion:vortex-file-compressed 🚨 84703907 72105688 1.17
clickbench_q37/datafusion:vortex-file-compressed 🚨 41017335 35388017 1.16
clickbench_q38/datafusion:vortex-file-compressed 🚨 23675041 19338030 1.22
clickbench_q39/datafusion:vortex-file-compressed 🚨 152755401 133235338 1.15
clickbench_q40/datafusion:vortex-file-compressed 18059455 16429904 1.10
clickbench_q41/datafusion:vortex-file-compressed 16663758 15630273 1.07
clickbench_q42/datafusion:vortex-file-compressed 🚨 19779763 17395198 1.14
datafusion / parquet (1.161x ❌, 0↑ 36↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
clickbench_q00/datafusion:parquet 🚨 1871145 1524538 1.23
clickbench_q01/datafusion:parquet 22159027 20295562 1.09
clickbench_q02/datafusion:parquet 🚨 53582782 48209337 1.11
clickbench_q03/datafusion:parquet 🚨 45225838 37938703 1.19
clickbench_q04/datafusion:parquet 🚨 353331189 304096139 1.16
clickbench_q05/datafusion:parquet 🚨 439441347 355069299 1.24
clickbench_q06/datafusion:parquet 1566302 1558194 1.01
clickbench_q07/datafusion:parquet 23759710 21858644 1.09
clickbench_q08/datafusion:parquet 🚨 447634198 368498573 1.21
clickbench_q09/datafusion:parquet 🚨 736657892 626954017 1.17
clickbench_q10/datafusion:parquet 🚨 128879043 114146850 1.13
clickbench_q11/datafusion:parquet 🚨 159279498 133185678 1.20
clickbench_q12/datafusion:parquet 🚨 407191248 348732509 1.17
clickbench_q13/datafusion:parquet 🚨 596785294 496740545 1.20
clickbench_q14/datafusion:parquet 🚨 417561028 349701184 1.19
clickbench_q15/datafusion:parquet 🚨 409595777 333536890 1.23
clickbench_q16/datafusion:parquet 🚨 831902521 666765518 1.25
clickbench_q17/datafusion:parquet 🚨 804639952 645754155 1.25
clickbench_q18/datafusion:parquet 🚨 1644300497 1333203998 1.23
clickbench_q19/datafusion:parquet 🚨 34502625 29329723 1.18
clickbench_q20/datafusion:parquet 🚨 730667399 604894670 1.21
clickbench_q21/datafusion:parquet 🚨 809227419 669424837 1.21
clickbench_q22/datafusion:parquet 🚨 1175337106 991422283 1.19
clickbench_q23/datafusion:parquet 🚨 4539500762 3782383524 1.20
clickbench_q24/datafusion:parquet 🚨 95922991 86423789 1.11
clickbench_q25/datafusion:parquet 🚨 156941627 140707079 1.12
clickbench_q26/datafusion:parquet 🚨 92105822 83248810 1.11
clickbench_q27/datafusion:parquet 🚨 1256187614 1038965920 1.21
clickbench_q28/datafusion:parquet 🚨 7397410263 6538326006 1.13
clickbench_q29/datafusion:parquet 254645015 240514905 1.06
clickbench_q30/datafusion:parquet 🚨 395623823 339259502 1.17
clickbench_q31/datafusion:parquet 🚨 442570454 365502185 1.21
clickbench_q32/datafusion:parquet 🚨 1491575892 1239504925 1.20
clickbench_q33/datafusion:parquet 🚨 1824223715 1493657017 1.22
clickbench_q34/datafusion:parquet 🚨 1810055039 1495892125 1.21
clickbench_q35/datafusion:parquet 🚨 602103711 490384861 1.23
clickbench_q36/datafusion:parquet 🚨 156430374 142034804 1.10
clickbench_q37/datafusion:parquet 62836214 57648805 1.09
clickbench_q38/datafusion:parquet 🚨 92242605 83605146 1.10
clickbench_q39/datafusion:parquet 287441412 263896117 1.09
clickbench_q40/datafusion:parquet 🚨 34059806 30725938 1.11
clickbench_q41/datafusion:parquet 29684646 27268744 1.09
clickbench_q42/datafusion:parquet 🚨 33790095 30058526 1.12
duckdb / vortex-file-compressed (1.174x ❌, 1↑ 35↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
clickbench_q00/duckdb:vortex-file-compressed 6453542 6093134 1.06
clickbench_q01/duckdb:vortex-file-compressed 14605453 13986767 1.04
clickbench_q02/duckdb:vortex-file-compressed 🚨 30249946 27013406 1.12
clickbench_q03/duckdb:vortex-file-compressed 🚨 34270803 30912714 1.11
clickbench_q04/duckdb:vortex-file-compressed 🚨 210120179 180237759 1.17
clickbench_q05/duckdb:vortex-file-compressed 🚨 196494928 177685845 1.11
clickbench_q06/duckdb:vortex-file-compressed 20780886 19249736 1.08
clickbench_q07/duckdb:vortex-file-compressed 🚨 16788517 14758678 1.14
clickbench_q08/duckdb:vortex-file-compressed 🚨 304308721 257046903 1.18
clickbench_q09/duckdb:vortex-file-compressed 🚨 401173705 342199147 1.17
clickbench_q10/duckdb:vortex-file-compressed 🚨 79482267 68985685 1.15
clickbench_q11/duckdb:vortex-file-compressed 🚨 92239364 79368542 1.16
clickbench_q12/duckdb:vortex-file-compressed 🚨 238215398 195334909 1.22
clickbench_q13/duckdb:vortex-file-compressed 🚨 490955373 397923573 1.23
clickbench_q14/duckdb:vortex-file-compressed 🚨 291392227 239450269 1.22
clickbench_q15/duckdb:vortex-file-compressed 🚨 286121780 238668645 1.20
clickbench_q16/duckdb:vortex-file-compressed 🚨 695232242 589736962 1.18
clickbench_q17/duckdb:vortex-file-compressed 🚨 571697878 463599062 1.23
clickbench_q18/duckdb:vortex-file-compressed 🚨 1156282429 964175942 1.20
clickbench_q19/duckdb:vortex-file-compressed 🚨 24602452 22208670 1.11
clickbench_q20/duckdb:vortex-file-compressed 🚨 390759281 343805941 1.14
clickbench_q21/duckdb:vortex-file-compressed 🚨 411985086 366001906 1.13
clickbench_q22/duckdb:vortex-file-compressed 🚀 541658855 606064446 0.89
clickbench_q23/duckdb:vortex-file-compressed 🚨 1781887478 629366011 2.83
clickbench_q24/duckdb:vortex-file-compressed 🚨 49488357 42470294 1.17
clickbench_q25/duckdb:vortex-file-compressed 84340197 82089368 1.03
clickbench_q26/duckdb:vortex-file-compressed 49348679 45248783 1.09
clickbench_q27/duckdb:vortex-file-compressed 🚨 541367665 470131208 1.15
clickbench_q28/duckdb:vortex-file-compressed 🚨 3432555430 2966923566 1.16
clickbench_q29/duckdb:vortex-file-compressed 32570467 32644309 1.00
clickbench_q30/duckdb:vortex-file-compressed 🚨 235263603 194049787 1.21
clickbench_q31/duckdb:vortex-file-compressed 🚨 338235438 280142042 1.21
clickbench_q32/duckdb:vortex-file-compressed 🚨 1416265340 1141149266 1.24
clickbench_q33/duckdb:vortex-file-compressed 🚨 1441895317 1202863928 1.20
clickbench_q34/duckdb:vortex-file-compressed 🚨 1547759554 1236440836 1.25
clickbench_q35/duckdb:vortex-file-compressed 395913617 387511107 1.02
clickbench_q36/duckdb:vortex-file-compressed 🚨 33593957 27667107 1.21
clickbench_q37/duckdb:vortex-file-compressed 🚨 26636006 20916123 1.27
clickbench_q38/duckdb:vortex-file-compressed 🚨 26857233 22043015 1.22
clickbench_q39/duckdb:vortex-file-compressed 🚨 45244915 40549642 1.12
clickbench_q40/duckdb:vortex-file-compressed 🚨 23795039 20023686 1.19
clickbench_q41/duckdb:vortex-file-compressed 🚨 24523974 19811282 1.24
clickbench_q42/duckdb:vortex-file-compressed 🚨 26819380 22292209 1.20
duckdb / parquet (1.147x ❌, 0↑ 36↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
clickbench_q00/duckdb:parquet 🚨 30553962 26810021 1.14
clickbench_q01/duckdb:parquet 🚨 30894975 27339540 1.13
clickbench_q02/duckdb:parquet 🚨 53532542 47833471 1.12
clickbench_q03/duckdb:parquet 🚨 44944523 38460642 1.17
clickbench_q04/duckdb:parquet 🚨 238669644 201802587 1.18
clickbench_q05/duckdb:parquet 🚨 326394371 268208504 1.22
clickbench_q06/duckdb:parquet 50788147 46459437 1.09
clickbench_q07/duckdb:parquet 31798683 29699212 1.07
clickbench_q08/duckdb:parquet 🚨 321287326 265708252 1.21
clickbench_q09/duckdb:parquet 🚨 474455879 398189150 1.19
clickbench_q10/duckdb:parquet 🚨 91984904 80759663 1.14
clickbench_q11/duckdb:parquet 🚨 113158503 98325480 1.15
clickbench_q12/duckdb:parquet 🚨 337898153 286982032 1.18
clickbench_q13/duckdb:parquet 🚨 571415724 478825066 1.19
clickbench_q14/duckdb:parquet 🚨 377662135 328939718 1.15
clickbench_q15/duckdb:parquet 🚨 305536089 260320870 1.17
clickbench_q16/duckdb:parquet 🚨 745550646 640253635 1.16
clickbench_q17/duckdb:parquet 🚨 647848306 546410720 1.19
clickbench_q18/duckdb:parquet 🚨 1281976625 1084171770 1.18
clickbench_q19/duckdb:parquet 🚨 30063465 26116261 1.15
clickbench_q20/duckdb:parquet 🚨 490086671 423760009 1.16
clickbench_q21/duckdb:parquet 🚨 635140634 547594723 1.16
clickbench_q22/duckdb:parquet 🚨 1074715368 928212026 1.16
clickbench_q23/duckdb:parquet 🚨 350659735 308196443 1.14
clickbench_q24/duckdb:parquet 74037117 68021346 1.09
clickbench_q25/duckdb:parquet 🚨 173378705 156831500 1.11
clickbench_q26/duckdb:parquet 🚨 55485474 49867972 1.11
clickbench_q27/duckdb:parquet 🚨 723699354 643909702 1.12
clickbench_q28/duckdb:parquet 🚨 5564809848 4832604903 1.15
clickbench_q29/duckdb:parquet 44718532 41358123 1.08
clickbench_q30/duckdb:parquet 🚨 353838671 304089608 1.16
clickbench_q31/duckdb:parquet 🚨 432050702 363008162 1.19
clickbench_q32/duckdb:parquet 🚨 1395996921 1161326130 1.20
clickbench_q33/duckdb:parquet 🚨 1489351055 1327500849 1.12
clickbench_q34/duckdb:parquet 🚨 1512364206 1313256113 1.15
clickbench_q35/duckdb:parquet 🚨 411058240 364676218 1.13
clickbench_q36/duckdb:parquet 🚨 53173377 47257083 1.13
clickbench_q37/duckdb:parquet 34568648 32387485 1.07
clickbench_q38/duckdb:parquet 🚨 36201776 31422750 1.15
clickbench_q39/duckdb:parquet 🚨 93273031 73791111 1.26
clickbench_q40/duckdb:parquet 20786534 18990966 1.09
clickbench_q41/duckdb:parquet 19799190 18080841 1.10
clickbench_q42/duckdb:parquet 🚨 24064255 21256789 1.13
duckdb / duckdb (1.100x ❌, 0↑ 24↓)
name PR f4bfcff (ns) base 9fe20c5 (ns) ratio (PR/base)
clickbench_q00/duckdb:duckdb 🚨 19487940 17504873 1.11
clickbench_q01/duckdb:duckdb 34950122 33886821 1.03
clickbench_q02/duckdb:duckdb 49114099 45919906 1.07
clickbench_q03/duckdb:duckdb 49895197 46824884 1.07
clickbench_q04/duckdb:duckdb 🚨 215385876 192046658 1.12
clickbench_q05/duckdb:duckdb 🚨 311200736 270666384 1.15
clickbench_q06/duckdb:duckdb 37644520 36082595 1.04
clickbench_q07/duckdb:duckdb 37808214 35395341 1.07
clickbench_q08/duckdb:duckdb 🚨 282962261 248691360 1.14
clickbench_q09/duckdb:duckdb 🚨 418412019 367846447 1.14
clickbench_q10/duckdb:duckdb 108637258 99264963 1.09
clickbench_q11/duckdb:duckdb 🚨 120757557 108148731 1.12
clickbench_q12/duckdb:duckdb 🚨 264343075 238419341 1.11
clickbench_q13/duckdb:duckdb 527538960 488248872 1.08
clickbench_q14/duckdb:duckdb 🚨 306674656 272550900 1.13
clickbench_q15/duckdb:duckdb 🚨 252396516 220013334 1.15
clickbench_q16/duckdb:duckdb 🚨 757286038 640822749 1.18
clickbench_q17/duckdb:duckdb 🚨 661106947 541519925 1.22
clickbench_q18/duckdb:duckdb 🚨 1460846231 1289754073 1.13
clickbench_q19/duckdb:duckdb 36838449 34252328 1.08
clickbench_q20/duckdb:duckdb 🚨 1056000536 917759677 1.15
clickbench_q21/duckdb:duckdb 🚨 1112063706 989617591 1.12
clickbench_q22/duckdb:duckdb 🚨 1301797941 1089730539 1.19
clickbench_q23/duckdb:duckdb 🚨 298462585 257410495 1.16
clickbench_q24/duckdb:duckdb 66454907 61852310 1.07
clickbench_q25/duckdb:duckdb 🚨 159323637 144630465 1.10
clickbench_q26/duckdb:duckdb 66735887 61233346 1.09
clickbench_q27/duckdb:duckdb 1100841207 1079436519 1.02
clickbench_q28/duckdb:duckdb 🚨 5384187155 4628357065 1.16
clickbench_q29/duckdb:duckdb 51606588 48051638 1.07
clickbench_q30/duckdb:duckdb 🚨 303525197 262656660 1.16
clickbench_q31/duckdb:duckdb 🚨 502473255 449221104 1.12
clickbench_q32/duckdb:duckdb 1721182456 1653058798 1.04
clickbench_q33/duckdb:duckdb 2169693569 2050525978 1.06
clickbench_q34/duckdb:duckdb 🚨 2302285059 2082806884 1.11
clickbench_q35/duckdb:duckdb 🚨 319480288 279425431 1.14
clickbench_q36/duckdb:duckdb 🚨 44574455 40429154 1.10
clickbench_q37/duckdb:duckdb 31347338 31398482 1.00
clickbench_q38/duckdb:duckdb 🚨 34451051 30887522 1.12
clickbench_q39/duckdb:duckdb 67473894 66737560 1.01
clickbench_q40/duckdb:duckdb 33798447 31317571 1.08
clickbench_q41/duckdb:duckdb 31788509 31662975 1.00
clickbench_q42/duckdb:duckdb 32980602 31041168 1.06
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-file-compressed +5.4% +18.3% -10.9% +756.9% ➖ noise
0 duckdb:duckdb +11.3% +18.3% -5.9% +279.0% ➖ noise
0 duckdb:vortex-file-compressed +5.9% +18.3% -10.4% +464.2% ➖ noise
1 datafusion:vortex-file-compressed +3.8% +11.1% -6.6% +25.8% ➖ noise
1 duckdb:duckdb +3.1% +11.1% -7.1% +44.7% ➖ noise
1 duckdb:vortex-file-compressed +4.4% +11.1% -6.0% +30.4% ➖ noise
2 datafusion:vortex-file-compressed +25.2% +11.5% +12.3% +22.1% ➖ noise
2 duckdb:duckdb +7.0% +11.5% -4.1% +16.2% ➖ noise
2 duckdb:vortex-file-compressed +12.0% +11.5% +0.4% +13.2% ➖ noise
3 datafusion:vortex-file-compressed +16.2% +18.0% -1.5% +142.5% ➖ noise
3 duckdb:duckdb +6.6% +18.0% -9.7% +31.7% ➖ noise
3 duckdb:vortex-file-compressed +10.9% +18.0% -6.1% +108.2% ➖ noise
4 datafusion:vortex-file-compressed +20.2% +17.2% +2.5% +11.5% ➖ noise
4 duckdb:duckdb +12.2% +17.2% -4.3% +10.7% ➖ noise
4 duckdb:vortex-file-compressed +16.6% +17.2% -0.6% +10.7% ➖ noise
5 datafusion:vortex-file-compressed +18.4% +22.7% -3.6% +10.7% ➖ noise
5 duckdb:duckdb +15.0% +22.7% -6.3% +10.7% ➖ noise
5 duckdb:vortex-file-compressed +10.6% +22.7% -9.9% +10.7% ✅ faster
6 datafusion:vortex-file-compressed +31.1% +4.8% +25.0% +36.9% ➖ noise
6 duckdb:duckdb +4.3% +4.8% -0.5% +27.4% ➖ noise
6 duckdb:vortex-file-compressed +8.0% +4.8% +3.0% +16.6% ➖ noise
7 datafusion:vortex-file-compressed +10.1% +7.9% +2.0% +25.5% ➖ noise
7 duckdb:duckdb +6.8% +7.9% -1.0% +16.0% ➖ noise
7 duckdb:vortex-file-compressed +13.8% +7.9% +5.4% +13.4% ➖ noise
8 datafusion:vortex-file-compressed +27.4% +21.2% +5.1% +10.7% ➖ noise
8 duckdb:duckdb +13.8% +21.2% -6.1% +10.7% ➖ noise
8 duckdb:vortex-file-compressed +18.4% +21.2% -2.3% +10.7% ➖ noise
9 datafusion:vortex-file-compressed +21.6% +18.3% +2.8% +10.7% ➖ noise
9 duckdb:duckdb +13.7% +18.3% -3.9% +10.7% ➖ noise
9 duckdb:vortex-file-compressed +17.2% +18.3% -0.9% +10.7% ➖ noise
10 datafusion:vortex-file-compressed +18.2% +13.4% +4.3% +10.7% ➖ noise
10 duckdb:duckdb +9.4% +13.4% -3.5% +10.7% ➖ noise
10 duckdb:vortex-file-compressed +15.2% +13.4% +1.6% +11.2% ➖ noise
11 datafusion:vortex-file-compressed +24.3% +17.3% +5.9% +10.7% ➖ noise
11 duckdb:duckdb +11.7% +17.3% -4.8% +10.7% ➖ noise
11 duckdb:vortex-file-compressed +16.2% +17.3% -0.9% +10.7% ➖ noise
12 datafusion:vortex-file-compressed +21.6% +17.3% +3.7% +10.7% ➖ noise
12 duckdb:duckdb +10.9% +17.3% -5.4% +10.7% ➖ noise
12 duckdb:vortex-file-compressed +22.0% +17.3% +4.0% +10.7% ➖ noise
13 datafusion:vortex-file-compressed +20.7% +19.7% +0.8% +10.7% ➖ noise
13 duckdb:duckdb +8.0% +19.7% -9.8% +10.7% ✅ faster
13 duckdb:vortex-file-compressed +23.4% +19.7% +3.0% +10.7% ➖ noise
14 datafusion:vortex-file-compressed +24.4% +17.1% +6.2% +10.7% ➖ noise
14 duckdb:duckdb +12.5% +17.1% -3.9% +10.7% ➖ noise
14 duckdb:vortex-file-compressed +21.7% +17.1% +3.9% +10.7% ➖ noise
15 datafusion:vortex-file-compressed +23.9% +20.1% +3.2% +10.7% ➖ noise
15 duckdb:duckdb +14.7% +20.1% -4.4% +10.7% ➖ noise
15 duckdb:vortex-file-compressed +19.9% +20.1% -0.1% +10.7% ➖ noise
16 datafusion:vortex-file-compressed +21.4% +20.5% +0.7% +10.7% ➖ noise
16 duckdb:duckdb +18.2% +20.5% -2.0% +10.7% ➖ noise
16 duckdb:vortex-file-compressed +17.9% +20.5% -2.2% +10.7% ➖ noise
17 datafusion:vortex-file-compressed +19.0% +21.5% -2.1% +10.7% ➖ noise
17 duckdb:duckdb +22.1% +21.5% +0.4% +10.7% ➖ noise
17 duckdb:vortex-file-compressed +23.3% +21.5% +1.5% +10.7% ➖ noise
18 datafusion:vortex-file-compressed +20.2% +20.8% -0.4% +10.7% ➖ noise
18 duckdb:duckdb +13.3% +20.8% -6.2% +10.7% ➖ noise
18 duckdb:vortex-file-compressed +19.9% +20.8% -0.7% +10.7% ➖ noise
19 datafusion:vortex-file-compressed +39.8% +16.4% +20.2% +31.5% ➖ noise
19 duckdb:duckdb +7.6% +16.4% -7.6% +16.3% ➖ noise
19 duckdb:vortex-file-compressed +10.8% +16.4% -4.8% +18.5% ➖ noise
20 datafusion:vortex-file-compressed +10.7% +18.2% -6.3% +196.9% ➖ noise
20 duckdb:duckdb +15.1% +18.2% -2.6% +17.2% ➖ noise
20 duckdb:vortex-file-compressed +13.7% +18.2% -3.8% +103.5% ➖ noise
21 datafusion:vortex-file-compressed +19.7% +18.4% +1.1% +10.7% ➖ noise
21 duckdb:duckdb +12.4% +18.4% -5.1% +10.7% ➖ noise
21 duckdb:vortex-file-compressed +12.6% +18.4% -4.9% +10.7% ➖ noise
22 datafusion:vortex-file-compressed +21.2% +17.2% +3.4% +12.1% ➖ noise
22 duckdb:duckdb +19.5% +17.2% +2.0% +12.8% ➖ noise
22 duckdb:vortex-file-compressed -10.6% +17.2% -23.7% +18.6% ✅ faster
23 datafusion:vortex-file-compressed +11.1% +16.9% -5.0% +30.3% ➖ noise
23 duckdb:duckdb +15.9% +16.9% -0.8% +10.7% ➖ noise
23 duckdb:vortex-file-compressed +183.1% +16.9% +142.3% +42.0% 🚨 regression
24 datafusion:vortex-file-compressed +13.4% +9.9% +3.2% +10.7% ➖ noise
24 duckdb:duckdb +7.4% +9.9% -2.2% +10.7% ➖ noise
24 duckdb:vortex-file-compressed +16.5% +9.9% +6.0% +25.2% ➖ noise
25 datafusion:vortex-file-compressed +13.7% +11.0% +2.4% +11.8% ➖ noise
25 duckdb:duckdb +10.2% +11.0% -0.8% +10.7% ➖ noise
25 duckdb:vortex-file-compressed +2.7% +11.0% -7.5% +11.2% ➖ noise
26 datafusion:vortex-file-compressed +12.0% +11.0% +1.0% +10.7% ➖ noise
26 duckdb:duckdb +9.0% +11.0% -1.8% +12.6% ➖ noise
26 duckdb:vortex-file-compressed +9.1% +11.0% -1.7% +26.9% ➖ noise
27 datafusion:vortex-file-compressed +12.2% +16.6% -3.8% +10.7% ➖ noise
27 duckdb:duckdb +2.0% +16.6% -12.5% +10.7% ✅ faster
27 duckdb:vortex-file-compressed +15.2% +16.6% -1.2% +10.7% ➖ noise
28 datafusion:vortex-file-compressed +7.8% +14.1% -5.6% +10.7% ➖ noise
28 duckdb:duckdb +16.3% +14.1% +1.9% +10.7% ➖ noise
28 duckdb:vortex-file-compressed +15.7% +14.1% +1.4% +10.7% ➖ noise
29 datafusion:vortex-file-compressed +3.4% +7.0% -3.3% +10.7% ➖ noise
29 duckdb:duckdb +7.4% +7.0% +0.4% +10.7% ➖ noise
29 duckdb:vortex-file-compressed -0.2% +7.0% -6.7% +13.4% ➖ noise
30 datafusion:vortex-file-compressed +19.9% +16.5% +2.9% +10.7% ➖ noise
30 duckdb:duckdb +15.6% +16.5% -0.8% +10.7% ➖ noise
30 duckdb:vortex-file-compressed +21.2% +16.5% +4.1% +10.7% ➖ noise
31 datafusion:vortex-file-compressed +22.2% +20.0% +1.8% +10.7% ➖ noise
31 duckdb:duckdb +11.9% +20.0% -6.8% +10.7% ➖ noise
31 duckdb:vortex-file-compressed +20.7% +20.0% +0.6% +10.7% ➖ noise
32 datafusion:vortex-file-compressed +22.8% +20.3% +2.1% +10.7% ➖ noise
32 duckdb:duckdb +4.1% +20.3% -13.4% +10.7% ✅ faster
32 duckdb:vortex-file-compressed +24.1% +20.3% +3.2% +10.7% ➖ noise
33 datafusion:vortex-file-compressed +21.0% +17.1% +3.3% +10.7% ➖ noise
33 duckdb:duckdb +5.8% +17.1% -9.6% +10.7% ➖ noise
33 duckdb:vortex-file-compressed +19.9% +17.1% +2.4% +10.7% ➖ noise
34 datafusion:vortex-file-compressed +23.6% +18.0% +4.7% +10.7% ➖ noise
34 duckdb:duckdb +10.5% +18.0% -6.4% +10.7% ➖ noise
34 duckdb:vortex-file-compressed +25.2% +18.0% +6.0% +10.7% ➖ noise
35 datafusion:vortex-file-compressed +23.2% +17.6% +4.7% +10.7% ➖ noise
35 duckdb:duckdb +14.3% +17.6% -2.8% +10.7% ➖ noise
35 duckdb:vortex-file-compressed +2.2% +17.6% -13.2% +10.7% ✅ faster
36 datafusion:vortex-file-compressed +17.5% +11.3% +5.5% +10.7% ➖ noise
36 duckdb:duckdb +10.3% +11.3% -1.0% +10.7% ➖ noise
36 duckdb:vortex-file-compressed +21.4% +11.3% +9.1% +10.7% ➖ noise
37 datafusion:vortex-file-compressed +15.9% +7.9% +7.5% +10.7% ➖ noise
37 duckdb:duckdb -0.2% +7.9% -7.4% +10.7% ➖ noise
37 duckdb:vortex-file-compressed +27.3% +7.9% +18.1% +10.7% 🚨 regression
38 datafusion:vortex-file-compressed +22.4% +12.7% +8.6% +10.7% ➖ noise
38 duckdb:duckdb +11.5% +12.7% -1.1% +10.7% ➖ noise
38 duckdb:vortex-file-compressed +21.8% +12.7% +8.1% +10.7% ➖ noise
39 datafusion:vortex-file-compressed +14.7% +17.3% -2.3% +10.7% ➖ noise
39 duckdb:duckdb +1.1% +17.3% -13.8% +19.1% ➖ noise
39 duckdb:vortex-file-compressed +11.6% +17.3% -4.9% +11.0% ➖ noise
40 datafusion:vortex-file-compressed +9.9% +10.2% -0.2% +10.7% ➖ noise
40 duckdb:duckdb +7.9% +10.2% -2.0% +10.7% ➖ noise
40 duckdb:vortex-file-compressed +18.8% +10.2% +7.9% +10.7% ➖ noise
41 datafusion:vortex-file-compressed +6.6% +9.2% -2.4% +11.9% ➖ noise
41 duckdb:duckdb +0.4% +9.2% -8.0% +10.9% ➖ noise
41 duckdb:vortex-file-compressed +23.8% +9.2% +13.4% +15.3% ➖ noise
42 datafusion:vortex-file-compressed +13.7% +12.8% +0.8% +10.7% ➖ noise
42 duckdb:duckdb +6.2% +12.8% -5.8% +10.7% ➖ noise
42 duckdb:vortex-file-compressed +20.3% +12.8% +6.6% +10.7% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

File Sizes: Clickbench on NVME

File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
File Scale Format Base HEAD Change %
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%

Totals:

  • vortex-compact: 7.06 GB → 7.06 GB (-0.0%)
  • vortex-file-compressed: 14.01 GB → 14.01 GB (0.0%)

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: Compression

Vortex (geomean): 1.018x ➖
Parquet (geomean): 1.019x ➖


unknown / unknown (1.026x ➖, 0↑ 13↓)
name PR f4bfcff (ns) base b66f299 (ns) ratio (PR/base)
compress time/Arade 1130789894 1152186078 0.98
compress time/Bimbo 6532949868 6749562953 0.97
compress time/CMSprovider 3022073653 2925663981 1.03
compress time/Euro2016 469138807 432637872 1.08
compress time/Food 431767253 401273977 1.08
compress time/HashTags 908045529 834524276 1.09
compress time/TPC-H l_comment canonical 1315959894 1337209253 0.98
compress time/TPC-H l_comment chunked 1384588958 1325445464 1.04
compress time/taxi 726641493 717135684 1.01
compress time/wide table cols=100 chunks=1 rows=1000 11663326 11261235 1.04
compress time/wide table cols=100 chunks=50 rows=1000 11965716 11678862 1.02
compress time/wide table cols=1000 chunks=1 rows=1000 127281326 123227722 1.03
compress time/wide table cols=1000 chunks=50 rows=1000 122083685 125825334 0.97
compress time/wide table cols=10000 chunks=1 rows=1000 1408416176 1410249671 1.00
compress time/wide table cols=10000 chunks=50 rows=1000 1407713791 1400831016 1.00
decompress time/Arade 🚨 30579143 27230880 1.12
decompress time/Bimbo 94348017 95408739 0.99
decompress time/CMSprovider 🚨 101099061 80031522 1.26
decompress time/Euro2016 🚨 22104511 19418712 1.14
decompress time/Food 🚨 10639054 8806258 1.21
decompress time/HashTags 🚨 86925718 72900335 1.19
decompress time/TPC-H l_comment canonical 40335895 39648471 1.02
decompress time/TPC-H l_comment chunked 42498519 40324449 1.05
decompress time/taxi 17311374 16054502 1.08
decompress time/wide table cols=100 chunks=1 rows=1000 🚨 2751650 2410447 1.14
decompress time/wide table cols=100 chunks=50 rows=1000 2684470 2543502 1.06
decompress time/wide table cols=1000 chunks=1 rows=1000 24397172 22637903 1.08
decompress time/wide table cols=1000 chunks=50 rows=1000 24309595 22437778 1.08
decompress time/wide table cols=10000 chunks=1 rows=1000 249078249 244867487 1.02
decompress time/wide table cols=10000 chunks=50 rows=1000 257224204 243000873 1.06
parquet size/Arade 258014282 258014282 1.00
parquet size/Bimbo 384517292 384517292 1.00
parquet size/CMSprovider 376885545 376885545 1.00
parquet size/Euro2016 122975499 122975499 1.00
parquet size/Food 35699500 35699500 1.00
parquet size/HashTags 133510943 133510943 1.00
parquet size/TPC-H l_comment canonical 158358238 158358238 1.00
parquet size/TPC-H l_comment chunked 158358238 158358238 1.00
parquet size/taxi 55283635 55283635 1.00
parquet size/wide table cols=100 chunks=1 rows=1000 932404 932404 1.00
parquet size/wide table cols=100 chunks=50 rows=1000 932404 932404 1.00
parquet size/wide table cols=1000 chunks=1 rows=1000 9324004 9324004 1.00
parquet size/wide table cols=1000 chunks=50 rows=1000 9324004 9324004 1.00
parquet size/wide table cols=10000 chunks=1 rows=1000 93240004 93240004 1.00
parquet size/wide table cols=10000 chunks=50 rows=1000 93240004 93240004 1.00
parquet_rs-zstd compress time/Arade 2953992004 2942808175 1.00
parquet_rs-zstd compress time/Bimbo 14486093034 15017894834 0.96
parquet_rs-zstd compress time/CMSprovider 7803282174 7433327615 1.05
parquet_rs-zstd compress time/Euro2016 1483366407 1363831965 1.09
parquet_rs-zstd compress time/Food 913862256 881495684 1.04
parquet_rs-zstd compress time/HashTags 🚨 2591539529 2334780191 1.11
parquet_rs-zstd compress time/TPC-H l_comment canonical 3059568149 3092188675 0.99
parquet_rs-zstd compress time/TPC-H l_comment chunked 3341414081 3118202123 1.07
parquet_rs-zstd compress time/taxi 1380999462 1359557913 1.02
parquet_rs-zstd compress time/wide table cols=100 chunks=1 rows=1000 6819503 6604210 1.03
parquet_rs-zstd compress time/wide table cols=100 chunks=50 rows=1000 6618235 6639646 1.00
parquet_rs-zstd compress time/wide table cols=1000 chunks=1 rows=1000 85051318 81390110 1.04
parquet_rs-zstd compress time/wide table cols=1000 chunks=50 rows=1000 82361057 82577779 1.00
parquet_rs-zstd compress time/wide table cols=10000 chunks=1 rows=1000 855227087 869777728 0.98
parquet_rs-zstd compress time/wide table cols=10000 chunks=50 rows=1000 871938377 872878049 1.00
parquet_rs-zstd decompress time/Arade 638283605 643231697 0.99
parquet_rs-zstd decompress time/Bimbo 1706746378 1771211294 0.96
parquet_rs-zstd decompress time/CMSprovider 2125605184 1959230410 1.08
parquet_rs-zstd decompress time/Euro2016 421799693 386537585 1.09
parquet_rs-zstd decompress time/Food 234584837 215312085 1.09
parquet_rs-zstd decompress time/HashTags 🚨 775987419 641387619 1.21
parquet_rs-zstd decompress time/TPC-H l_comment canonical 556379366 576225408 0.97
parquet_rs-zstd decompress time/TPC-H l_comment chunked 575170381 571896719 1.01
parquet_rs-zstd decompress time/taxi 250382432 249774529 1.00
parquet_rs-zstd decompress time/wide table cols=100 chunks=1 rows=1000 2739997 2750099 1.00
parquet_rs-zstd decompress time/wide table cols=100 chunks=50 rows=1000 2743764 2769355 0.99
parquet_rs-zstd decompress time/wide table cols=1000 chunks=1 rows=1000 32675919 31901187 1.02
parquet_rs-zstd decompress time/wide table cols=1000 chunks=50 rows=1000 31708357 32415451 0.98
parquet_rs-zstd decompress time/wide table cols=10000 chunks=1 rows=1000 340215979 347926547 0.98
parquet_rs-zstd decompress time/wide table cols=10000 chunks=50 rows=1000 339141415 348657237 0.97
vortex-file-compressed size/Arade 145363796 145363796 1.00
vortex-file-compressed size/Bimbo 468763332 468763332 1.00
vortex-file-compressed size/CMSprovider 417907812 417907812 1.00
vortex-file-compressed size/Euro2016 163757340 163599156 1.00
vortex-file-compressed size/Food 41926936 41926936 1.00
vortex-file-compressed size/HashTags 195647828 195647828 1.00
vortex-file-compressed size/TPC-H l_comment canonical 179087360 179087360 1.00
vortex-file-compressed size/TPC-H l_comment chunked 179087360 179087360 1.00
vortex-file-compressed size/taxi 52363948 52363948 1.00
vortex-file-compressed size/wide table cols=100 chunks=1 rows=1000 930848 930848 1.00
vortex-file-compressed size/wide table cols=100 chunks=50 rows=1000 930848 930848 1.00
vortex-file-compressed size/wide table cols=1000 chunks=1 rows=1000 9293648 9293648 1.00
vortex-file-compressed size/wide table cols=1000 chunks=50 rows=1000 9293648 9293648 1.00
vortex-file-compressed size/wide table cols=10000 chunks=1 rows=1000 92957648 92957648 1.00
vortex-file-compressed size/wide table cols=10000 chunks=50 rows=1000 92957648 92957648 1.00
vortex:parquet-zstd ratio compress time/Arade 0 0 0.98
vortex:parquet-zstd ratio compress time/Bimbo 0 0 1.00
vortex:parquet-zstd ratio compress time/CMSprovider 0 0 0.98
vortex:parquet-zstd ratio compress time/Euro2016 0 0 1.00
vortex:parquet-zstd ratio compress time/Food 0 0 1.04
vortex:parquet-zstd ratio compress time/HashTags 0 0 0.98
vortex:parquet-zstd ratio compress time/TPC-H l_comment canonical 0 0 0.99
vortex:parquet-zstd ratio compress time/TPC-H l_comment chunked 0 0 0.97
vortex:parquet-zstd ratio compress time/taxi 0 0 1.00
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=1 rows=1000 1 1 1.00
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=50 rows=1000 1 1 1.03
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=1 rows=1000 1 1 0.99
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=50 rows=1000 1 1 0.97
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=1 rows=1000 1 1 1.02
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=50 rows=1000 1 1 1.01
vortex:parquet-zstd ratio decompress time/Arade 🚨 0 0 1.13
vortex:parquet-zstd ratio decompress time/Bimbo 0 0 1.03
vortex:parquet-zstd ratio decompress time/CMSprovider 🚨 0 0 1.16
vortex:parquet-zstd ratio decompress time/Euro2016 0 0 1.04
vortex:parquet-zstd ratio decompress time/Food 🚨 0 0 1.11
vortex:parquet-zstd ratio decompress time/HashTags 0 0 0.99
vortex:parquet-zstd ratio decompress time/TPC-H l_comment canonical 0 0 1.05
vortex:parquet-zstd ratio decompress time/TPC-H l_comment chunked 0 0 1.05
vortex:parquet-zstd ratio decompress time/taxi 0 0 1.08
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=1 rows=1000 🚨 1 0 1.15
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=50 rows=1000 0 0 1.07
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=1 rows=1000 0 0 1.05
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=50 rows=1000 🚨 0 0 1.11
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=1 rows=1000 0 0 1.04
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=50 rows=1000 0 0 1.09
vortex:parquet-zstd size/Arade 0 0 1.00
vortex:parquet-zstd size/Bimbo 1 1 1.00
vortex:parquet-zstd size/CMSprovider 1 1 1.00
vortex:parquet-zstd size/Euro2016 1 1 1.00
vortex:parquet-zstd size/Food 1 1 1.00
vortex:parquet-zstd size/HashTags 1 1 1.00
vortex:parquet-zstd size/TPC-H l_comment canonical 1 1 1.00
vortex:parquet-zstd size/TPC-H l_comment chunked 1 1 1.00
vortex:parquet-zstd size/taxi 0 0 1.00
vortex:parquet-zstd size/wide table cols=100 chunks=1 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=100 chunks=50 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=1000 chunks=1 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=1000 chunks=50 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=10000 chunks=1 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=10000 chunks=50 rows=1000 0 0 1.00

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 9, 2026

Benchmarks: Random Access

Vortex (geomean): 0.909x ➖
Parquet (geomean): 0.977x ➖


unknown / unknown (0.938x ➖, 7↑ 0↓)
name PR f4bfcff (ns) base b66f299 (ns) ratio (PR/base)
random-access/feature-vectors/correlated/lance-tokio-local-disk 🚀 1818210 2996521 0.61
random-access/feature-vectors/correlated/lance-tokio-local-disk-footer 1219208 1310349 0.93
random-access/feature-vectors/correlated/parquet-tokio-local-disk 8784380621 9136595352 0.96
random-access/feature-vectors/correlated/parquet-tokio-local-disk-footer 8994100977 9167770132 0.98
random-access/feature-vectors/correlated/vortex-tokio-local-disk 8033084 8554491 0.94
random-access/feature-vectors/correlated/vortex-tokio-local-disk-footer 8113698 8468633 0.96
random-access/feature-vectors/uniform/lance-tokio-local-disk 1515333 1642945 0.92
random-access/feature-vectors/uniform/lance-tokio-local-disk-footer 2313618 2500154 0.93
random-access/feature-vectors/uniform/parquet-tokio-local-disk 8813420212 9171799200 0.96
random-access/feature-vectors/uniform/parquet-tokio-local-disk-footer 8840975815 9044640600 0.98
random-access/feature-vectors/uniform/vortex-tokio-local-disk 14071333 15170186 0.93
random-access/feature-vectors/uniform/vortex-tokio-local-disk-footer 13756939 14936759 0.92
random-access/lance-tokio-local-disk 753939 771704 0.98
random-access/lance-tokio-local-disk-footer 1375567 1409350 0.98
random-access/nested-lists/correlated/lance-tokio-local-disk 267978 292290 0.92
random-access/nested-lists/correlated/lance-tokio-local-disk-footer 708266 780341 0.91
random-access/nested-lists/correlated/parquet-tokio-local-disk 136650756 137630517 0.99
random-access/nested-lists/correlated/parquet-tokio-local-disk-footer 137691948 138261169 1.00
random-access/nested-lists/correlated/vortex-tokio-local-disk 🚀 670789 798720 0.84
random-access/nested-lists/correlated/vortex-tokio-local-disk-footer 🚀 692278 817284 0.85
random-access/nested-lists/uniform/lance-tokio-local-disk 1144159 1204017 0.95
random-access/nested-lists/uniform/lance-tokio-local-disk-footer 1594927 1717923 0.93
random-access/nested-lists/uniform/parquet-tokio-local-disk 136410777 137500962 0.99
random-access/nested-lists/uniform/parquet-tokio-local-disk-footer 136261907 137199639 0.99
random-access/nested-lists/uniform/vortex-tokio-local-disk 🚀 2218878 2533776 0.88
random-access/nested-lists/uniform/vortex-tokio-local-disk-footer 🚀 2231221 2488493 0.90
random-access/nested-structs/correlated/lance-tokio-local-disk 428414 452017 0.95
random-access/nested-structs/correlated/lance-tokio-local-disk-footer 660098 694928 0.95
random-access/nested-structs/correlated/parquet-tokio-local-disk 28273994 29674538 0.95
random-access/nested-structs/correlated/parquet-tokio-local-disk-footer 28808204 29608950 0.97
random-access/nested-structs/correlated/vortex-tokio-local-disk 920060 971425 0.95
random-access/nested-structs/correlated/vortex-tokio-local-disk-footer 901969 949425 0.95
random-access/nested-structs/uniform/lance-tokio-local-disk 2903083 3018510 0.96
random-access/nested-structs/uniform/lance-tokio-local-disk-footer 3230895 3305403 0.98
random-access/nested-structs/uniform/parquet-tokio-local-disk 29182212 29874985 0.98
random-access/nested-structs/uniform/parquet-tokio-local-disk-footer 28952742 29509787 0.98
random-access/nested-structs/uniform/vortex-tokio-local-disk 1932211 2043592 0.95
random-access/nested-structs/uniform/vortex-tokio-local-disk-footer 1842208 1986361 0.93
random-access/parquet-tokio-local-disk 190309840 194574399 0.98
random-access/parquet-tokio-local-disk-footer 191973220 196169133 0.98
random-access/taxi/correlated/lance-tokio-local-disk 984677 1005732 0.98
random-access/taxi/correlated/lance-tokio-local-disk-footer 1670497 1697317 0.98
random-access/taxi/correlated/parquet-tokio-local-disk 280332189 288778022 0.97
random-access/taxi/correlated/parquet-tokio-local-disk-footer 281007202 291002720 0.97
random-access/taxi/correlated/vortex-tokio-local-disk 🚀 1905972 2256162 0.84
random-access/taxi/correlated/vortex-tokio-local-disk-footer 2073715 2264562 0.92
random-access/taxi/uniform/lance-tokio-local-disk 8685844 8804591 0.99
random-access/taxi/uniform/lance-tokio-local-disk-footer 9261957 9452249 0.98
random-access/taxi/uniform/parquet-tokio-local-disk 300071781 306568039 0.98
random-access/taxi/uniform/parquet-tokio-local-disk-footer 302825787 309950433 0.98
random-access/taxi/uniform/vortex-tokio-local-disk 4920428 5358982 0.92
random-access/taxi/uniform/vortex-tokio-local-disk-footer 4891901 5319002 0.92
random-access/vortex-tokio-local-disk 🚀 1368936 1532328 0.89
random-access/vortex-tokio-local-disk-footer 1408374 1549473 0.91

@joseph-isaacs joseph-isaacs added the action/benchmark Trigger full benchmarks to run on this PR label Apr 9, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Apr 9, 2026

// Set the validity pointer for the vector to external data, and store the buffer in auxiliary
// to keep it alive. This enables zero-copy export of validity masks.
void duckdb_vx_vector_set_validity_data(duckdb_vector ffi_vector, void *validity_ptr, idx_t capacity,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If validity_ptr points to buffer, just pass the buffer

Comment thread vortex-duckdb/cpp/vector.cpp Outdated
// Same hack for ValidityMask: access protected fields via inheritance.
class ExternalValidityMask : public ValidityMask {
public:
inline void SetExternal(validity_t *ptr, idx_t cap,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here, pass just the buffer and derive ptr from it

Comment thread vortex-duckdb/cpp/vector.cpp Outdated
*ext_buf, reinterpret_cast<TemplatedValidityData<validity_t> *>(ext_buf->get()));

// Set validity_mask, capacity, and validity_data (which keeps the buffer alive).
ext_validity->SetExternal(reinterpret_cast<validity_t *>(validity_ptr), capacity,
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Technically this will slice the class to base's validity, but as derived class doesn't have any members, it's fine. Worth adding a comment

Comment thread vortex-duckdb/cpp/vector.cpp
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs added the action/benchmark Trigger full benchmarks to run on this PR label Apr 20, 2026
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
…ty-export

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>

# Conflicts:
#	vortex-duckdb/src/exporter/constant.rs
#	vortex-duckdb/src/exporter/vector.rs
@joseph-isaacs joseph-isaacs added action/benchmark Trigger full benchmarks to run on this PR and removed action/benchmark Trigger full benchmarks to run on this PR labels Apr 20, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Apr 20, 2026
@joseph-isaacs joseph-isaacs marked this pull request as ready for review April 21, 2026 13:48
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs added the action/benchmark Trigger full benchmarks to run on this PR label Apr 21, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Apr 21, 2026
Copy link
Copy Markdown
Contributor

@myrrc myrrc left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C++ side LGTM

auto &validity = dvector->GetValidity();
// ExternalValidityMask adds no members, so this reinterpret_cast is a safe
// "downcast" that only exposes access to ValidityMask's protected fields.
auto ext_validity = reinterpret_cast<vortex::ExternalValidityMask *>(&validity);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should be a static_cast since we're downcasting to derived type

match self.value.as_ref() {
None => {
// TODO(ngates): would be good if DuckDB supported constant null vectors.
vector.set_all_false_validity();
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

set_all_false_validity is more optimal

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants