Skip to content

Refinement Types#7625

Closed
connortsui20 wants to merge 3 commits into
developfrom
ct/refinement-types
Closed

Refinement Types#7625
connortsui20 wants to merge 3 commits into
developfrom
ct/refinement-types

Conversation

@connortsui20
Copy link
Copy Markdown
Contributor

@connortsui20 connortsui20 commented Apr 24, 2026

Summary

Tracking issue: #6872

Adds refinement types as extension types by adding an is_refinement method to the ExtVTable.

The main benefit of declaring an extension type as a refinement type is that many scalar functions can push down operations directly onto the storage array since the domain of values of the refinement type is a $\subseteq$ of the domain of the storage type.

This additionally adds a "reduction rule" (it's not actually a rule here, this is checked on construction and in expressions, I don't really know if this fits into our current reduction rule system?) that will "peel back" the refinement layers of extension types if the scalar function cannot handle / has no knowledge of the refinement type, but does know about the storage type.

I think we can also do this for non-scalar array parents? Not sure.

I've also left a TODO where it would be nice if there was a way to express that a refinement type is closed under some operation. For example, if we had a PositiveInteger refinement type over Primitive, we know that it is closed under addition (ignoring overflow), so add: PositiveInteger x PositiveInteger -> PositiveInteger, but with this change alone we can only get add: PositiveInteger x PositiveInteger -> Primitive. It is unclear if this is even possible to express.

API Changes

Adds is_refinement to the ExtVTable.

Testing

Some basic refinement type unit tests.

Introduces a refinement-type mechanism for extension types. An extension vtable
declares itself a refinement of its storage dtype by returning `true` from the
new defaulted method:

    fn is_refinement(&self) -> bool { false }

Semantically this asserts that every value of the extension type is also a
value of its storage dtype, with additional invariants carried by the vtable.
Plain extension types (e.g. `Uuid` over `FSL<u8, 16>`) remain `false`: their
storage is just a physical encoding, not substitutable with the logical type.

The flag is surfaced through `ExtDTypeRef::is_refinement()` via a forwarder on
the object-safe `DynExtDType` trait.

Also adds `ExtDTypeRef::as_typed<V>()` — a borrowing downcast that does not
consume the ref — which is useful for any `ExtVTable` caller, refinement or
not.

The existing `DivisibleInt` and `EvenDivisibleInt` test extensions are rewired
as plain `ExtVTable` impls that return `true` from `is_refinement`. Their
divisibility checks now run in `unpack_native` (invoked by
`validate_scalar_value`). `EvenDivisibleInt` composes with `DivisibleInt` by
drilling through its storage via `as_typed::<DivisibleInt>()` and calling the
inner vtable's `unpack_native` before applying its own evenness check.

No behavioural impact on non-refinement extension types: the new method is
defaulted to `false` and nothing consumes it yet. A follow-up commit adds the
blanket scalar-fn pushdown that uses this flag.

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20 connortsui20 added the changelog/feature A new feature label Apr 24, 2026
@connortsui20 connortsui20 added the action/benchmark Trigger full benchmarks to run on this PR label Apr 24, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Apr 24, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done 414a56c 1 Explore Profiling Data
Previous Runs (1)
Status Commit Job Attempt Link
🟢 Done 0789568 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: PolarSignals Profiling

Vortex (geomean): 1.017x ➖


datafusion / vortex-file-compressed (1.017x ➖, 0↑ 0↓)
name PR 414a56c (ns) base cc06c60 (ns) ratio (PR/base)
polarsignals_q00/datafusion:vortex-file-compressed 120139301 124701180 0.96
polarsignals_q01/datafusion:vortex-file-compressed 269721697 289827135 0.93
polarsignals_q02/datafusion:vortex-file-compressed 24508596 23015691 1.06
polarsignals_q03/datafusion:vortex-file-compressed 272176277 268743986 1.01
polarsignals_q04/datafusion:vortex-file-compressed 12611843 11467813 1.10
polarsignals_q05/datafusion:vortex-file-compressed 15671132 15574804 1.01
polarsignals_q06/datafusion:vortex-file-compressed 19671416 18788102 1.05
polarsignals_q07/datafusion:vortex-file-compressed 14180081 13827182 1.03
polarsignals_q08/datafusion:vortex-file-compressed 358320036 353540228 1.01
polarsignals_q09/datafusion:vortex-file-compressed 10932485 10781449 1.01

@github-actions
Copy link
Copy Markdown
Contributor

File Sizes: PolarSignals Profiling

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: TPC-H SF=1 on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +1.2%
Vortex (geomean): 1.024x ➖
Parquet (geomean): 1.010x ➖
Shifts: Parquet (control) +1.0% · Median polish +1.6%


datafusion / vortex-file-compressed (1.052x ➖, 0↑ 5↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 53305657 53287314 1.00
tpch_q02/datafusion:vortex-file-compressed 🚨 27666017 21954906 1.26
tpch_q03/datafusion:vortex-file-compressed 28704958 28313083 1.01
tpch_q04/datafusion:vortex-file-compressed 21848651 22870901 0.96
tpch_q05/datafusion:vortex-file-compressed 50419395 49250321 1.02
tpch_q06/datafusion:vortex-file-compressed 13184348 13528674 0.97
tpch_q07/datafusion:vortex-file-compressed 🚨 62355474 54705298 1.14
tpch_q08/datafusion:vortex-file-compressed 41908124 39150148 1.07
tpch_q09/datafusion:vortex-file-compressed 53530347 53125834 1.01
tpch_q10/datafusion:vortex-file-compressed 🚨 44737938 39794090 1.12
tpch_q11/datafusion:vortex-file-compressed 15920739 15607593 1.02
tpch_q12/datafusion:vortex-file-compressed 27393170 26666839 1.03
tpch_q13/datafusion:vortex-file-compressed 25280460 24769393 1.02
tpch_q14/datafusion:vortex-file-compressed 17687295 17073328 1.04
tpch_q15/datafusion:vortex-file-compressed 27053252 26346503 1.03
tpch_q16/datafusion:vortex-file-compressed 🚨 21705841 19142938 1.13
tpch_q17/datafusion:vortex-file-compressed 68496882 67863260 1.01
tpch_q18/datafusion:vortex-file-compressed 83242188 81047706 1.03
tpch_q19/datafusion:vortex-file-compressed 25612128 23604691 1.09
tpch_q20/datafusion:vortex-file-compressed 30618679 30116260 1.02
tpch_q21/datafusion:vortex-file-compressed 77109935 73152841 1.05
tpch_q22/datafusion:vortex-file-compressed 🚨 14892841 12806251 1.16
datafusion / vortex-compact (1.059x ➖, 0↑ 4↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 60230126 59715631 1.01
tpch_q02/datafusion:vortex-compact 🚨 31593583 25405218 1.24
tpch_q03/datafusion:vortex-compact 30714773 30323817 1.01
tpch_q04/datafusion:vortex-compact 25025354 25075770 1.00
tpch_q05/datafusion:vortex-compact 53904173 50958239 1.06
tpch_q06/datafusion:vortex-compact 14987156 14910925 1.01
tpch_q07/datafusion:vortex-compact 🚨 68914088 59933660 1.15
tpch_q08/datafusion:vortex-compact 45877215 44241290 1.04
tpch_q09/datafusion:vortex-compact 61678959 56958867 1.08
tpch_q10/datafusion:vortex-compact 🚨 53328410 45898364 1.16
tpch_q11/datafusion:vortex-compact 17500803 16812973 1.04
tpch_q12/datafusion:vortex-compact 35455155 34051488 1.04
tpch_q13/datafusion:vortex-compact 33326124 31686413 1.05
tpch_q14/datafusion:vortex-compact 21534862 20357645 1.06
tpch_q15/datafusion:vortex-compact 35248815 33750070 1.04
tpch_q16/datafusion:vortex-compact 24951550 23083033 1.08
tpch_q17/datafusion:vortex-compact 73921690 70803905 1.04
tpch_q18/datafusion:vortex-compact 84784117 84888883 1.00
tpch_q19/datafusion:vortex-compact 33155776 30770463 1.08
tpch_q20/datafusion:vortex-compact 33839147 35153450 0.96
tpch_q21/datafusion:vortex-compact 82460937 80813276 1.02
tpch_q22/datafusion:vortex-compact 🚨 14844532 12783705 1.16
datafusion / parquet (1.026x ➖, 1↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 135768408 135722807 1.00
tpch_q02/datafusion:parquet 64514980 62203407 1.04
tpch_q03/datafusion:parquet 76225965 73474128 1.04
tpch_q04/datafusion:parquet 46299033 45195519 1.02
tpch_q05/datafusion:parquet 96333929 94664514 1.02
tpch_q06/datafusion:parquet 🚀 35127942 43916824 0.80
tpch_q07/datafusion:parquet 108349715 105695364 1.03
tpch_q08/datafusion:parquet 99798094 99875663 1.00
tpch_q09/datafusion:parquet 135189357 123109508 1.10
tpch_q10/datafusion:parquet 116047159 112125202 1.03
tpch_q11/datafusion:parquet 44696089 42878572 1.04
tpch_q12/datafusion:parquet 93026080 87804547 1.06
tpch_q13/datafusion:parquet 198478779 190915898 1.04
tpch_q14/datafusion:parquet 46484437 48205366 0.96
tpch_q15/datafusion:parquet 63981726 59549942 1.07
tpch_q16/datafusion:parquet 45986442 44174167 1.04
tpch_q17/datafusion:parquet 135698868 130789143 1.04
tpch_q18/datafusion:parquet 161252670 159197766 1.01
tpch_q19/datafusion:parquet 🚨 91687159 82765427 1.11
tpch_q20/datafusion:parquet 72750756 70539476 1.03
tpch_q21/datafusion:parquet 142798524 130269425 1.10
tpch_q22/datafusion:parquet 31550748 30610661 1.03
datafusion / arrow (1.036x ➖, 0↑ 2↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:arrow 54154807 51894582 1.04
tpch_q02/datafusion:arrow 19109712 18838185 1.01
tpch_q03/datafusion:arrow 30520675 30183591 1.01
tpch_q04/datafusion:arrow 26748840 25407028 1.05
tpch_q05/datafusion:arrow 77835531 73233349 1.06
tpch_q06/datafusion:arrow 🚨 23894217 19888173 1.20
tpch_q07/datafusion:arrow 105517283 99300894 1.06
tpch_q08/datafusion:arrow 44655340 43348508 1.03
tpch_q09/datafusion:arrow 64331026 64704384 0.99
tpch_q10/datafusion:arrow 48131812 49886913 0.96
tpch_q11/datafusion:arrow 9155774 9114333 1.00
tpch_q12/datafusion:arrow 52766169 53211249 0.99
tpch_q13/datafusion:arrow 47300652 47495752 1.00
tpch_q14/datafusion:arrow 21704481 21196709 1.02
tpch_q15/datafusion:arrow 42445000 43600731 0.97
tpch_q16/datafusion:arrow 18569126 18393815 1.01
tpch_q17/datafusion:arrow 69335511 66022591 1.05
tpch_q18/datafusion:arrow 139144028 129559216 1.07
tpch_q19/datafusion:arrow 36853495 34891164 1.06
tpch_q20/datafusion:arrow 🚨 37068383 33575997 1.10
tpch_q21/datafusion:arrow 152839380 144297782 1.06
tpch_q22/datafusion:arrow 17978069 17293868 1.04
duckdb / vortex-file-compressed (0.990x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 31279435 31551496 0.99
tpch_q02/duckdb:vortex-file-compressed 23553260 24677860 0.95
tpch_q03/duckdb:vortex-file-compressed 29022716 29380724 0.99
tpch_q04/duckdb:vortex-file-compressed 28799583 29255737 0.98
tpch_q05/duckdb:vortex-file-compressed 32548148 33077768 0.98
tpch_q06/duckdb:vortex-file-compressed 10282068 10603706 0.97
tpch_q07/duckdb:vortex-file-compressed 36814137 38218039 0.96
tpch_q08/duckdb:vortex-file-compressed 37692871 37827519 1.00
tpch_q09/duckdb:vortex-file-compressed 71354172 74892862 0.95
tpch_q10/duckdb:vortex-file-compressed 34843990 35232734 0.99
tpch_q11/duckdb:vortex-file-compressed 14726908 14669583 1.00
tpch_q12/duckdb:vortex-file-compressed 21785806 22340074 0.98
tpch_q13/duckdb:vortex-file-compressed 34361001 34048988 1.01
tpch_q14/duckdb:vortex-file-compressed 20476966 20046997 1.02
tpch_q15/duckdb:vortex-file-compressed 16336571 16160613 1.01
tpch_q16/duckdb:vortex-file-compressed 27673279 27733114 1.00
tpch_q17/duckdb:vortex-file-compressed 24158153 24646497 0.98
tpch_q18/duckdb:vortex-file-compressed 49393457 49399486 1.00
tpch_q19/duckdb:vortex-file-compressed 29047817 28624616 1.01
tpch_q20/duckdb:vortex-file-compressed 32954887 33712185 0.98
tpch_q21/duckdb:vortex-file-compressed 105236758 104379540 1.01
tpch_q22/duckdb:vortex-file-compressed 16854953 16604745 1.02
duckdb / vortex-compact (0.996x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 38529266 38299864 1.01
tpch_q02/duckdb:vortex-compact 34808118 36658127 0.95
tpch_q03/duckdb:vortex-compact 32159675 31473560 1.02
tpch_q04/duckdb:vortex-compact 34352282 34951741 0.98
tpch_q05/duckdb:vortex-compact 37281331 36937201 1.01
tpch_q06/duckdb:vortex-compact 15505088 15598110 0.99
tpch_q07/duckdb:vortex-compact 41897547 41823735 1.00
tpch_q08/duckdb:vortex-compact 44688665 44095673 1.01
tpch_q09/duckdb:vortex-compact 83437689 83189818 1.00
tpch_q10/duckdb:vortex-compact 39969692 38608184 1.04
tpch_q11/duckdb:vortex-compact 18390048 19052986 0.97
tpch_q12/duckdb:vortex-compact 34541333 34181046 1.01
tpch_q13/duckdb:vortex-compact 44141117 43710802 1.01
tpch_q14/duckdb:vortex-compact 28629045 29230352 0.98
tpch_q15/duckdb:vortex-compact 19127678 19476186 0.98
tpch_q16/duckdb:vortex-compact 35106887 36099329 0.97
tpch_q17/duckdb:vortex-compact 30152119 30220706 1.00
tpch_q18/duckdb:vortex-compact 49892687 50428930 0.99
tpch_q19/duckdb:vortex-compact 34564801 35230204 0.98
tpch_q20/duckdb:vortex-compact 40470834 41298872 0.98
tpch_q21/duckdb:vortex-compact 110396471 109348191 1.01
tpch_q22/duckdb:vortex-compact 19629874 19355444 1.01
duckdb / parquet (0.993x ➖, 1↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 76542128 76404935 1.00
tpch_q02/duckdb:parquet 38296542 38643604 0.99
tpch_q03/duckdb:parquet 🚀 68656839 80297513 0.86
tpch_q04/duckdb:parquet 47102776 46868420 1.01
tpch_q05/duckdb:parquet 65017829 66345812 0.98
tpch_q06/duckdb:parquet 19919163 20580497 0.97
tpch_q07/duckdb:parquet 66617317 71034448 0.94
tpch_q08/duckdb:parquet 88361611 88948759 0.99
tpch_q09/duckdb:parquet 150866796 144033239 1.05
tpch_q10/duckdb:parquet 124351512 115307437 1.08
tpch_q11/duckdb:parquet 22455205 22159806 1.01
tpch_q12/duckdb:parquet 45677084 46164485 0.99
tpch_q13/duckdb:parquet 249394628 247504349 1.01
tpch_q14/duckdb:parquet 48853004 48172391 1.01
tpch_q15/duckdb:parquet 24517296 25386123 0.97
tpch_q16/duckdb:parquet 55130578 55279362 1.00
tpch_q17/duckdb:parquet 56312037 53705605 1.05
tpch_q18/duckdb:parquet 117604988 113648534 1.03
tpch_q19/duckdb:parquet 63228168 65214578 0.97
tpch_q20/duckdb:parquet 62879655 62962627 1.00
tpch_q21/duckdb:parquet 161309208 160032673 1.01
tpch_q22/duckdb:parquet 50686300 52204958 0.97
duckdb / duckdb (1.001x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 15948477 16022219 1.00
tpch_q02/duckdb:duckdb 11925515 12352657 0.97
tpch_q03/duckdb:duckdb 18869473 18427825 1.02
tpch_q04/duckdb:duckdb 19023649 19263412 0.99
tpch_q05/duckdb:duckdb 20068029 19840492 1.01
tpch_q06/duckdb:duckdb 5349950 5383148 0.99
tpch_q07/duckdb:duckdb 22298770 22048424 1.01
tpch_q08/duckdb:duckdb 21699684 20751856 1.05
tpch_q09/duckdb:duckdb 55548434 52764055 1.05
tpch_q10/duckdb:duckdb 43594756 43562531 1.00
tpch_q11/duckdb:duckdb 5794286 5669576 1.02
tpch_q12/duckdb:duckdb 13704664 13498352 1.02
tpch_q13/duckdb:duckdb 37594016 39035511 0.96
tpch_q14/duckdb:duckdb 17287538 16616102 1.04
tpch_q15/duckdb:duckdb 12171901 11842036 1.03
tpch_q16/duckdb:duckdb 24043571 24027182 1.00
tpch_q17/duckdb:duckdb 13776235 13711663 1.00
tpch_q18/duckdb:duckdb 37973100 38010524 1.00
tpch_q19/duckdb:duckdb 25347887 27646338 0.92
tpch_q20/duckdb:duckdb 22268165 23190071 0.96
tpch_q21/duckdb:duckdb 55406402 55212701 1.00
tpch_q22/duckdb:duckdb 24360872 24380005 1.00
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:arrow +4.4% +0.1% +4.2% +16.3% ➖ noise
1 datafusion:vortex-compact +0.9% +0.1% +0.8% +15.9% ➖ noise
1 datafusion:vortex-file-compressed +0.0% +0.1% -0.1% +16.8% ➖ noise
1 duckdb:duckdb -0.5% +0.1% -0.6% +15.6% ➖ noise
1 duckdb:vortex-compact +0.6% +0.1% +0.5% +14.7% ➖ noise
1 duckdb:vortex-file-compressed -0.9% +0.1% -1.0% +18.2% ➖ noise
2 datafusion:arrow +1.4% +1.4% +0.1% +11.2% ➖ noise
2 datafusion:vortex-compact +24.4% +1.4% +22.7% +11.2% 🚨 regression
2 datafusion:vortex-file-compressed +26.0% +1.4% +24.3% +11.2% 🚨 regression
2 duckdb:duckdb -3.5% +1.4% -4.8% +11.6% ➖ noise
2 duckdb:vortex-compact -5.0% +1.4% -6.3% +11.2% ➖ noise
2 duckdb:vortex-file-compressed -4.6% +1.4% -5.9% +11.2% ➖ noise
3 datafusion:arrow +1.1% -5.8% +7.4% +11.2% ➖ noise
3 datafusion:vortex-compact +1.3% -5.8% +7.5% +11.2% ➖ noise
3 datafusion:vortex-file-compressed +1.4% -5.8% +7.6% +11.2% ➖ noise
3 duckdb:duckdb +2.4% -5.8% +8.7% +11.7% ➖ noise
3 duckdb:vortex-compact +2.2% -5.8% +8.5% +11.2% ➖ noise
3 duckdb:vortex-file-compressed -1.2% -5.8% +4.9% +12.9% ➖ noise
4 datafusion:arrow +5.3% +1.5% +3.8% +11.2% ➖ noise
4 datafusion:vortex-compact -0.2% +1.5% -1.6% +11.2% ➖ noise
4 datafusion:vortex-file-compressed -4.5% +1.5% -5.9% +11.2% ➖ noise
4 duckdb:duckdb -1.2% +1.5% -2.7% +11.2% ➖ noise
4 duckdb:vortex-compact -1.7% +1.5% -3.1% +11.2% ➖ noise
4 duckdb:vortex-file-compressed -1.6% +1.5% -3.0% +11.2% ➖ noise
5 datafusion:arrow +6.3% -0.1% +6.4% +11.2% ➖ noise
5 datafusion:vortex-compact +5.8% -0.1% +5.9% +11.2% ➖ noise
5 datafusion:vortex-file-compressed +2.4% -0.1% +2.5% +11.2% ➖ noise
5 duckdb:duckdb +1.1% -0.1% +1.3% +11.2% ➖ noise
5 duckdb:vortex-compact +0.9% -0.1% +1.1% +11.2% ➖ noise
5 duckdb:vortex-file-compressed -1.6% -0.1% -1.5% +14.1% ➖ noise
6 datafusion:arrow +20.1% -12.0% +36.5% +16.2% 🚨 regression
6 datafusion:vortex-compact +0.5% -12.0% +14.2% +15.9% ➖ noise
6 datafusion:vortex-file-compressed -2.5% -12.0% +10.8% +18.2% ➖ noise
6 duckdb:duckdb -0.6% -12.0% +13.0% +16.2% ➖ noise
6 duckdb:vortex-compact -0.6% -12.0% +13.0% +23.5% ➖ noise
6 duckdb:vortex-file-compressed -3.0% -12.0% +10.2% +15.1% ➖ noise
7 datafusion:arrow +6.3% -2.0% +8.4% +11.2% ➖ noise
7 datafusion:vortex-compact +15.0% -2.0% +17.3% +11.2% 🚨 regression
7 datafusion:vortex-file-compressed +14.0% -2.0% +16.3% +11.2% 🚨 regression
7 duckdb:duckdb +1.1% -2.0% +3.1% +11.2% ➖ noise
7 duckdb:vortex-compact +0.2% -2.0% +2.2% +11.2% ➖ noise
7 duckdb:vortex-file-compressed -3.7% -2.0% -1.8% +11.2% ➖ noise
8 datafusion:arrow +3.0% -0.4% +3.4% +11.2% ➖ noise
8 datafusion:vortex-compact +3.7% -0.4% +4.1% +11.2% ➖ noise
8 datafusion:vortex-file-compressed +7.0% -0.4% +7.4% +11.2% ➖ noise
8 duckdb:duckdb +4.6% -0.4% +5.0% +11.2% ➖ noise
8 duckdb:vortex-compact +1.3% -0.4% +1.7% +11.2% ➖ noise
8 duckdb:vortex-file-compressed -0.4% -0.4% +0.0% +11.9% ➖ noise
9 datafusion:arrow -0.6% +7.2% -7.3% +11.2% ➖ noise
9 datafusion:vortex-compact +8.3% +7.2% +1.0% +11.2% ➖ noise
9 datafusion:vortex-file-compressed +0.8% +7.2% -6.0% +11.2% ➖ noise
9 duckdb:duckdb +5.3% +7.2% -1.8% +11.2% ➖ noise
9 duckdb:vortex-compact +0.3% +7.2% -6.5% +11.2% ➖ noise
9 duckdb:vortex-file-compressed -4.7% +7.2% -11.2% +11.2% ✅ faster
10 datafusion:arrow -3.5% +5.6% -8.7% +11.2% ➖ noise
10 datafusion:vortex-compact +16.2% +5.6% +10.0% +11.2% ➖ noise
10 datafusion:vortex-file-compressed +12.4% +5.6% +6.4% +11.2% ➖ noise
10 duckdb:duckdb +0.1% +5.6% -5.3% +11.2% ➖ noise
10 duckdb:vortex-compact +3.5% +5.6% -2.0% +11.2% ➖ noise
10 duckdb:vortex-file-compressed -1.1% +5.6% -6.4% +11.2% ➖ noise
11 datafusion:arrow +0.5% +2.8% -2.3% +11.2% ➖ noise
11 datafusion:vortex-compact +4.1% +2.8% +1.3% +11.2% ➖ noise
11 datafusion:vortex-file-compressed +2.0% +2.8% -0.7% +11.2% ➖ noise
11 duckdb:duckdb +2.2% +2.8% -0.6% +11.2% ➖ noise
11 duckdb:vortex-compact -3.5% +2.8% -6.1% +11.2% ➖ noise
11 duckdb:vortex-file-compressed +0.4% +2.8% -2.3% +20.1% ➖ noise
12 datafusion:arrow -0.8% +2.4% -3.1% +18.4% ➖ noise
12 datafusion:vortex-compact +4.1% +2.4% +1.7% +11.2% ➖ noise
12 datafusion:vortex-file-compressed +2.7% +2.4% +0.3% +11.5% ➖ noise
12 duckdb:duckdb +1.5% +2.4% -0.8% +11.3% ➖ noise
12 duckdb:vortex-compact +1.1% +2.4% -1.3% +11.2% ➖ noise
12 duckdb:vortex-file-compressed -2.5% +2.4% -4.8% +11.6% ➖ noise
13 datafusion:arrow -0.4% +2.4% -2.7% +11.2% ➖ noise
13 datafusion:vortex-compact +5.2% +2.4% +2.8% +11.2% ➖ noise
13 datafusion:vortex-file-compressed +2.1% +2.4% -0.3% +11.2% ➖ noise
13 duckdb:duckdb -3.7% +2.4% -5.9% +12.9% ➖ noise
13 duckdb:vortex-compact +1.0% +2.4% -1.3% +11.2% ➖ noise
13 duckdb:vortex-file-compressed +0.9% +2.4% -1.4% +11.2% ➖ noise
14 datafusion:arrow +2.4% -1.1% +3.5% +13.3% ➖ noise
14 datafusion:vortex-compact +5.8% -1.1% +7.0% +11.2% ➖ noise
14 datafusion:vortex-file-compressed +3.6% -1.1% +4.8% +12.9% ➖ noise
14 duckdb:duckdb +4.0% -1.1% +5.2% +17.3% ➖ noise
14 duckdb:vortex-compact -2.1% -1.1% -1.0% +11.2% ➖ noise
14 duckdb:vortex-file-compressed +2.1% -1.1% +3.3% +14.4% ➖ noise
15 datafusion:arrow -2.7% +1.9% -4.4% +12.5% ➖ noise
15 datafusion:vortex-compact +4.4% +1.9% +2.5% +12.8% ➖ noise
15 datafusion:vortex-file-compressed +2.7% +1.9% +0.8% +12.2% ➖ noise
15 duckdb:duckdb +2.8% +1.9% +0.9% +20.0% ➖ noise
15 duckdb:vortex-compact -1.8% +1.9% -3.6% +16.8% ➖ noise
15 duckdb:vortex-file-compressed +1.1% +1.9% -0.8% +12.8% ➖ noise
16 datafusion:arrow +1.0% +1.9% -0.9% +11.2% ➖ noise
16 datafusion:vortex-compact +8.1% +1.9% +6.1% +11.2% ➖ noise
16 datafusion:vortex-file-compressed +13.4% +1.9% +11.3% +11.2% 🚨 regression
16 duckdb:duckdb +0.1% +1.9% -1.8% +11.2% ➖ noise
16 duckdb:vortex-compact -2.7% +1.9% -4.6% +11.2% ➖ noise
16 duckdb:vortex-file-compressed -0.2% +1.9% -2.1% +11.2% ➖ noise
17 datafusion:arrow +5.0% +4.3% +0.7% +11.7% ➖ noise
17 datafusion:vortex-compact +4.4% +4.3% +0.1% +11.2% ➖ noise
17 datafusion:vortex-file-compressed +0.9% +4.3% -3.2% +11.2% ➖ noise
17 duckdb:duckdb +0.5% +4.3% -3.7% +11.2% ➖ noise
17 duckdb:vortex-compact -0.2% +4.3% -4.3% +12.2% ➖ noise
17 duckdb:vortex-file-compressed -2.0% +4.3% -6.0% +15.3% ➖ noise
18 datafusion:arrow +7.4% +2.4% +4.9% +11.2% ➖ noise
18 datafusion:vortex-compact -0.1% +2.4% -2.4% +11.2% ➖ noise
18 datafusion:vortex-file-compressed +2.7% +2.4% +0.3% +11.2% ➖ noise
18 duckdb:duckdb -0.1% +2.4% -2.4% +11.2% ➖ noise
18 duckdb:vortex-compact -1.1% +2.4% -3.4% +11.2% ➖ noise
18 duckdb:vortex-file-compressed -0.0% +2.4% -2.3% +11.2% ➖ noise
19 datafusion:arrow +5.6% +3.6% +1.9% +17.0% ➖ noise
19 datafusion:vortex-compact +7.8% +3.6% +4.0% +13.8% ➖ noise
19 datafusion:vortex-file-compressed +8.5% +3.6% +4.7% +14.5% ➖ noise
19 duckdb:duckdb -8.3% +3.6% -11.5% +17.1% ➖ noise
19 duckdb:vortex-compact -1.9% +3.6% -5.3% +15.1% ➖ noise
19 duckdb:vortex-file-compressed +1.5% +3.6% -2.1% +14.8% ➖ noise
20 datafusion:arrow +10.4% +1.5% +8.8% +11.2% ➖ noise
20 datafusion:vortex-compact -3.7% +1.5% -5.2% +11.2% ➖ noise
20 datafusion:vortex-file-compressed +1.7% +1.5% +0.2% +11.2% ➖ noise
20 duckdb:duckdb -4.0% +1.5% -5.4% +11.2% ➖ noise
20 duckdb:vortex-compact -2.0% +1.5% -3.4% +11.2% ➖ noise
20 duckdb:vortex-file-compressed -2.2% +1.5% -3.7% +11.2% ➖ noise
21 datafusion:arrow +5.9% +5.1% +0.8% +11.2% ➖ noise
21 datafusion:vortex-compact +2.0% +5.1% -2.9% +11.2% ➖ noise
21 datafusion:vortex-file-compressed +5.4% +5.1% +0.3% +11.2% ➖ noise
21 duckdb:duckdb +0.4% +5.1% -4.5% +11.2% ➖ noise
21 duckdb:vortex-compact +1.0% +5.1% -4.0% +11.2% ➖ noise
21 duckdb:vortex-file-compressed +0.8% +5.1% -4.1% +11.2% ➖ noise
22 datafusion:arrow +4.0% +0.0% +3.9% +11.2% ➖ noise
22 datafusion:vortex-compact +16.1% +0.0% +16.1% +11.2% 🚨 regression
22 datafusion:vortex-file-compressed +16.3% +0.0% +16.3% +11.2% 🚨 regression
22 duckdb:duckdb -0.1% +0.0% -0.1% +11.2% ➖ noise
22 duckdb:vortex-compact +1.4% +0.0% +1.4% +11.2% ➖ noise
22 duckdb:vortex-file-compressed +1.5% +0.0% +1.5% +11.2% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: FineWeb NVMe

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


datafusion / vortex-file-compressed (1.003x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 4803588 4900442 0.98
fineweb_q01/datafusion:vortex-file-compressed 18825985 19358396 0.97
fineweb_q02/datafusion:vortex-file-compressed 22375651 22462871 1.00
fineweb_q03/datafusion:vortex-file-compressed 🚨 81905429 71784067 1.14
fineweb_q04/datafusion:vortex-file-compressed 230785109 237739745 0.97
fineweb_q05/datafusion:vortex-file-compressed 217518581 214696659 1.01
fineweb_q06/datafusion:vortex-file-compressed 51728743 51363518 1.01
fineweb_q07/datafusion:vortex-file-compressed 58457169 61972386 0.94
fineweb_q08/datafusion:vortex-file-compressed 21817101 21495084 1.01
datafusion / vortex-compact (0.999x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 5644587 5568113 1.01
fineweb_q01/datafusion:vortex-compact 125076784 124770356 1.00
fineweb_q02/datafusion:vortex-compact 134548233 128536304 1.05
fineweb_q03/datafusion:vortex-compact 1025380968 1027615091 1.00
fineweb_q04/datafusion:vortex-compact 1098558993 1110950350 0.99
fineweb_q05/datafusion:vortex-compact 938531838 959325179 0.98
fineweb_q06/datafusion:vortex-compact 539360983 530138547 1.02
fineweb_q07/datafusion:vortex-compact 538762529 540466956 1.00
fineweb_q08/datafusion:vortex-compact 18359826 19219244 0.96
datafusion / parquet (0.999x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 6576200 6345007 1.04
fineweb_q01/datafusion:parquet 279403218 286234372 0.98
fineweb_q02/datafusion:parquet 282174365 284817246 0.99
fineweb_q03/datafusion:parquet 284611733 278499485 1.02
fineweb_q04/datafusion:parquet 295787973 291839787 1.01
fineweb_q05/datafusion:parquet 291080178 296971357 0.98
fineweb_q06/datafusion:parquet 282381234 287823964 0.98
fineweb_q07/datafusion:parquet 276288856 278108439 0.99
fineweb_q08/datafusion:parquet 274998347 274076263 1.00
duckdb / vortex-file-compressed (0.975x ➖, 1↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 2998943 3104865 0.97
fineweb_q01/duckdb:vortex-file-compressed 22170619 21856237 1.01
fineweb_q02/duckdb:vortex-file-compressed 22562352 23155269 0.97
fineweb_q03/duckdb:vortex-file-compressed 🚀 127719969 154688607 0.83
fineweb_q04/duckdb:vortex-file-compressed 219925041 221206714 0.99
fineweb_q05/duckdb:vortex-file-compressed 208413628 210754055 0.99
fineweb_q06/duckdb:vortex-file-compressed 53182122 51438221 1.03
fineweb_q07/duckdb:vortex-file-compressed 53911097 54137663 1.00
fineweb_q08/duckdb:vortex-file-compressed 22511628 22581527 1.00
duckdb / vortex-compact (0.973x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 3798852 3964139 0.96
fineweb_q01/duckdb:vortex-compact 107967520 118237435 0.91
fineweb_q02/duckdb:vortex-compact 110896322 115198565 0.96
fineweb_q03/duckdb:vortex-compact 856575492 846949140 1.01
fineweb_q04/duckdb:vortex-compact 894271508 898205305 1.00
fineweb_q05/duckdb:vortex-compact 801287838 810206850 0.99
fineweb_q06/duckdb:vortex-compact 462643462 456311594 1.01
fineweb_q07/duckdb:vortex-compact 468105529 478328858 0.98
fineweb_q08/duckdb:vortex-compact 19406867 20709324 0.94
duckdb / parquet (1.010x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 30925306 30358510 1.02
fineweb_q01/duckdb:parquet 81180214 80939342 1.00
fineweb_q02/duckdb:parquet 84236985 82373823 1.02
fineweb_q03/duckdb:parquet 310642364 307740334 1.01
fineweb_q04/duckdb:parquet 437235028 436013708 1.00
fineweb_q05/duckdb:parquet 408163882 408601626 1.00
fineweb_q06/duckdb:parquet 197696671 195323732 1.01
fineweb_q07/duckdb:parquet 207665804 206495444 1.01
fineweb_q08/duckdb:parquet 28527368 28165064 1.01
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-compact +1.4% +2.8% -1.3% +49.4% ➖ noise
0 datafusion:vortex-file-compressed -2.0% +2.8% -4.6% +49.4% ➖ noise
0 duckdb:vortex-compact -4.2% +2.8% -6.7% +163.2% ➖ noise
0 duckdb:vortex-file-compressed -3.4% +2.8% -6.0% +87.4% ➖ noise
1 datafusion:vortex-compact +0.2% -1.1% +1.3% +10.0% ➖ noise
1 datafusion:vortex-file-compressed -2.8% -1.1% -1.7% +30.8% ➖ noise
1 duckdb:vortex-compact -8.7% -1.1% -7.7% +16.5% ➖ noise
1 duckdb:vortex-file-compressed +1.4% -1.1% +2.5% +61.4% ➖ noise
2 datafusion:vortex-compact +4.7% +0.7% +4.0% +10.0% ➖ noise
2 datafusion:vortex-file-compressed -0.4% +0.7% -1.0% +14.8% ➖ noise
2 duckdb:vortex-compact -3.7% +0.7% -4.4% +14.4% ➖ noise
2 duckdb:vortex-file-compressed -2.6% +0.7% -3.2% +10.0% ➖ noise
3 datafusion:vortex-compact -0.2% +1.6% -1.8% +10.0% ➖ noise
3 datafusion:vortex-file-compressed +14.1% +1.6% +12.3% +37.9% ➖ noise
3 duckdb:vortex-compact +1.1% +1.6% -0.4% +10.0% ➖ noise
3 duckdb:vortex-file-compressed -17.4% +1.6% -18.7% +31.7% ➖ noise
4 datafusion:vortex-compact -1.1% +0.8% -1.9% +10.0% ➖ noise
4 datafusion:vortex-file-compressed -2.9% +0.8% -3.7% +10.0% ➖ noise
4 duckdb:vortex-compact -0.4% +0.8% -1.2% +10.0% ➖ noise
4 duckdb:vortex-file-compressed -0.6% +0.8% -1.4% +10.0% ➖ noise
5 datafusion:vortex-compact -2.2% -1.0% -1.1% +10.0% ➖ noise
5 datafusion:vortex-file-compressed +1.3% -1.0% +2.4% +10.0% ➖ noise
5 duckdb:vortex-compact -1.1% -1.0% -0.1% +10.0% ➖ noise
5 duckdb:vortex-file-compressed -1.1% -1.0% -0.1% +10.0% ➖ noise
6 datafusion:vortex-compact +1.7% -0.4% +2.1% +10.0% ➖ noise
6 datafusion:vortex-file-compressed +0.7% -0.4% +1.1% +10.0% ➖ noise
6 duckdb:vortex-compact +1.4% -0.4% +1.7% +10.0% ➖ noise
6 duckdb:vortex-file-compressed +3.4% -0.4% +3.8% +10.0% ➖ noise
7 datafusion:vortex-compact -0.3% -0.0% -0.3% +10.0% ➖ noise
7 datafusion:vortex-file-compressed -5.7% -0.0% -5.6% +22.7% ➖ noise
7 duckdb:vortex-compact -2.1% -0.0% -2.1% +10.0% ➖ noise
7 duckdb:vortex-file-compressed -0.4% -0.0% -0.4% +10.7% ➖ noise
8 datafusion:vortex-compact -4.5% +0.8% -5.2% +45.6% ➖ noise
8 datafusion:vortex-file-compressed +1.5% +0.8% +0.7% +28.6% ➖ noise
8 duckdb:vortex-compact -6.3% +0.8% -7.0% +36.5% ➖ noise
8 duckdb:vortex-file-compressed -0.3% +0.8% -1.1% +10.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

File Sizes: TPC-H SF=1 on NVME

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

File Sizes: FineWeb NVMe

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: TPC-DS SF=1 on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +2.5%
Vortex (geomean): 1.029x ➖
Parquet (geomean): 0.997x ➖
Shifts: Parquet (control) -0.3% · Median polish -0.2%


datafusion / vortex-file-compressed (1.075x ➖, 4↑ 37↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-file-compressed 25632967 24455697 1.05
tpcds_q02/datafusion:vortex-file-compressed 46921732 46672745 1.01
tpcds_q03/datafusion:vortex-file-compressed 🚨 16797206 15123219 1.11
tpcds_q04/datafusion:vortex-file-compressed 261869540 245737324 1.07
tpcds_q05/datafusion:vortex-file-compressed 43095126 41923680 1.03
tpcds_q06/datafusion:vortex-file-compressed 🚀 41486713 58596231 0.71
tpcds_q07/datafusion:vortex-file-compressed 41674584 41382253 1.01
tpcds_q08/datafusion:vortex-file-compressed 29473993 29063881 1.01
tpcds_q09/datafusion:vortex-file-compressed 45805303 45175471 1.01
tpcds_q10/datafusion:vortex-file-compressed 39302095 37614976 1.04
tpcds_q11/datafusion:vortex-file-compressed 🚨 151233435 131786190 1.15
tpcds_q12/datafusion:vortex-file-compressed 🚨 21867756 19533414 1.12
tpcds_q13/datafusion:vortex-file-compressed 46114876 43595502 1.06
tpcds_q14/datafusion:vortex-file-compressed 176622999 168394374 1.05
tpcds_q15/datafusion:vortex-file-compressed 🚨 30508658 27004640 1.13
tpcds_q16/datafusion:vortex-file-compressed 29047546 28673375 1.01
tpcds_q17/datafusion:vortex-file-compressed 65205441 61492943 1.06
tpcds_q18/datafusion:vortex-file-compressed 69517191 67059099 1.04
tpcds_q19/datafusion:vortex-file-compressed 🚨 24114763 21906166 1.10
tpcds_q20/datafusion:vortex-file-compressed 🚨 23115444 20681785 1.12
tpcds_q21/datafusion:vortex-file-compressed 🚨 124061853 35642989 3.48
tpcds_q22/datafusion:vortex-file-compressed 🚀 53132231 122858750 0.43
tpcds_q23/datafusion:vortex-file-compressed 🚀 129977487 150740585 0.86
tpcds_q24/datafusion:vortex-file-compressed 🚨 97562519 81220266 1.20
tpcds_q25/datafusion:vortex-file-compressed 64279633 65022601 0.99
tpcds_q26/datafusion:vortex-file-compressed 34773125 34017045 1.02
tpcds_q27/datafusion:vortex-file-compressed 99173782 100321456 0.99
tpcds_q28/datafusion:vortex-file-compressed 42761659 40163491 1.06
tpcds_q29/datafusion:vortex-file-compressed 65818057 60715443 1.08
tpcds_q30/datafusion:vortex-file-compressed 22903122 22587993 1.01
tpcds_q31/datafusion:vortex-file-compressed 🚨 85340969 72547985 1.18
tpcds_q32/datafusion:vortex-file-compressed 20316892 20631777 0.98
tpcds_q33/datafusion:vortex-file-compressed 29966635 30183376 0.99
tpcds_q34/datafusion:vortex-file-compressed 27298215 27323581 1.00
tpcds_q35/datafusion:vortex-file-compressed 47911351 45802023 1.05
tpcds_q36/datafusion:vortex-file-compressed 61932697 57621080 1.07
tpcds_q37/datafusion:vortex-file-compressed 🚨 30591885 26001424 1.18
tpcds_q38/datafusion:vortex-file-compressed 47296161 43676335 1.08
tpcds_q39/datafusion:vortex-file-compressed 🚨 124580143 105949101 1.18
tpcds_q40/datafusion:vortex-file-compressed 🚨 46476865 32152173 1.45
tpcds_q41/datafusion:vortex-file-compressed 15746237 15131322 1.04
tpcds_q42/datafusion:vortex-file-compressed 🚨 16219121 14258673 1.14
tpcds_q43/datafusion:vortex-file-compressed 🚨 27954936 18327129 1.53
tpcds_q44/datafusion:vortex-file-compressed 33750680 33448964 1.01
tpcds_q45/datafusion:vortex-file-compressed 🚨 31222630 26936013 1.16
tpcds_q46/datafusion:vortex-file-compressed 🚨 41289400 34233148 1.21
tpcds_q47/datafusion:vortex-file-compressed 🚨 182464937 130412670 1.40
tpcds_q48/datafusion:vortex-file-compressed 38987048 38413580 1.01
tpcds_q49/datafusion:vortex-file-compressed 58157513 57738483 1.01
tpcds_q50/datafusion:vortex-file-compressed 41613148 39264065 1.06
tpcds_q51/datafusion:vortex-file-compressed 89931026 88454083 1.02
tpcds_q52/datafusion:vortex-file-compressed 15961500 14931636 1.07
tpcds_q53/datafusion:vortex-file-compressed 20998200 20784889 1.01
tpcds_q54/datafusion:vortex-file-compressed 36365259 34955918 1.04
tpcds_q55/datafusion:vortex-file-compressed 🚨 15728203 13872380 1.13
tpcds_q56/datafusion:vortex-file-compressed 30916262 30025151 1.03
tpcds_q57/datafusion:vortex-file-compressed 115846136 109024565 1.06
tpcds_q58/datafusion:vortex-file-compressed 🚨 62482838 53755456 1.16
tpcds_q59/datafusion:vortex-file-compressed 🚨 64074996 57248501 1.12
tpcds_q60/datafusion:vortex-file-compressed 31162270 30490681 1.02
tpcds_q61/datafusion:vortex-file-compressed 40557703 41651034 0.97
tpcds_q62/datafusion:vortex-file-compressed 28326693 26582732 1.07
tpcds_q63/datafusion:vortex-file-compressed 21072576 21297001 0.99
tpcds_q64/datafusion:vortex-file-compressed 418816267 411954299 1.02
tpcds_q65/datafusion:vortex-file-compressed 42878393 39845052 1.08
tpcds_q66/datafusion:vortex-file-compressed 🚨 85907832 72013197 1.19
tpcds_q67/datafusion:vortex-file-compressed 🚀 113486271 143014607 0.79
tpcds_q68/datafusion:vortex-file-compressed 🚨 39722518 33068513 1.20
tpcds_q69/datafusion:vortex-file-compressed 36163602 37912840 0.95
tpcds_q70/datafusion:vortex-file-compressed 🚨 101562056 87976005 1.15
tpcds_q71/datafusion:vortex-file-compressed 25990981 23639618 1.10
tpcds_q72/datafusion:vortex-file-compressed 🚨 2412363173 2154556477 1.12
tpcds_q73/datafusion:vortex-file-compressed 🚨 26669694 22699826 1.17
tpcds_q74/datafusion:vortex-file-compressed 🚨 102059274 81064681 1.26
tpcds_q75/datafusion:vortex-file-compressed 109660668 107059795 1.02
tpcds_q76/datafusion:vortex-file-compressed 🚨 28727820 25836761 1.11
tpcds_q77/datafusion:vortex-file-compressed 39988438 40696607 0.98
tpcds_q78/datafusion:vortex-file-compressed 123592218 121773368 1.01
tpcds_q79/datafusion:vortex-file-compressed 🚨 33125533 28668088 1.16
tpcds_q80/datafusion:vortex-file-compressed 98043368 93202549 1.05
tpcds_q81/datafusion:vortex-file-compressed 🚨 26847443 23746595 1.13
tpcds_q82/datafusion:vortex-file-compressed 🚨 32206146 26117679 1.23
tpcds_q83/datafusion:vortex-file-compressed 🚨 40615711 33578870 1.21
tpcds_q84/datafusion:vortex-file-compressed 12627247 13519607 0.93
tpcds_q85/datafusion:vortex-file-compressed 91604832 87684272 1.04
tpcds_q86/datafusion:vortex-file-compressed 🚨 17223878 15513050 1.11
tpcds_q87/datafusion:vortex-file-compressed 48838644 45356682 1.08
tpcds_q88/datafusion:vortex-file-compressed 55689450 55266606 1.01
tpcds_q89/datafusion:vortex-file-compressed 🚨 31608203 24610857 1.28
tpcds_q90/datafusion:vortex-file-compressed 15333160 15314400 1.00
tpcds_q91/datafusion:vortex-file-compressed 🚨 20621875 18280386 1.13
tpcds_q92/datafusion:vortex-file-compressed 🚨 19801204 17920788 1.10
tpcds_q93/datafusion:vortex-file-compressed 33596602 33305214 1.01
tpcds_q94/datafusion:vortex-file-compressed 23656417 24232478 0.98
tpcds_q95/datafusion:vortex-file-compressed 59632021 58481890 1.02
tpcds_q96/datafusion:vortex-file-compressed 13117568 13705454 0.96
tpcds_q97/datafusion:vortex-file-compressed 32560124 32040148 1.02
tpcds_q98/datafusion:vortex-file-compressed 🚨 27962148 24193343 1.16
tpcds_q99/datafusion:vortex-file-compressed 🚨 42214861 33942414 1.24
datafusion / vortex-compact (1.060x ➖, 5↑ 27↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-compact 25371597 24689221 1.03
tpcds_q02/datafusion:vortex-compact 50902737 52817903 0.96
tpcds_q03/datafusion:vortex-compact 21380085 19671835 1.09
tpcds_q04/datafusion:vortex-compact 290984996 291394225 1.00
tpcds_q05/datafusion:vortex-compact 48899497 46470839 1.05
tpcds_q06/datafusion:vortex-compact 🚀 44644794 62163312 0.72
tpcds_q07/datafusion:vortex-compact 54652865 52480397 1.04
tpcds_q08/datafusion:vortex-compact 36764049 35979348 1.02
tpcds_q09/datafusion:vortex-compact 63941720 62085526 1.03
tpcds_q10/datafusion:vortex-compact 53772510 50807796 1.06
tpcds_q11/datafusion:vortex-compact 163338283 153931760 1.06
tpcds_q12/datafusion:vortex-compact 25543975 24633611 1.04
tpcds_q13/datafusion:vortex-compact 93626575 93614851 1.00
tpcds_q14/datafusion:vortex-compact 201974433 201580253 1.00
tpcds_q15/datafusion:vortex-compact 🚨 33553947 29439646 1.14
tpcds_q16/datafusion:vortex-compact 32611148 32149280 1.01
tpcds_q17/datafusion:vortex-compact 75902232 73395590 1.03
tpcds_q18/datafusion:vortex-compact 80616784 76822164 1.05
tpcds_q19/datafusion:vortex-compact 🚨 32860247 29276043 1.12
tpcds_q20/datafusion:vortex-compact 26510934 25193268 1.05
tpcds_q21/datafusion:vortex-compact 🚨 125424122 39172018 3.20
tpcds_q22/datafusion:vortex-compact 🚀 58260769 124207848 0.47
tpcds_q23/datafusion:vortex-compact 🚀 141859324 162317806 0.87
tpcds_q24/datafusion:vortex-compact 🚨 114341491 96322549 1.19
tpcds_q25/datafusion:vortex-compact 79351307 78574991 1.01
tpcds_q26/datafusion:vortex-compact 45336626 44000473 1.03
tpcds_q27/datafusion:vortex-compact 123789047 128353640 0.96
tpcds_q28/datafusion:vortex-compact 78252095 78830726 0.99
tpcds_q29/datafusion:vortex-compact 76259941 73943188 1.03
tpcds_q30/datafusion:vortex-compact 27376214 27271916 1.00
tpcds_q31/datafusion:vortex-compact 🚨 110046180 94607448 1.16
tpcds_q32/datafusion:vortex-compact 26305504 27543799 0.96
tpcds_q33/datafusion:vortex-compact 36317287 36270817 1.00
tpcds_q34/datafusion:vortex-compact 35632911 32464610 1.10
tpcds_q35/datafusion:vortex-compact 54995627 52435768 1.05
tpcds_q36/datafusion:vortex-compact 78359581 75077728 1.04
tpcds_q37/datafusion:vortex-compact 42237419 40176341 1.05
tpcds_q38/datafusion:vortex-compact 🚨 56823411 50984033 1.11
tpcds_q39/datafusion:vortex-compact 🚨 139694184 118125671 1.18
tpcds_q40/datafusion:vortex-compact 🚨 51451542 36469012 1.41
tpcds_q41/datafusion:vortex-compact 17578574 17678692 0.99
tpcds_q42/datafusion:vortex-compact 19681328 18281656 1.08
tpcds_q43/datafusion:vortex-compact 🚨 32882254 24688708 1.33
tpcds_q44/datafusion:vortex-compact 53456835 48816387 1.10
tpcds_q45/datafusion:vortex-compact 🚨 35526441 30933768 1.15
tpcds_q46/datafusion:vortex-compact 🚨 50234373 44247886 1.14
tpcds_q47/datafusion:vortex-compact 🚨 205177014 147930930 1.39
tpcds_q48/datafusion:vortex-compact 73067092 72094712 1.01
tpcds_q49/datafusion:vortex-compact 68187865 68983798 0.99
tpcds_q50/datafusion:vortex-compact 50525672 46765471 1.08
tpcds_q51/datafusion:vortex-compact 96177388 95445655 1.01
tpcds_q52/datafusion:vortex-compact 20056059 18421248 1.09
tpcds_q53/datafusion:vortex-compact 27827184 27939630 1.00
tpcds_q54/datafusion:vortex-compact 43469967 42587151 1.02
tpcds_q55/datafusion:vortex-compact 🚨 20326106 17951737 1.13
tpcds_q56/datafusion:vortex-compact 38240199 36033007 1.06
tpcds_q57/datafusion:vortex-compact 🚨 126576027 111244440 1.14
tpcds_q58/datafusion:vortex-compact 71021644 65670817 1.08
tpcds_q59/datafusion:vortex-compact 72961503 69932361 1.04
tpcds_q60/datafusion:vortex-compact 🚨 38894370 35115456 1.11
tpcds_q61/datafusion:vortex-compact 55793354 53972045 1.03
tpcds_q62/datafusion:vortex-compact 30329720 31895445 0.95
tpcds_q63/datafusion:vortex-compact 28348404 28133047 1.01
tpcds_q64/datafusion:vortex-compact 463729606 454652945 1.02
tpcds_q65/datafusion:vortex-compact 56849440 54139977 1.05
tpcds_q66/datafusion:vortex-compact 🚨 88770724 78291804 1.13
tpcds_q67/datafusion:vortex-compact 🚀 116442180 150198439 0.78
tpcds_q68/datafusion:vortex-compact 🚨 52494859 45677472 1.15
tpcds_q69/datafusion:vortex-compact 48399892 48500899 1.00
tpcds_q70/datafusion:vortex-compact 🚨 112972089 99437509 1.14
tpcds_q71/datafusion:vortex-compact 33330731 30614686 1.09
tpcds_q72/datafusion:vortex-compact 🚨 2393556793 2112976895 1.13
tpcds_q73/datafusion:vortex-compact 🚨 34283154 31020435 1.11
tpcds_q74/datafusion:vortex-compact 🚨 109477548 97668201 1.12
tpcds_q75/datafusion:vortex-compact 125840241 126822000 0.99
tpcds_q76/datafusion:vortex-compact 35596993 33386324 1.07
tpcds_q77/datafusion:vortex-compact 49088175 50769590 0.97
tpcds_q78/datafusion:vortex-compact 139186922 135753040 1.03
tpcds_q79/datafusion:vortex-compact 42455813 38628246 1.10
tpcds_q80/datafusion:vortex-compact 106808763 101436102 1.05
tpcds_q81/datafusion:vortex-compact 🚨 32451106 28655959 1.13
tpcds_q82/datafusion:vortex-compact 45697239 41850674 1.09
tpcds_q83/datafusion:vortex-compact 🚨 44893592 33006506 1.36
tpcds_q84/datafusion:vortex-compact 14348799 13900920 1.03
tpcds_q85/datafusion:vortex-compact 117089579 117499998 1.00
tpcds_q86/datafusion:vortex-compact 🚨 20432668 18377657 1.11
tpcds_q87/datafusion:vortex-compact 57309160 53352134 1.07
tpcds_q88/datafusion:vortex-compact 77355595 77521059 1.00
tpcds_q89/datafusion:vortex-compact 🚨 37740813 31596388 1.19
tpcds_q90/datafusion:vortex-compact 🚀 15126836 16816411 0.90
tpcds_q91/datafusion:vortex-compact 33670779 34614887 0.97
tpcds_q92/datafusion:vortex-compact 24696530 23165252 1.07
tpcds_q93/datafusion:vortex-compact 38345633 37409642 1.03
tpcds_q94/datafusion:vortex-compact 28756890 27753246 1.04
tpcds_q95/datafusion:vortex-compact 63065135 63030986 1.00
tpcds_q96/datafusion:vortex-compact 17361383 17619917 0.99
tpcds_q97/datafusion:vortex-compact 37041395 36332022 1.02
tpcds_q98/datafusion:vortex-compact 🚨 32506305 29177051 1.11
tpcds_q99/datafusion:vortex-compact 🚨 43591020 31152258 1.40
datafusion / parquet (0.999x ➖, 0↑ 2↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpcds_q01/datafusion:parquet 30440010 30462796 1.00
tpcds_q02/datafusion:parquet 42294848 41867943 1.01
tpcds_q03/datafusion:parquet 13337751 14650958 0.91
tpcds_q04/datafusion:parquet 254575932 261749496 0.97
tpcds_q05/datafusion:parquet 40427361 42723037 0.95
tpcds_q06/datafusion:parquet 58327545 59050675 0.99
tpcds_q07/datafusion:parquet 78909661 78887369 1.00
tpcds_q08/datafusion:parquet 27128567 27371586 0.99
tpcds_q09/datafusion:parquet 45125505 45560263 0.99
tpcds_q10/datafusion:parquet 74734871 72551285 1.03
tpcds_q11/datafusion:parquet 152462364 146163500 1.04
tpcds_q12/datafusion:parquet 🚨 17993092 16112699 1.12
tpcds_q13/datafusion:parquet 78363113 74961841 1.05
tpcds_q14/datafusion:parquet 164248689 164147218 1.00
tpcds_q15/datafusion:parquet 20841581 22326798 0.93
tpcds_q16/datafusion:parquet 23846044 24946527 0.96
tpcds_q17/datafusion:parquet 61819770 66545420 0.93
tpcds_q18/datafusion:parquet 113142266 116036631 0.98
tpcds_q19/datafusion:parquet 22131192 22876629 0.97
tpcds_q20/datafusion:parquet 15742403 16094561 0.98
tpcds_q21/datafusion:parquet 18553706 18512031 1.00
tpcds_q22/datafusion:parquet 142311654 139450869 1.02
tpcds_q23/datafusion:parquet 145214098 143365383 1.01
tpcds_q24/datafusion:parquet 89304129 89832272 0.99
tpcds_q25/datafusion:parquet 63454611 62278147 1.02
tpcds_q26/datafusion:parquet 68902919 66954137 1.03
tpcds_q27/datafusion:parquet 146184047 147784759 0.99
tpcds_q28/datafusion:parquet 44745110 44682114 1.00
tpcds_q29/datafusion:parquet 64229664 65986207 0.97
tpcds_q30/datafusion:parquet 34047208 34437219 0.99
tpcds_q31/datafusion:parquet 65407971 64066821 1.02
tpcds_q32/datafusion:parquet 18013249 18042388 1.00
tpcds_q33/datafusion:parquet 27902325 26573916 1.05
tpcds_q34/datafusion:parquet 22130036 21584018 1.03
tpcds_q35/datafusion:parquet 71286725 70580381 1.01
tpcds_q36/datafusion:parquet 55506412 55903743 0.99
tpcds_q37/datafusion:parquet 19081505 18862594 1.01
tpcds_q38/datafusion:parquet 40321967 40039131 1.01
tpcds_q39/datafusion:parquet 71729281 71221963 1.01
tpcds_q40/datafusion:parquet 23931860 24301333 0.98
tpcds_q41/datafusion:parquet 13354153 13575685 0.98
tpcds_q42/datafusion:parquet 11916698 11780006 1.01
tpcds_q43/datafusion:parquet 16619075 17142800 0.97
tpcds_q44/datafusion:parquet 32414694 32870028 0.99
tpcds_q45/datafusion:parquet 27624948 28058717 0.98
tpcds_q46/datafusion:parquet 31190092 32231447 0.97
tpcds_q47/datafusion:parquet 122605154 122224639 1.00
tpcds_q48/datafusion:parquet 68902511 71417229 0.96
tpcds_q49/datafusion:parquet 53223630 56009198 0.95
tpcds_q50/datafusion:parquet 42153911 43975733 0.96
tpcds_q51/datafusion:parquet 82832834 85126987 0.97
tpcds_q52/datafusion:parquet 11685902 12130260 0.96
tpcds_q53/datafusion:parquet 17369174 18010369 0.96
tpcds_q54/datafusion:parquet 34491094 33333593 1.03
tpcds_q55/datafusion:parquet 11889839 11537030 1.03
tpcds_q56/datafusion:parquet 27393166 28220469 0.97
tpcds_q57/datafusion:parquet 92166388 92909891 0.99
tpcds_q58/datafusion:parquet 49497947 50609511 0.98
tpcds_q59/datafusion:parquet 53873417 52731623 1.02
tpcds_q60/datafusion:parquet 27554753 28141195 0.98
tpcds_q61/datafusion:parquet 42255139 42678247 0.99
tpcds_q62/datafusion:parquet 🚨 24608518 21436939 1.15
tpcds_q63/datafusion:parquet 17783593 17787844 1.00
tpcds_q64/datafusion:parquet 511001319 514803709 0.99
tpcds_q65/datafusion:parquet 38269037 39114013 0.98
tpcds_q66/datafusion:parquet 68503621 64906172 1.06
tpcds_q67/datafusion:parquet 145826946 139988493 1.04
tpcds_q68/datafusion:parquet 31008676 32339037 0.96
tpcds_q69/datafusion:parquet 69975956 67761437 1.03
tpcds_q70/datafusion:parquet 80420056 83996655 0.96
tpcds_q71/datafusion:parquet 21962453 21736165 1.01
tpcds_q72/datafusion:parquet 596407694 593282112 1.01
tpcds_q73/datafusion:parquet 20960041 20216377 1.04
tpcds_q74/datafusion:parquet 83685633 81106845 1.03
tpcds_q75/datafusion:parquet 96580421 99690146 0.97
tpcds_q76/datafusion:parquet 29746669 28895962 1.03
tpcds_q77/datafusion:parquet 38750283 39218646 0.99
tpcds_q78/datafusion:parquet 110081156 113038040 0.97
tpcds_q79/datafusion:parquet 28310243 26390921 1.07
tpcds_q80/datafusion:parquet 78581535 77229054 1.02
tpcds_q81/datafusion:parquet 31839873 31357772 1.02
tpcds_q82/datafusion:parquet 18957657 20184752 0.94
tpcds_q83/datafusion:parquet 36179330 36582206 0.99
tpcds_q84/datafusion:parquet 38395307 38339273 1.00
tpcds_q85/datafusion:parquet 147378188 145860594 1.01
tpcds_q86/datafusion:parquet 15636977 14370972 1.09
tpcds_q87/datafusion:parquet 41956324 40689083 1.03
tpcds_q88/datafusion:parquet 59173571 59224976 1.00
tpcds_q89/datafusion:parquet 21223388 20609916 1.03
tpcds_q90/datafusion:parquet 14400569 14160566 1.02
tpcds_q91/datafusion:parquet 58683376 60480029 0.97
tpcds_q92/datafusion:parquet 18679411 18446440 1.01
tpcds_q93/datafusion:parquet 31274130 32348251 0.97
tpcds_q94/datafusion:parquet 19876223 20121721 0.99
tpcds_q95/datafusion:parquet 56232980 57099693 0.98
tpcds_q96/datafusion:parquet 11443924 11736422 0.98
tpcds_q97/datafusion:parquet 29620252 29551512 1.00
tpcds_q98/datafusion:parquet 21061819 21214573 0.99
tpcds_q99/datafusion:parquet 25752412 24710863 1.04
duckdb / vortex-file-compressed (0.998x ➖, 1↑ 2↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-file-compressed 21996762 22938082 0.96
tpcds_q02/duckdb:vortex-file-compressed 🚀 31727163 35293559 0.90
tpcds_q03/duckdb:vortex-file-compressed 30965817 31419987 0.99
tpcds_q04/duckdb:vortex-file-compressed 104285880 106022972 0.98
tpcds_q05/duckdb:vortex-file-compressed 37577767 36461721 1.03
tpcds_q06/duckdb:vortex-file-compressed 31525478 31127144 1.01
tpcds_q07/duckdb:vortex-file-compressed 19372457 20069402 0.97
tpcds_q08/duckdb:vortex-file-compressed 28759975 27484999 1.05
tpcds_q09/duckdb:vortex-file-compressed 37646088 38924339 0.97
tpcds_q10/duckdb:vortex-file-compressed 39261847 39222823 1.00
tpcds_q11/duckdb:vortex-file-compressed 60493851 59880680 1.01
tpcds_q12/duckdb:vortex-file-compressed 14643906 13836350 1.06
tpcds_q13/duckdb:vortex-file-compressed 33555921 32155663 1.04
tpcds_q14/duckdb:vortex-file-compressed 100353795 105286906 0.95
tpcds_q15/duckdb:vortex-file-compressed 26241640 25723546 1.02
tpcds_q16/duckdb:vortex-file-compressed 25649004 25480301 1.01
tpcds_q17/duckdb:vortex-file-compressed 40945427 42311362 0.97
tpcds_q18/duckdb:vortex-file-compressed 45100362 46123045 0.98
tpcds_q19/duckdb:vortex-file-compressed 32268874 32624216 0.99
tpcds_q20/duckdb:vortex-file-compressed 15063178 14519227 1.04
tpcds_q21/duckdb:vortex-file-compressed 15906169 16133902 0.99
tpcds_q22/duckdb:vortex-file-compressed 70117536 72008368 0.97
tpcds_q23/duckdb:vortex-file-compressed 109179650 107999611 1.01
tpcds_q24/duckdb:vortex-file-compressed 48271665 49913460 0.97
tpcds_q25/duckdb:vortex-file-compressed 48198014 48778609 0.99
tpcds_q26/duckdb:vortex-file-compressed 40705476 39045574 1.04
tpcds_q27/duckdb:vortex-file-compressed 46807670 47075038 0.99
tpcds_q28/duckdb:vortex-file-compressed 34615759 35311998 0.98
tpcds_q29/duckdb:vortex-file-compressed 41043720 40990506 1.00
tpcds_q30/duckdb:vortex-file-compressed 23634402 22637546 1.04
tpcds_q31/duckdb:vortex-file-compressed 34235976 34577968 0.99
tpcds_q32/duckdb:vortex-file-compressed 13613014 13719198 0.99
tpcds_q33/duckdb:vortex-file-compressed 23703440 23649931 1.00
tpcds_q34/duckdb:vortex-file-compressed 23176832 23456099 0.99
tpcds_q35/duckdb:vortex-file-compressed 63245923 62646444 1.01
tpcds_q36/duckdb:vortex-file-compressed 25071607 24326279 1.03
tpcds_q37/duckdb:vortex-file-compressed 14994277 14991745 1.00
tpcds_q38/duckdb:vortex-file-compressed 36506238 38210722 0.96
tpcds_q39/duckdb:vortex-file-compressed 34420960 34570288 1.00
tpcds_q40/duckdb:vortex-file-compressed 20534331 18726235 1.10
tpcds_q41/duckdb:vortex-file-compressed 13034075 12749752 1.02
tpcds_q42/duckdb:vortex-file-compressed 12334704 13095175 0.94
tpcds_q43/duckdb:vortex-file-compressed 22708850 24279433 0.94
tpcds_q44/duckdb:vortex-file-compressed 19990880 20621667 0.97
tpcds_q45/duckdb:vortex-file-compressed 27304348 28494309 0.96
tpcds_q46/duckdb:vortex-file-compressed 52178635 50742575 1.03
tpcds_q47/duckdb:vortex-file-compressed 46468270 46480657 1.00
tpcds_q48/duckdb:vortex-file-compressed 29428459 29349570 1.00
tpcds_q49/duckdb:vortex-file-compressed 36490432 38776501 0.94
tpcds_q50/duckdb:vortex-file-compressed 33561456 33935627 0.99
tpcds_q51/duckdb:vortex-file-compressed 97340500 97820965 1.00
tpcds_q52/duckdb:vortex-file-compressed 12895585 12957064 1.00
tpcds_q53/duckdb:vortex-file-compressed 23002438 22436450 1.03
tpcds_q54/duckdb:vortex-file-compressed 27975345 28928350 0.97
tpcds_q55/duckdb:vortex-file-compressed 12622131 13267223 0.95
tpcds_q56/duckdb:vortex-file-compressed 23058927 23471844 0.98
tpcds_q57/duckdb:vortex-file-compressed 39455474 39474549 1.00
tpcds_q58/duckdb:vortex-file-compressed 30546626 29023459 1.05
tpcds_q59/duckdb:vortex-file-compressed 66421839 66134831 1.00
tpcds_q60/duckdb:vortex-file-compressed 24741288 26618230 0.93
tpcds_q61/duckdb:vortex-file-compressed 🚨 34733662 31573214 1.10
tpcds_q62/duckdb:vortex-file-compressed 16479590 17075451 0.97
tpcds_q63/duckdb:vortex-file-compressed 21034780 20899926 1.01
tpcds_q64/duckdb:vortex-file-compressed 81290835 82840076 0.98
tpcds_q65/duckdb:vortex-file-compressed 21716599 22021689 0.99
tpcds_q66/duckdb:vortex-file-compressed 28426170 29506304 0.96
tpcds_q67/duckdb:vortex-file-compressed 138091039 135406604 1.02
tpcds_q68/duckdb:vortex-file-compressed 40536406 40519651 1.00
tpcds_q69/duckdb:vortex-file-compressed 41539022 43440067 0.96
tpcds_q70/duckdb:vortex-file-compressed 25245967 25995170 0.97
tpcds_q71/duckdb:vortex-file-compressed 20440353 21117061 0.97
tpcds_q72/duckdb:vortex-file-compressed 169781951 172041909 0.99
tpcds_q73/duckdb:vortex-file-compressed 22799720 22043168 1.03
tpcds_q74/duckdb:vortex-file-compressed 🚨 82108352 70889880 1.16
tpcds_q75/duckdb:vortex-file-compressed 57223721 55986154 1.02
tpcds_q76/duckdb:vortex-file-compressed 17894519 18103618 0.99
tpcds_q77/duckdb:vortex-file-compressed 25128669 24029121 1.05
tpcds_q78/duckdb:vortex-file-compressed 74433327 73693869 1.01
tpcds_q79/duckdb:vortex-file-compressed 31410260 31363021 1.00
tpcds_q80/duckdb:vortex-file-compressed 47361978 48027696 0.99
tpcds_q81/duckdb:vortex-file-compressed 27442010 27226793 1.01
tpcds_q82/duckdb:vortex-file-compressed 16141443 17268518 0.93
tpcds_q83/duckdb:vortex-file-compressed 23962852 23444502 1.02
tpcds_q84/duckdb:vortex-file-compressed 18544054 18445561 1.01
tpcds_q85/duckdb:vortex-file-compressed 44886191 44499865 1.01
tpcds_q86/duckdb:vortex-file-compressed 16871279 16606064 1.02
tpcds_q87/duckdb:vortex-file-compressed 39238221 38883633 1.01
tpcds_q88/duckdb:vortex-file-compressed 32428560 32377851 1.00
tpcds_q89/duckdb:vortex-file-compressed 22918245 22685365 1.01
tpcds_q90/duckdb:vortex-file-compressed 12491708 12464109 1.00
tpcds_q91/duckdb:vortex-file-compressed 29450143 29437383 1.00
tpcds_q92/duckdb:vortex-file-compressed 20882365 20612818 1.01
tpcds_q93/duckdb:vortex-file-compressed 26634333 27386852 0.97
tpcds_q94/duckdb:vortex-file-compressed 22755268 22807470 1.00
tpcds_q95/duckdb:vortex-file-compressed 152164453 149748022 1.02
tpcds_q96/duckdb:vortex-file-compressed 13342351 13649795 0.98
tpcds_q97/duckdb:vortex-file-compressed 38171806 38864281 0.98
tpcds_q98/duckdb:vortex-file-compressed 18481183 18814427 0.98
tpcds_q99/duckdb:vortex-file-compressed 27952231 26539418 1.05
duckdb / vortex-compact (0.987x ➖, 2↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-compact 22645475 24457384 0.93
tpcds_q02/duckdb:vortex-compact 43609445 40892763 1.07
tpcds_q03/duckdb:vortex-compact 55119703 56870946 0.97
tpcds_q04/duckdb:vortex-compact 121238403 117118132 1.04
tpcds_q05/duckdb:vortex-compact 51621998 51554771 1.00
tpcds_q06/duckdb:vortex-compact 40560233 39954039 1.02
tpcds_q07/duckdb:vortex-compact 34902445 34379522 1.02
tpcds_q08/duckdb:vortex-compact 46376226 47351976 0.98
tpcds_q09/duckdb:vortex-compact 56975897 56984137 1.00
tpcds_q10/duckdb:vortex-compact 60713536 59566968 1.02
tpcds_q11/duckdb:vortex-compact 71845189 69182332 1.04
tpcds_q12/duckdb:vortex-compact 22683984 23736805 0.96
tpcds_q13/duckdb:vortex-compact 58236702 60524766 0.96
tpcds_q14/duckdb:vortex-compact 133809978 134577884 0.99
tpcds_q15/duckdb:vortex-compact 31915045 30587177 1.04
tpcds_q16/duckdb:vortex-compact 30203319 30512359 0.99
tpcds_q17/duckdb:vortex-compact 55421472 53428627 1.04
tpcds_q18/duckdb:vortex-compact 56047751 56832083 0.99
tpcds_q19/duckdb:vortex-compact 50218666 50553705 0.99
tpcds_q20/duckdb:vortex-compact 20097854 20989384 0.96
tpcds_q21/duckdb:vortex-compact 18861255 20440206 0.92
tpcds_q22/duckdb:vortex-compact 73564113 74076516 0.99
tpcds_q23/duckdb:vortex-compact 120031596 123808420 0.97
tpcds_q24/duckdb:vortex-compact 61281493 63767844 0.96
tpcds_q25/duckdb:vortex-compact 83356895 80811039 1.03
tpcds_q26/duckdb:vortex-compact 50679250 50273897 1.01
tpcds_q27/duckdb:vortex-compact 70833401 70811346 1.00
tpcds_q28/duckdb:vortex-compact 83755956 87509076 0.96
tpcds_q29/duckdb:vortex-compact 53892315 55826464 0.97
tpcds_q30/duckdb:vortex-compact 28700691 28549065 1.01
tpcds_q31/duckdb:vortex-compact 45648838 45765147 1.00
tpcds_q32/duckdb:vortex-compact 22344829 23032421 0.97
tpcds_q33/duckdb:vortex-compact 34919235 36071288 0.97
tpcds_q34/duckdb:vortex-compact 38959932 40115294 0.97
tpcds_q35/duckdb:vortex-compact 79268304 83048638 0.95
tpcds_q36/duckdb:vortex-compact 40572991 42397106 0.96
tpcds_q37/duckdb:vortex-compact 22906669 23940336 0.96
tpcds_q38/duckdb:vortex-compact 48487897 47470361 1.02
tpcds_q39/duckdb:vortex-compact 35908757 37754248 0.95
tpcds_q40/duckdb:vortex-compact 25497990 26683246 0.96
tpcds_q41/duckdb:vortex-compact 15229983 16011321 0.95
tpcds_q42/duckdb:vortex-compact 22448456 22271506 1.01
tpcds_q43/duckdb:vortex-compact 35859638 38162535 0.94
tpcds_q44/duckdb:vortex-compact 30421190 30669450 0.99
tpcds_q45/duckdb:vortex-compact 37995488 39948344 0.95
tpcds_q46/duckdb:vortex-compact 69800199 70447722 0.99
tpcds_q47/duckdb:vortex-compact 62832340 64312427 0.98
tpcds_q48/duckdb:vortex-compact 50958415 52813666 0.96
tpcds_q49/duckdb:vortex-compact 56586435 58867073 0.96
tpcds_q50/duckdb:vortex-compact 48427872 47453009 1.02
tpcds_q51/duckdb:vortex-compact 106939330 107644625 0.99
tpcds_q52/duckdb:vortex-compact 21609725 22353693 0.97
tpcds_q53/duckdb:vortex-compact 38401285 39123218 0.98
tpcds_q54/duckdb:vortex-compact 40139691 40978678 0.98
tpcds_q55/duckdb:vortex-compact 22381739 23974721 0.93
tpcds_q56/duckdb:vortex-compact 36296100 36480547 0.99
tpcds_q57/duckdb:vortex-compact 41920134 43873380 0.96
tpcds_q58/duckdb:vortex-compact 44289617 41041252 1.08
tpcds_q59/duckdb:vortex-compact 86661264 88166462 0.98
tpcds_q60/duckdb:vortex-compact 38308672 37490403 1.02
tpcds_q61/duckdb:vortex-compact 64825702 63576278 1.02
tpcds_q62/duckdb:vortex-compact 🚀 21945973 25839083 0.85
tpcds_q63/duckdb:vortex-compact 37590792 37972188 0.99
tpcds_q64/duckdb:vortex-compact 114460202 117024984 0.98
tpcds_q65/duckdb:vortex-compact 32520141 33391492 0.97
tpcds_q66/duckdb:vortex-compact 38585135 40809572 0.95
tpcds_q67/duckdb:vortex-compact 150903863 151489925 1.00
tpcds_q68/duckdb:vortex-compact 62749441 64078630 0.98
tpcds_q69/duckdb:vortex-compact 61806211 63545976 0.97
tpcds_q70/duckdb:vortex-compact 36512488 38922427 0.94
tpcds_q71/duckdb:vortex-compact 33813379 34718355 0.97
tpcds_q72/duckdb:vortex-compact 187419445 192342669 0.97
tpcds_q73/duckdb:vortex-compact 37868286 38380629 0.99
tpcds_q74/duckdb:vortex-compact 🚨 105784468 81974031 1.29
tpcds_q75/duckdb:vortex-compact 70861042 70763941 1.00
tpcds_q76/duckdb:vortex-compact 34226866 35407208 0.97
tpcds_q77/duckdb:vortex-compact 45862660 42172634 1.09
tpcds_q78/duckdb:vortex-compact 88858976 87957107 1.01
tpcds_q79/duckdb:vortex-compact 52541345 55299125 0.95
tpcds_q80/duckdb:vortex-compact 79589472 83678805 0.95
tpcds_q81/duckdb:vortex-compact 32918102 33198692 0.99
tpcds_q82/duckdb:vortex-compact 25276880 25009237 1.01
tpcds_q83/duckdb:vortex-compact 31218147 31423503 0.99
tpcds_q84/duckdb:vortex-compact 26019889 27101749 0.96
tpcds_q85/duckdb:vortex-compact 57709467 56597326 1.02
tpcds_q86/duckdb:vortex-compact 24176680 22752010 1.06
tpcds_q87/duckdb:vortex-compact 50874607 49680548 1.02
tpcds_q88/duckdb:vortex-compact 39196483 40620598 0.96
tpcds_q89/duckdb:vortex-compact 38191207 38075497 1.00
tpcds_q90/duckdb:vortex-compact 15256038 14861508 1.03
tpcds_q91/duckdb:vortex-compact 49794711 53221430 0.94
tpcds_q92/duckdb:vortex-compact 🚀 47346159 54872408 0.86
tpcds_q93/duckdb:vortex-compact 30910930 30801102 1.00
tpcds_q94/duckdb:vortex-compact 30000397 29947714 1.00
tpcds_q95/duckdb:vortex-compact 160068047 164540691 0.97
tpcds_q96/duckdb:vortex-compact 17513772 17748855 0.99
tpcds_q97/duckdb:vortex-compact 45752045 41982213 1.09
tpcds_q98/duckdb:vortex-compact 27735794 28160321 0.98
tpcds_q99/duckdb:vortex-compact 32942600 35949331 0.92
duckdb / parquet (0.995x ➖, 1↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpcds_q01/duckdb:parquet 28037822 27871309 1.01
tpcds_q02/duckdb:parquet 23120959 23812059 0.97
tpcds_q03/duckdb:parquet 11002793 10954077 1.00
tpcds_q04/duckdb:parquet 168640687 169247346 1.00
tpcds_q05/duckdb:parquet 30349232 29528278 1.03
tpcds_q06/duckdb:parquet 27930556 27989837 1.00
tpcds_q07/duckdb:parquet 20941665 20285567 1.03
tpcds_q08/duckdb:parquet 27055605 26602206 1.02
tpcds_q09/duckdb:parquet 39404014 39480972 1.00
tpcds_q10/duckdb:parquet 33309947 31738343 1.05
tpcds_q11/duckdb:parquet 89389087 83029286 1.08
tpcds_q12/duckdb:parquet 14386454 15225300 0.94
tpcds_q13/duckdb:parquet 31763178 32271591 0.98
tpcds_q14/duckdb:parquet 100642521 97721662 1.03
tpcds_q15/duckdb:parquet 28719223 29367423 0.98
tpcds_q16/duckdb:parquet 21052850 21223189 0.99
tpcds_q17/duckdb:parquet 36474617 36801714 0.99
tpcds_q18/duckdb:parquet 45135280 44274032 1.02
tpcds_q19/duckdb:parquet 28429654 28824649 0.99
tpcds_q20/duckdb:parquet 15318696 15094876 1.01
tpcds_q21/duckdb:parquet 10015229 10294081 0.97
tpcds_q22/duckdb:parquet 67567936 67996678 0.99
tpcds_q23/duckdb:parquet 79251286 80366436 0.99
tpcds_q24/duckdb:parquet 43316537 44406588 0.98
tpcds_q25/duckdb:parquet 32278169 32237757 1.00
tpcds_q26/duckdb:parquet 36074461 36180565 1.00
tpcds_q27/duckdb:parquet 49071644 48666831 1.01
tpcds_q28/duckdb:parquet 37108066 37439372 0.99
tpcds_q29/duckdb:parquet 36197092 35562802 1.02
tpcds_q30/duckdb:parquet 33168648 35230146 0.94
tpcds_q31/duckdb:parquet 23992819 22980634 1.04
tpcds_q32/duckdb:parquet 🚨 11583400 10488390 1.10
tpcds_q33/duckdb:parquet 20119619 21017977 0.96
tpcds_q34/duckdb:parquet 20089615 19813031 1.01
tpcds_q35/duckdb:parquet 55227479 56979758 0.97
tpcds_q36/duckdb:parquet 19620122 19386801 1.01
tpcds_q37/duckdb:parquet 12515444 12360344 1.01
tpcds_q38/duckdb:parquet 33820906 33220029 1.02
tpcds_q39/duckdb:parquet 30008952 28190192 1.06
tpcds_q40/duckdb:parquet 17204026 16558266 1.04
tpcds_q41/duckdb:parquet 7757248 7912234 0.98
tpcds_q42/duckdb:parquet 9010115 9638135 0.93
tpcds_q43/duckdb:parquet 15033005 15322902 0.98
tpcds_q44/duckdb:parquet 22289960 22205884 1.00
tpcds_q45/duckdb:parquet 26212929 27456604 0.95
tpcds_q46/duckdb:parquet 43637590 45443158 0.96
tpcds_q47/duckdb:parquet 44173864 44608385 0.99
tpcds_q48/duckdb:parquet 29814222 29292117 1.02
tpcds_q49/duckdb:parquet 23775315 24326510 0.98
tpcds_q50/duckdb:parquet 23869113 23980135 1.00
tpcds_q51/duckdb:parquet 93822381 96872013 0.97
tpcds_q52/duckdb:parquet 10843656 10307165 1.05
tpcds_q53/duckdb:parquet 14942730 15918333 0.94
tpcds_q54/duckdb:parquet 24822000 25077516 0.99
tpcds_q55/duckdb:parquet 9563584 9657428 0.99
tpcds_q56/duckdb:parquet 19712114 20828370 0.95
tpcds_q57/duckdb:parquet 34617287 34348635 1.01
tpcds_q58/duckdb:parquet 21358931 21935143 0.97
tpcds_q59/duckdb:parquet 34995475 35353278 0.99
tpcds_q60/duckdb:parquet 21326277 22313898 0.96
tpcds_q61/duckdb:parquet 30812837 30455198 1.01
tpcds_q62/duckdb:parquet 11232537 12475407 0.90
tpcds_q63/duckdb:parquet 13561724 13667295 0.99
tpcds_q64/duckdb:parquet 74859437 73080773 1.02
tpcds_q65/duckdb:parquet 19393437 20750992 0.93
tpcds_q66/duckdb:parquet 30909015 29209335 1.06
tpcds_q67/duckdb:parquet 134082410 133914828 1.00
tpcds_q68/duckdb:parquet 37381288 36978910 1.01
tpcds_q69/duckdb:parquet 35259045 34052304 1.04
tpcds_q70/duckdb:parquet 18895841 19125412 0.99
tpcds_q71/duckdb:parquet 18226891 19005784 0.96
tpcds_q72/duckdb:parquet 164735771 164157505 1.00
tpcds_q73/duckdb:parquet 17135996 17284338 0.99
tpcds_q74/duckdb:parquet 126269597 127338722 0.99
tpcds_q75/duckdb:parquet 52932386 53138986 1.00
tpcds_q76/duckdb:parquet 19246199 19009334 1.01
tpcds_q77/duckdb:parquet 20903637 21370301 0.98
tpcds_q78/duckdb:parquet 73225857 70689436 1.04
tpcds_q79/duckdb:parquet 26526719 27147698 0.98
tpcds_q80/duckdb:parquet 39539834 40443747 0.98
tpcds_q81/duckdb:parquet 31328668 31520751 0.99
tpcds_q82/duckdb:parquet 13234952 12665955 1.04
tpcds_q83/duckdb:parquet 15946893 15885771 1.00
tpcds_q84/duckdb:parquet 18763355 19064330 0.98
tpcds_q85/duckdb:parquet 37228717 38926305 0.96
tpcds_q86/duckdb:parquet 13040954 12204968 1.07
tpcds_q87/duckdb:parquet 36575627 37013489 0.99
tpcds_q88/duckdb:parquet 48040738 48174887 1.00
tpcds_q89/duckdb:parquet 16453825 16148670 1.02
tpcds_q90/duckdb:parquet 🚀 7343644 8779478 0.84
tpcds_q91/duckdb:parquet 21445163 21749812 0.99
tpcds_q92/duckdb:parquet 10868046 11906762 0.91
tpcds_q93/duckdb:parquet 29386494 28567213 1.03
tpcds_q94/duckdb:parquet 16476659 16942797 0.97
tpcds_q95/duckdb:parquet 124130589 117886538 1.05
tpcds_q96/duckdb:parquet 8530706 8517704 1.00
tpcds_q97/duckdb:parquet 34974274 34525312 1.01
tpcds_q98/duckdb:parquet 17302286 17478806 0.99
tpcds_q99/duckdb:parquet 19428594 19579320 0.99
duckdb / duckdb (0.995x ➖, 2↑ 2↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpcds_q01/duckdb:duckdb 20126170 20096295 1.00
tpcds_q02/duckdb:duckdb 18893086 18520376 1.02
tpcds_q03/duckdb:duckdb 8322791 8605392 0.97
tpcds_q04/duckdb:duckdb 171952136 172572327 1.00
tpcds_q05/duckdb:duckdb 18879950 18495471 1.02
tpcds_q06/duckdb:duckdb 22874214 21765695 1.05
tpcds_q07/duckdb:duckdb 37873311 37520060 1.01
tpcds_q08/duckdb:duckdb 121208987 121678881 1.00
tpcds_q09/duckdb:duckdb 19727137 19723130 1.00
tpcds_q10/duckdb:duckdb 23600187 23533885 1.00
tpcds_q11/duckdb:duckdb 92239864 85730056 1.08
tpcds_q12/duckdb:duckdb 10998465 11068863 0.99
tpcds_q13/duckdb:duckdb 23608733 23523590 1.00
tpcds_q14/duckdb:duckdb 91279968 90359468 1.01
tpcds_q15/duckdb:duckdb 24020361 25039639 0.96
tpcds_q16/duckdb:duckdb 18229489 17819761 1.02
tpcds_q17/duckdb:duckdb 22342245 21900071 1.02
tpcds_q18/duckdb:duckdb 44453770 43547643 1.02
tpcds_q19/duckdb:duckdb 15965716 17187199 0.93
tpcds_q20/duckdb:duckdb 11904648 12406372 0.96
tpcds_q21/duckdb:duckdb 🚀 6940938 8140737 0.85
tpcds_q22/duckdb:duckdb 61010363 61846507 0.99
tpcds_q23/duckdb:duckdb 81046004 82613066 0.98
tpcds_q24/duckdb:duckdb 24171884 25172312 0.96
tpcds_q25/duckdb:duckdb 16834092 17667656 0.95
tpcds_q26/duckdb:duckdb 23990241 26216379 0.92
tpcds_q27/duckdb:duckdb 38481582 39016278 0.99
tpcds_q28/duckdb:duckdb 21474136 21613782 0.99
tpcds_q29/duckdb:duckdb 20272323 20609922 0.98
tpcds_q30/duckdb:duckdb 29193583 29939484 0.98
tpcds_q31/duckdb:duckdb 46291013 49715898 0.93
tpcds_q32/duckdb:duckdb 7574703 7669428 0.99
tpcds_q33/duckdb:duckdb 12875720 12763574 1.01
tpcds_q34/duckdb:duckdb 15242450 14943985 1.02
tpcds_q35/duckdb:duckdb 30990892 33710227 0.92
tpcds_q36/duckdb:duckdb 71305768 66313678 1.08
tpcds_q37/duckdb:duckdb 7896085 7593527 1.04
tpcds_q38/duckdb:duckdb 31068583 30062571 1.03
tpcds_q39/duckdb:duckdb 26198320 25036539 1.05
tpcds_q40/duckdb:duckdb 13234227 12808075 1.03
tpcds_q41/duckdb:duckdb 8343254 8510501 0.98
tpcds_q42/duckdb:duckdb 6407647 6494601 0.99
tpcds_q43/duckdb:duckdb 11461696 11338474 1.01
tpcds_q44/duckdb:duckdb 13725663 13578669 1.01
tpcds_q45/duckdb:duckdb 17013667 18042203 0.94
tpcds_q46/duckdb:duckdb 37332884 35870691 1.04
tpcds_q47/duckdb:duckdb 39695273 41501216 0.96
tpcds_q48/duckdb:duckdb 23589942 21959822 1.07
tpcds_q49/duckdb:duckdb 16345564 17166370 0.95
tpcds_q50/duckdb:duckdb 14174485 14380217 0.99
tpcds_q51/duckdb:duckdb 91109105 91423818 1.00
tpcds_q52/duckdb:duckdb 7215575 7350940 0.98
tpcds_q53/duckdb:duckdb 13127230 13416003 0.98
tpcds_q54/duckdb:duckdb 16539772 16565438 1.00
tpcds_q55/duckdb:duckdb 🚀 6713280 7535415 0.89
tpcds_q56/duckdb:duckdb 13832372 13226992 1.05
tpcds_q57/duckdb:duckdb 32484822 32435158 1.00
tpcds_q58/duckdb:duckdb 13289883 12668884 1.05
tpcds_q59/duckdb:duckdb 34757369 35050329 0.99
tpcds_q60/duckdb:duckdb 14744173 14661315 1.01
tpcds_q61/duckdb:duckdb 14458508 14893587 0.97
tpcds_q62/duckdb:duckdb 9445565 9613816 0.98
tpcds_q63/duckdb:duckdb 12022016 12679557 0.95
tpcds_q64/duckdb:duckdb 53902228 57164294 0.94
tpcds_q65/duckdb:duckdb 34069217 31828739 1.07
tpcds_q66/duckdb:duckdb 24520642 26223521 0.94
tpcds_q67/duckdb:duckdb 127711859 128622864 0.99
tpcds_q68/duckdb:duckdb 25381132 25118114 1.01
tpcds_q69/duckdb:duckdb 24501866 25775874 0.95
tpcds_q70/duckdb:duckdb 14610943 15124283 0.97
tpcds_q71/duckdb:duckdb 13217381 13012992 1.02
tpcds_q72/duckdb:duckdb 42813518 43530472 0.98
tpcds_q73/duckdb:duckdb 10811185 10764720 1.00
tpcds_q74/duckdb:duckdb 146066174 143983869 1.01
tpcds_q75/duckdb:duckdb 41380434 42101677 0.98
tpcds_q76/duckdb:duckdb 🚨 12678633 11306896 1.12
tpcds_q77/duckdb:duckdb 11947925 12085510 0.99
tpcds_q78/duckdb:duckdb 63335007 61850752 1.02
tpcds_q79/duckdb:duckdb 18586328 18129261 1.03
tpcds_q80/duckdb:duckdb 26866762 27369662 0.98
tpcds_q81/duckdb:duckdb 38821692 37230043 1.04
tpcds_q82/duckdb:duckdb 8011724 8445041 0.95
tpcds_q83/duckdb:duckdb 9569371 9906565 0.97
tpcds_q84/duckdb:duckdb 13451739 13960295 0.96
tpcds_q85/duckdb:duckdb 22896527 24831062 0.92
tpcds_q86/duckdb:duckdb 10876822 10988468 0.99
tpcds_q87/duckdb:duckdb 34324193 32463703 1.06
tpcds_q88/duckdb:duckdb 25954408 25857143 1.00
tpcds_q89/duckdb:duckdb 14067248 14670681 0.96
tpcds_q90/duckdb:duckdb 5666353 5586424 1.01
tpcds_q91/duckdb:duckdb 12948367 12331112 1.05
tpcds_q92/duckdb:duckdb 8343414 9001538 0.93
tpcds_q93/duckdb:duckdb 22023377 22478457 0.98
tpcds_q94/duckdb:duckdb 12197354 12544238 0.97
tpcds_q95/duckdb:duckdb 🚨 128852375 107826019 1.20
tpcds_q96/duckdb:duckdb 4872432 4699176 1.04
tpcds_q97/duckdb:duckdb 29286321 29762959 0.98
tpcds_q98/duckdb:duckdb 14667006 13518413 1.08
tpcds_q99/duckdb:duckdb 16191416 16690214 0.97
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-compact +2.8% +0.3% +2.5% +23.8% ➖ noise
1 datafusion:vortex-file-compressed +4.8% +0.3% +4.5% +21.6% ➖ noise
1 duckdb:duckdb +0.1% +0.3% -0.1% +21.9% ➖ noise
1 duckdb:vortex-compact -7.4% +0.3% -7.6% +23.2% ➖ noise
1 duckdb:vortex-file-compressed -4.1% +0.3% -4.4% +33.1% ➖ noise
2 datafusion:vortex-compact -3.6% -1.0% -2.7% +10.0% ➖ noise
2 datafusion:vortex-file-compressed +0.5% -1.0% +1.5% +10.0% ➖ noise
2 duckdb:duckdb +2.0% -1.0% +3.0% +13.7% ➖ noise
2 duckdb:vortex-compact +6.6% -1.0% +7.7% +18.8% ➖ noise
2 duckdb:vortex-file-compressed -10.1% -1.0% -9.2% +25.4% ➖ noise
3 datafusion:vortex-compact +8.7% -4.4% +13.7% +15.6% ➖ noise
3 datafusion:vortex-file-compressed +11.1% -4.4% +16.2% +11.8% 🚨 regression
3 duckdb:duckdb -3.3% -4.4% +1.1% +13.8% ➖ noise
3 duckdb:vortex-compact -3.1% -4.4% +1.4% +11.4% ➖ noise
3 duckdb:vortex-file-compressed -1.4% -4.4% +3.1% +12.9% ➖ noise
4 datafusion:vortex-compact -0.1% -1.6% +1.4% +10.0% ➖ noise
4 datafusion:vortex-file-compressed +6.6% -1.6% +8.2% +10.0% ➖ noise
4 duckdb:duckdb -0.4% -1.6% +1.2% +10.0% ➖ noise
4 duckdb:vortex-compact +3.5% -1.6% +5.2% +13.1% ➖ noise
4 duckdb:vortex-file-compressed -1.6% -1.6% -0.1% +10.8% ➖ noise
5 datafusion:vortex-compact +5.2% -1.4% +6.7% +10.0% ➖ noise
5 datafusion:vortex-file-compressed +2.8% -1.4% +4.2% +10.0% ➖ noise
5 duckdb:duckdb +2.1% -1.4% +3.5% +10.8% ➖ noise
5 duckdb:vortex-compact +0.1% -1.4% +1.5% +10.0% ➖ noise
5 duckdb:vortex-file-compressed +3.1% -1.4% +4.5% +12.5% ➖ noise
6 datafusion:vortex-compact -28.2% -0.7% -27.7% +12.0% ✅ faster
6 datafusion:vortex-file-compressed -29.2% -0.7% -28.7% +10.0% ✅ faster
6 duckdb:duckdb +5.1% -0.7% +5.9% +11.8% ➖ noise
6 duckdb:vortex-compact +1.5% -0.7% +2.3% +10.0% ➖ noise
6 duckdb:vortex-file-compressed +1.3% -0.7% +2.0% +10.0% ➖ noise
7 datafusion:vortex-compact +4.1% +1.6% +2.5% +10.0% ➖ noise
7 datafusion:vortex-file-compressed +0.7% +1.6% -0.9% +10.0% ➖ noise
7 duckdb:duckdb +0.9% +1.6% -0.7% +16.0% ➖ noise
7 duckdb:vortex-compact +1.5% +1.6% -0.1% +12.6% ➖ noise
7 duckdb:vortex-file-compressed -3.5% +1.6% -5.0% +24.9% ➖ noise
8 datafusion:vortex-compact +2.2% +0.4% +1.8% +10.7% ➖ noise
8 datafusion:vortex-file-compressed +1.4% +0.4% +1.0% +18.7% ➖ noise
8 duckdb:duckdb -0.4% +0.4% -0.8% +10.0% ➖ noise
8 duckdb:vortex-compact -2.1% +0.4% -2.5% +10.4% ➖ noise
8 duckdb:vortex-file-compressed +4.6% +0.4% +4.2% +18.5% ➖ noise
9 datafusion:vortex-compact +3.0% -0.6% +3.6% +10.0% ➖ noise
9 datafusion:vortex-file-compressed +1.4% -0.6% +2.0% +10.0% ➖ noise
9 duckdb:duckdb +0.0% -0.6% +0.6% +10.0% ➖ noise
9 duckdb:vortex-compact -0.0% -0.6% +0.6% +10.3% ➖ noise
9 duckdb:vortex-file-compressed -3.3% -0.6% -2.7% +11.0% ➖ noise
10 datafusion:vortex-compact +5.8% +4.0% +1.8% +11.1% ➖ noise
10 datafusion:vortex-file-compressed +4.5% +4.0% +0.5% +10.0% ➖ noise
10 duckdb:duckdb +0.3% +4.0% -3.6% +10.0% ➖ noise
10 duckdb:vortex-compact +1.9% +4.0% -2.0% +10.0% ➖ noise
10 duckdb:vortex-file-compressed +0.1% +4.0% -3.7% +15.8% ➖ noise
11 datafusion:vortex-compact +6.1% +6.0% +0.1% +10.0% ➖ noise
11 datafusion:vortex-file-compressed +14.8% +6.0% +8.3% +10.0% ➖ noise
11 duckdb:duckdb +7.6% +6.0% +1.5% +19.3% ➖ noise
11 duckdb:vortex-compact +3.8% +6.0% -2.0% +10.3% ➖ noise
11 duckdb:vortex-file-compressed +1.0% +6.0% -4.7% +10.6% ➖ noise
12 datafusion:vortex-compact +3.7% +2.7% +0.9% +17.9% ➖ noise
12 datafusion:vortex-file-compressed +12.0% +2.7% +9.0% +15.4% ➖ noise
12 duckdb:duckdb -0.6% +2.7% -3.3% +16.3% ➖ noise
12 duckdb:vortex-compact -4.4% +2.7% -7.0% +21.2% ➖ noise
12 duckdb:vortex-file-compressed +5.8% +2.7% +3.0% +14.4% ➖ noise
13 datafusion:vortex-compact +0.0% +1.4% -1.4% +10.0% ➖ noise
13 datafusion:vortex-file-compressed +5.8% +1.4% +4.3% +10.0% ➖ noise
13 duckdb:duckdb +0.4% +1.4% -1.1% +10.3% ➖ noise
13 duckdb:vortex-compact -3.8% +1.4% -5.1% +10.0% ➖ noise
13 duckdb:vortex-file-compressed +4.4% +1.4% +2.9% +10.4% ➖ noise
14 datafusion:vortex-compact +0.2% +1.5% -1.3% +10.0% ➖ noise
14 datafusion:vortex-file-compressed +4.9% +1.5% +3.3% +10.0% ➖ noise
14 duckdb:duckdb +1.0% +1.5% -0.5% +10.0% ➖ noise
14 duckdb:vortex-compact -0.6% +1.5% -2.1% +10.0% ➖ noise
14 duckdb:vortex-file-compressed -4.7% +1.5% -6.1% +10.0% ➖ noise
15 datafusion:vortex-compact +14.0% -4.5% +19.3% +10.0% 🚨 regression
15 datafusion:vortex-file-compressed +13.0% -4.5% +18.2% +10.0% 🚨 regression
15 duckdb:duckdb -4.1% -4.5% +0.4% +10.0% ➖ noise
15 duckdb:vortex-compact +4.3% -4.5% +9.2% +10.0% ➖ noise
15 duckdb:vortex-file-compressed +2.0% -4.5% +6.8% +10.0% ➖ noise
16 datafusion:vortex-compact +1.4% -2.6% +4.2% +10.0% ➖ noise
16 datafusion:vortex-file-compressed +1.3% -2.6% +4.0% +10.0% ➖ noise
16 duckdb:duckdb +2.3% -2.6% +5.1% +20.4% ➖ noise
16 duckdb:vortex-compact -1.0% -2.6% +1.7% +10.9% ➖ noise
16 duckdb:vortex-file-compressed +0.7% -2.6% +3.4% +10.0% ➖ noise
17 datafusion:vortex-compact +3.4% -4.0% +7.8% +12.8% ➖ noise
17 datafusion:vortex-file-compressed +6.0% -4.0% +10.5% +10.0% 🚨 regression
17 duckdb:duckdb +2.0% -4.0% +6.3% +10.7% ➖ noise
17 duckdb:vortex-compact +3.7% -4.0% +8.1% +13.6% ➖ noise
17 duckdb:vortex-file-compressed -3.2% -4.0% +0.9% +10.0% ➖ noise
18 datafusion:vortex-compact +4.9% -0.3% +5.3% +10.0% ➖ noise
18 datafusion:vortex-file-compressed +3.7% -0.3% +4.0% +10.0% ➖ noise
18 duckdb:duckdb +2.1% -0.3% +2.4% +10.0% ➖ noise
18 duckdb:vortex-compact -1.4% -0.3% -1.1% +10.0% ➖ noise
18 duckdb:vortex-file-compressed -2.2% -0.3% -1.9% +16.8% ➖ noise
19 datafusion:vortex-compact +12.2% -2.3% +14.9% +10.0% 🚨 regression
19 datafusion:vortex-file-compressed +10.1% -2.3% +12.7% +10.0% 🚨 regression
19 duckdb:duckdb -7.1% -2.3% -4.9% +10.4% ➖ noise
19 duckdb:vortex-compact -0.7% -2.3% +1.7% +10.0% ➖ noise
19 duckdb:vortex-file-compressed -1.1% -2.3% +1.3% +10.0% ➖ noise
20 datafusion:vortex-compact +5.2% -0.4% +5.6% +12.3% ➖ noise
20 datafusion:vortex-file-compressed +11.8% -0.4% +12.2% +10.0% 🚨 regression
20 duckdb:duckdb -4.0% -0.4% -3.7% +12.7% ➖ noise
20 duckdb:vortex-compact -4.2% -0.4% -3.9% +10.0% ➖ noise
20 duckdb:vortex-file-compressed +3.7% -0.4% +4.1% +10.0% ➖ noise
21 datafusion:vortex-compact +220.2% -1.3% +224.3% +13.9% 🚨 regression
21 datafusion:vortex-file-compressed +248.1% -1.3% +252.5% +14.0% 🚨 regression
21 duckdb:duckdb -14.7% -1.3% -13.7% +18.2% ➖ noise
21 duckdb:vortex-compact -7.7% -1.3% -6.6% +15.8% ➖ noise
21 duckdb:vortex-file-compressed -1.4% -1.3% -0.2% +15.2% ➖ noise
22 datafusion:vortex-compact -53.1% +0.7% -53.4% +18.4% ✅ faster
22 datafusion:vortex-file-compressed -56.8% +0.7% -57.1% +19.1% ✅ faster
22 duckdb:duckdb -1.4% +0.7% -2.0% +11.0% ➖ noise
22 duckdb:vortex-compact -0.7% +0.7% -1.4% +11.9% ➖ noise
22 duckdb:vortex-file-compressed -2.6% +0.7% -3.3% +14.2% ➖ noise
23 datafusion:vortex-compact -12.6% -0.1% -12.6% +10.0% ✅ faster
23 datafusion:vortex-file-compressed -13.8% -0.1% -13.7% +10.0% ✅ faster
23 duckdb:duckdb -1.9% -0.1% -1.8% +13.2% ➖ noise
23 duckdb:vortex-compact -3.1% -0.1% -3.0% +14.9% ➖ noise
23 duckdb:vortex-file-compressed +1.1% -0.1% +1.2% +12.8% ➖ noise
24 datafusion:vortex-compact +18.7% -1.5% +20.5% +10.3% 🚨 regression
24 datafusion:vortex-file-compressed +20.1% -1.5% +22.0% +10.0% 🚨 regression
24 duckdb:duckdb -4.0% -1.5% -2.5% +10.4% ➖ noise
24 duckdb:vortex-compact -3.9% -1.5% -2.4% +10.0% ➖ noise
24 duckdb:vortex-file-compressed -3.3% -1.5% -1.8% +11.8% ➖ noise
25 datafusion:vortex-compact +1.0% +1.0% -0.0% +10.0% ➖ noise
25 datafusion:vortex-file-compressed -1.1% +1.0% -2.1% +10.7% ➖ noise
25 duckdb:duckdb -4.7% +1.0% -5.7% +11.2% ➖ noise
25 duckdb:vortex-compact +3.2% +1.0% +2.1% +11.8% ➖ noise
25 duckdb:vortex-file-compressed -1.2% +1.0% -2.2% +10.8% ➖ noise
26 datafusion:vortex-compact +3.0% +1.3% +1.7% +10.0% ➖ noise
26 datafusion:vortex-file-compressed +2.2% +1.3% +0.9% +17.1% ➖ noise
26 duckdb:duckdb -8.5% +1.3% -9.7% +11.6% ➖ noise
26 duckdb:vortex-compact +0.8% +1.3% -0.5% +12.4% ➖ noise
26 duckdb:vortex-file-compressed +4.3% +1.3% +2.9% +13.0% ➖ noise
27 datafusion:vortex-compact -3.6% -0.1% -3.4% +10.7% ➖ noise
27 datafusion:vortex-file-compressed -1.1% -0.1% -1.0% +10.9% ➖ noise
27 duckdb:duckdb -1.4% -0.1% -1.2% +18.1% ➖ noise
27 duckdb:vortex-compact +0.0% -0.1% +0.2% +12.9% ➖ noise
27 duckdb:vortex-file-compressed -0.6% -0.1% -0.4% +19.0% ➖ noise
28 datafusion:vortex-compact -0.7% -0.4% -0.4% +10.0% ➖ noise
28 datafusion:vortex-file-compressed +6.5% -0.4% +6.9% +10.0% ➖ noise
28 duckdb:duckdb -0.6% -0.4% -0.3% +10.0% ➖ noise
28 duckdb:vortex-compact -4.3% -0.4% -3.9% +10.0% ➖ noise
28 duckdb:vortex-file-compressed -2.0% -0.4% -1.6% +10.0% ➖ noise
29 datafusion:vortex-compact +3.1% -0.5% +3.6% +11.8% ➖ noise
29 datafusion:vortex-file-compressed +8.4% -0.5% +8.9% +17.9% ➖ noise
29 duckdb:duckdb -1.6% -0.5% -1.2% +11.6% ➖ noise
29 duckdb:vortex-compact -3.5% -0.5% -3.0% +13.6% ➖ noise
29 duckdb:vortex-file-compressed +0.1% -0.5% +0.6% +10.0% ➖ noise
30 datafusion:vortex-compact +0.4% -3.5% +4.0% +10.0% ➖ noise
30 datafusion:vortex-file-compressed +1.4% -3.5% +5.1% +10.0% ➖ noise
30 duckdb:duckdb -2.5% -3.5% +1.1% +10.0% ➖ noise
30 duckdb:vortex-compact +0.5% -3.5% +4.2% +10.0% ➖ noise
30 duckdb:vortex-file-compressed +4.4% -3.5% +8.2% +10.2% ➖ noise
31 datafusion:vortex-compact +16.3% +3.2% +12.7% +10.0% 🚨 regression
31 datafusion:vortex-file-compressed +17.6% +3.2% +13.9% +10.0% 🚨 regression
31 duckdb:duckdb -6.9% +3.2% -9.8% +11.0% ➖ noise
31 duckdb:vortex-compact -0.3% +3.2% -3.4% +12.9% ➖ noise
31 duckdb:vortex-file-compressed -1.0% +3.2% -4.1% +15.9% ➖ noise
32 datafusion:vortex-compact -4.5% +5.0% -9.0% +10.0% ➖ noise
32 datafusion:vortex-file-compressed -1.5% +5.0% -6.2% +10.0% ➖ noise
32 duckdb:duckdb -1.2% +5.0% -5.9% +13.5% ➖ noise
32 duckdb:vortex-compact -3.0% +5.0% -7.6% +10.0% ➖ noise
32 duckdb:vortex-file-compressed -0.8% +5.0% -5.5% +10.5% ➖ noise
33 datafusion:vortex-compact +0.1% +0.3% -0.1% +10.0% ➖ noise
33 datafusion:vortex-file-compressed -0.7% +0.3% -1.0% +10.0% ➖ noise
33 duckdb:duckdb +0.9% +0.3% +0.6% +11.3% ➖ noise
33 duckdb:vortex-compact -3.2% +0.3% -3.4% +15.9% ➖ noise
33 duckdb:vortex-file-compressed +0.2% +0.3% -0.0% +10.0% ➖ noise
34 datafusion:vortex-compact +9.8% +2.0% +7.6% +12.6% ➖ noise
34 datafusion:vortex-file-compressed -0.1% +2.0% -2.0% +19.8% ➖ noise
34 duckdb:duckdb +2.0% +2.0% +0.0% +14.8% ➖ noise
34 duckdb:vortex-compact -2.9% +2.0% -4.7% +13.8% ➖ noise
34 duckdb:vortex-file-compressed -1.2% +2.0% -3.1% +14.6% ➖ noise
35 datafusion:vortex-compact +4.9% -1.1% +6.0% +10.0% ➖ noise
35 datafusion:vortex-file-compressed +4.6% -1.1% +5.7% +10.0% ➖ noise
35 duckdb:duckdb -8.1% -1.1% -7.1% +17.0% ➖ noise
35 duckdb:vortex-compact -4.6% -1.1% -3.5% +10.0% ➖ noise
35 duckdb:vortex-file-compressed +1.0% -1.1% +2.0% +10.8% ➖ noise
36 datafusion:vortex-compact +4.4% +0.2% +4.1% +10.0% ➖ noise
36 datafusion:vortex-file-compressed +7.5% +0.2% +7.2% +10.0% ➖ noise
36 duckdb:duckdb +7.5% +0.2% +7.3% +10.0% ➖ noise
36 duckdb:vortex-compact -4.3% +0.2% -4.5% +10.0% ➖ noise
36 duckdb:vortex-file-compressed +3.1% +0.2% +2.8% +10.0% ➖ noise
37 datafusion:vortex-compact +5.1% +1.2% +3.9% +10.0% ➖ noise
37 datafusion:vortex-file-compressed +17.7% +1.2% +16.3% +12.6% 🚨 regression
37 duckdb:duckdb +4.0% +1.2% +2.7% +13.0% ➖ noise
37 duckdb:vortex-compact -4.3% +1.2% -5.5% +10.0% ➖ noise
37 duckdb:vortex-file-compressed +0.0% +1.2% -1.2% +10.0% ➖ noise
38 datafusion:vortex-compact +11.5% +1.3% +10.1% +10.0% 🚨 regression
38 datafusion:vortex-file-compressed +8.3% +1.3% +6.9% +10.0% ➖ noise
38 duckdb:duckdb +3.3% +1.3% +2.1% +12.8% ➖ noise
38 duckdb:vortex-compact +2.1% +1.3% +0.9% +11.6% ➖ noise
38 duckdb:vortex-file-compressed -4.5% +1.3% -5.6% +10.2% ➖ noise
39 datafusion:vortex-compact +18.3% +3.5% +14.2% +16.4% ➖ noise
39 datafusion:vortex-file-compressed +17.6% +3.5% +13.6% +14.7% ➖ noise
39 duckdb:duckdb +4.6% +3.5% +1.1% +18.0% ➖ noise
39 duckdb:vortex-compact -4.9% +3.5% -8.1% +15.0% ➖ noise
39 duckdb:vortex-file-compressed -0.4% +3.5% -3.8% +20.2% ➖ noise
40 datafusion:vortex-compact +41.1% +1.2% +39.5% +10.0% 🚨 regression
40 datafusion:vortex-file-compressed +44.6% +1.2% +42.9% +10.0% 🚨 regression
40 duckdb:duckdb +3.3% +1.2% +2.1% +11.4% ➖ noise
40 duckdb:vortex-compact -4.4% +1.2% -5.5% +10.8% ➖ noise
40 duckdb:vortex-file-compressed +9.7% +1.2% +8.4% +17.6% ➖ noise
41 datafusion:vortex-compact -0.6% -1.8% +1.3% +13.4% ➖ noise
41 datafusion:vortex-file-compressed +4.1% -1.8% +6.0% +14.3% ➖ noise
41 duckdb:duckdb -2.0% -1.8% -0.2% +10.0% ➖ noise
41 duckdb:vortex-compact -4.9% -1.8% -3.1% +10.0% ➖ noise
41 duckdb:vortex-file-compressed +2.2% -1.8% +4.1% +10.0% ➖ noise
42 datafusion:vortex-compact +7.7% -2.8% +10.7% +10.0% 🚨 regression
42 datafusion:vortex-file-compressed +13.7% -2.8% +17.0% +12.1% 🚨 regression
42 duckdb:duckdb -1.3% -2.8% +1.5% +13.6% ➖ noise
42 duckdb:vortex-compact +0.8% -2.8% +3.6% +10.0% ➖ noise
42 duckdb:vortex-file-compressed -5.8% -2.8% -3.1% +12.7% ➖ noise
43 datafusion:vortex-compact +33.2% -2.5% +36.6% +13.2% 🚨 regression
43 datafusion:vortex-file-compressed +52.5% -2.5% +56.4% +10.0% 🚨 regression
43 duckdb:duckdb +1.1% -2.5% +3.7% +10.4% ➖ noise
43 duckdb:vortex-compact -6.0% -2.5% -3.6% +14.2% ➖ noise
43 duckdb:vortex-file-compressed -6.5% -2.5% -4.1% +11.8% ➖ noise
44 datafusion:vortex-compact +9.5% -0.5% +10.1% +10.0% 🚨 regression
44 datafusion:vortex-file-compressed +0.9% -0.5% +1.4% +11.4% ➖ noise
44 duckdb:duckdb +1.1% -0.5% +1.6% +10.6% ➖ noise
44 duckdb:vortex-compact -0.8% -0.5% -0.3% +11.0% ➖ noise
44 duckdb:vortex-file-compressed -3.1% -0.5% -2.6% +10.5% ➖ noise
45 datafusion:vortex-compact +14.8% -3.0% +18.5% +10.0% 🚨 regression
45 datafusion:vortex-file-compressed +15.9% -3.0% +19.6% +10.0% 🚨 regression
45 duckdb:duckdb -5.7% -3.0% -2.7% +10.0% ➖ noise
45 duckdb:vortex-compact -4.9% -3.0% -1.9% +10.0% ➖ noise
45 duckdb:vortex-file-compressed -4.2% -3.0% -1.2% +10.0% ➖ noise
46 datafusion:vortex-compact +13.5% -3.6% +17.8% +10.0% 🚨 regression
46 datafusion:vortex-file-compressed +20.6% -3.6% +25.1% +13.2% 🚨 regression
46 duckdb:duckdb +4.1% -3.6% +8.0% +10.0% ➖ noise
46 duckdb:vortex-compact -0.9% -3.6% +2.8% +10.0% ➖ noise
46 duckdb:vortex-file-compressed +2.8% -3.6% +6.7% +10.0% ➖ noise
47 datafusion:vortex-compact +38.7% -0.3% +39.2% +10.0% 🚨 regression
47 datafusion:vortex-file-compressed +39.9% -0.3% +40.4% +10.0% 🚨 regression
47 duckdb:duckdb -4.4% -0.3% -4.0% +10.0% ➖ noise
47 duckdb:vortex-compact -2.3% -0.3% -2.0% +10.2% ➖ noise
47 duckdb:vortex-file-compressed -0.0% -0.3% +0.3% +10.0% ➖ noise
48 datafusion:vortex-compact +1.3% -0.9% +2.3% +10.0% ➖ noise
48 datafusion:vortex-file-compressed +1.5% -0.9% +2.4% +10.0% ➖ noise
48 duckdb:duckdb +7.4% -0.9% +8.4% +10.4% ➖ noise
48 duckdb:vortex-compact -3.5% -0.9% -2.6% +10.0% ➖ noise
48 duckdb:vortex-file-compressed +0.3% -0.9% +1.2% +10.0% ➖ noise
49 datafusion:vortex-compact -1.2% -3.6% +2.6% +10.0% ➖ noise
49 datafusion:vortex-file-compressed +0.7% -3.6% +4.5% +10.0% ➖ noise
49 duckdb:duckdb -4.8% -3.6% -1.2% +11.1% ➖ noise
49 duckdb:vortex-compact -3.9% -3.6% -0.3% +14.8% ➖ noise
49 duckdb:vortex-file-compressed -5.9% -3.6% -2.4% +22.1% ➖ noise
50 datafusion:vortex-compact +8.0% -2.3% +10.6% +10.0% 🚨 regression
50 datafusion:vortex-file-compressed +6.0% -2.3% +8.5% +10.0% ➖ noise
50 duckdb:duckdb -1.4% -2.3% +0.9% +11.5% ➖ noise
50 duckdb:vortex-compact +2.1% -2.3% +4.5% +10.9% ➖ noise
50 duckdb:vortex-file-compressed -1.1% -2.3% +1.2% +15.0% ➖ noise
51 datafusion:vortex-compact +0.8% -2.9% +3.8% +11.7% ➖ noise
51 datafusion:vortex-file-compressed +1.7% -2.9% +4.7% +13.9% ➖ noise
51 duckdb:duckdb -0.3% -2.9% +2.7% +26.2% ➖ noise
51 duckdb:vortex-compact -0.7% -2.9% +2.3% +15.1% ➖ noise
51 duckdb:vortex-file-compressed -0.5% -2.9% +2.5% +13.0% ➖ noise
52 datafusion:vortex-compact +8.9% +0.7% +8.1% +11.6% ➖ noise
52 datafusion:vortex-file-compressed +6.9% +0.7% +6.2% +13.5% ➖ noise
52 duckdb:duckdb -1.8% +0.7% -2.5% +16.7% ➖ noise
52 duckdb:vortex-compact -3.3% +0.7% -4.0% +14.5% ➖ noise
52 duckdb:vortex-file-compressed -0.5% +0.7% -1.1% +31.0% ➖ noise
53 datafusion:vortex-compact -0.4% -4.9% +4.7% +22.0% ➖ noise
53 datafusion:vortex-file-compressed +1.0% -4.9% +6.2% +20.5% ➖ noise
53 duckdb:duckdb -2.2% -4.9% +2.8% +22.6% ➖ noise
53 duckdb:vortex-compact -1.8% -4.9% +3.2% +21.4% ➖ noise
53 duckdb:vortex-file-compressed +2.5% -4.9% +7.8% +21.1% ➖ noise
54 datafusion:vortex-compact +2.1% +1.2% +0.9% +10.0% ➖ noise
54 datafusion:vortex-file-compressed +4.0% +1.2% +2.8% +10.0% ➖ noise
54 duckdb:duckdb -0.2% +1.2% -1.3% +10.9% ➖ noise
54 duckdb:vortex-compact -2.0% +1.2% -3.2% +11.3% ➖ noise
54 duckdb:vortex-file-compressed -3.3% +1.2% -4.4% +10.0% ➖ noise
55 datafusion:vortex-compact +13.2% +1.0% +12.1% +10.0% 🚨 regression
55 datafusion:vortex-file-compressed +13.4% +1.0% +12.2% +10.5% 🚨 regression
55 duckdb:duckdb -10.9% +1.0% -11.8% +18.6% ➖ noise
55 duckdb:vortex-compact -6.6% +1.0% -7.6% +13.8% ➖ noise
55 duckdb:vortex-file-compressed -4.9% +1.0% -5.8% +10.0% ➖ noise
56 datafusion:vortex-compact +6.1% -4.2% +10.7% +11.1% ➖ noise
56 datafusion:vortex-file-compressed +3.0% -4.2% +7.4% +10.0% ➖ noise
56 duckdb:duckdb +4.6% -4.2% +9.1% +13.2% ➖ noise
56 duckdb:vortex-compact -0.5% -4.2% +3.8% +10.7% ➖ noise
56 duckdb:vortex-file-compressed -1.8% -4.2% +2.5% +17.2% ➖ noise
57 datafusion:vortex-compact +13.8% -0.0% +13.8% +10.0% 🚨 regression
57 datafusion:vortex-file-compressed +6.3% -0.0% +6.3% +10.0% ➖ noise
57 duckdb:duckdb +0.2% -0.0% +0.2% +13.3% ➖ noise
57 duckdb:vortex-compact -4.5% -0.0% -4.4% +10.0% ➖ noise
57 duckdb:vortex-file-compressed -0.0% -0.0% -0.0% +12.4% ➖ noise
58 datafusion:vortex-compact +8.1% -2.4% +10.8% +13.0% ➖ noise
58 datafusion:vortex-file-compressed +16.2% -2.4% +19.1% +10.0% 🚨 regression
58 duckdb:duckdb +4.9% -2.4% +7.5% +12.6% ➖ noise
58 duckdb:vortex-compact +7.9% -2.4% +10.6% +16.7% ➖ noise
58 duckdb:vortex-file-compressed +5.2% -2.4% +7.8% +10.9% ➖ noise
59 datafusion:vortex-compact +4.3% +0.6% +3.7% +10.0% ➖ noise
59 datafusion:vortex-file-compressed +11.9% +0.6% +11.3% +10.0% 🚨 regression
59 duckdb:duckdb -0.8% +0.6% -1.4% +10.0% ➖ noise
59 duckdb:vortex-compact -1.7% +0.6% -2.3% +12.1% ➖ noise
59 duckdb:vortex-file-compressed +0.4% +0.6% -0.1% +21.9% ➖ noise
60 datafusion:vortex-compact +10.8% -3.3% +14.5% +10.0% 🚨 regression
60 datafusion:vortex-file-compressed +2.2% -3.3% +5.6% +13.2% ➖ noise
60 duckdb:duckdb +0.6% -3.3% +4.0% +12.2% ➖ noise
60 duckdb:vortex-compact +2.2% -3.3% +5.6% +10.0% ➖ noise
60 duckdb:vortex-file-compressed -7.1% -3.3% -3.9% +16.8% ➖ noise
61 datafusion:vortex-compact +3.4% +0.1% +3.3% +10.0% ➖ noise
61 datafusion:vortex-file-compressed -2.6% +0.1% -2.7% +11.3% ➖ noise
61 duckdb:duckdb -2.9% +0.1% -3.0% +10.0% ➖ noise
61 duckdb:vortex-compact +2.0% +0.1% +1.9% +10.8% ➖ noise
61 duckdb:vortex-file-compressed +10.0% +0.1% +9.9% +11.5% ➖ noise
62 datafusion:vortex-compact -4.9% +1.7% -6.5% +25.8% ➖ noise
62 datafusion:vortex-file-compressed +6.6% +1.7% +4.8% +19.7% ➖ noise
62 duckdb:duckdb -1.8% +1.7% -3.4% +25.9% ➖ noise
62 duckdb:vortex-compact -15.1% +1.7% -16.5% +26.2% ➖ noise
62 duckdb:vortex-file-compressed -3.5% +1.7% -5.1% +15.1% ➖ noise
63 datafusion:vortex-compact +0.8% -0.4% +1.2% +10.0% ➖ noise
63 datafusion:vortex-file-compressed -1.1% -0.4% -0.7% +10.0% ➖ noise
63 duckdb:duckdb -5.2% -0.4% -4.8% +10.1% ➖ noise
63 duckdb:vortex-compact -1.0% -0.4% -0.6% +10.0% ➖ noise
63 duckdb:vortex-file-compressed +0.6% -0.4% +1.0% +10.0% ➖ noise
64 datafusion:vortex-compact +2.0% +0.8% +1.2% +10.0% ➖ noise
64 datafusion:vortex-file-compressed +1.7% +0.8% +0.8% +10.0% ➖ noise
64 duckdb:duckdb -5.7% +0.8% -6.5% +10.0% ➖ noise
64 duckdb:vortex-compact -2.2% +0.8% -3.0% +10.0% ➖ noise
64 duckdb:vortex-file-compressed -1.9% +0.8% -2.7% +10.0% ➖ noise
65 datafusion:vortex-compact +5.0% -4.4% +9.8% +10.5% ➖ noise
65 datafusion:vortex-file-compressed +7.6% -4.4% +12.5% +13.4% ➖ noise
65 duckdb:duckdb +7.0% -4.4% +11.9% +14.2% ➖ noise
65 duckdb:vortex-compact -2.6% -4.4% +1.8% +10.0% ➖ noise
65 duckdb:vortex-file-compressed -1.4% -4.4% +3.1% +10.0% ➖ noise
66 datafusion:vortex-compact +13.4% +5.7% +7.3% +10.0% ➖ noise
66 datafusion:vortex-file-compressed +19.3% +5.7% +12.9% +10.0% 🚨 regression
66 duckdb:duckdb -6.5% +5.7% -11.5% +10.0% ✅ faster
66 duckdb:vortex-compact -5.5% +5.7% -10.5% +13.9% ➖ noise
66 duckdb:vortex-file-compressed -3.7% +5.7% -8.8% +15.5% ➖ noise
67 datafusion:vortex-compact -22.5% +2.1% -24.1% +10.0% ✅ faster
67 datafusion:vortex-file-compressed -20.6% +2.1% -22.3% +10.0% ✅ faster
67 duckdb:duckdb -0.7% +2.1% -2.8% +10.0% ➖ noise
67 duckdb:vortex-compact -0.4% +2.1% -2.5% +10.0% ➖ noise
67 duckdb:vortex-file-compressed +2.0% +2.1% -0.1% +10.0% ➖ noise
68 datafusion:vortex-compact +14.9% -1.5% +16.7% +13.9% 🚨 regression
68 datafusion:vortex-file-compressed +20.1% -1.5% +22.0% +20.3% 🚨 regression
68 duckdb:duckdb +1.0% -1.5% +2.6% +10.0% ➖ noise
68 duckdb:vortex-compact -2.1% -1.5% -0.5% +10.3% ➖ noise
68 duckdb:vortex-file-compressed +0.0% -1.5% +1.6% +10.0% ➖ noise
69 datafusion:vortex-compact -0.2% +3.4% -3.5% +11.0% ➖ noise
69 datafusion:vortex-file-compressed -4.6% +3.4% -7.8% +10.0% ➖ noise
69 duckdb:duckdb -4.9% +3.4% -8.1% +10.8% ➖ noise
69 duckdb:vortex-compact -2.7% +3.4% -5.9% +10.0% ➖ noise
69 duckdb:vortex-file-compressed -4.4% +3.4% -7.5% +11.6% ➖ noise
70 datafusion:vortex-compact +13.6% -2.7% +16.8% +10.3% 🚨 regression
70 datafusion:vortex-file-compressed +15.4% -2.7% +18.7% +11.3% 🚨 regression
70 duckdb:duckdb -3.4% -2.7% -0.7% +17.0% ➖ noise
70 duckdb:vortex-compact -6.2% -2.7% -3.5% +13.6% ➖ noise
70 duckdb:vortex-file-compressed -2.9% -2.7% -0.1% +10.0% ➖ noise
71 datafusion:vortex-compact +8.9% -1.6% +10.6% +11.6% ➖ noise
71 datafusion:vortex-file-compressed +9.9% -1.6% +11.7% +10.0% 🚨 regression
71 duckdb:duckdb +1.6% -1.6% +3.2% +35.4% ➖ noise
71 duckdb:vortex-compact -2.6% -1.6% -1.1% +11.5% ➖ noise
71 duckdb:vortex-file-compressed -3.2% -1.6% -1.7% +10.0% ➖ noise
72 datafusion:vortex-compact +13.3% +0.4% +12.8% +10.0% 🚨 regression
72 datafusion:vortex-file-compressed +12.0% +0.4% +11.5% +10.0% 🚨 regression
72 duckdb:duckdb -1.6% +0.4% -2.1% +10.7% ➖ noise
72 duckdb:vortex-compact -2.6% +0.4% -3.0% +10.0% ➖ noise
72 duckdb:vortex-file-compressed -1.3% +0.4% -1.7% +10.0% ➖ noise
73 datafusion:vortex-compact +10.5% +1.4% +9.0% +10.0% ➖ noise
73 datafusion:vortex-file-compressed +17.5% +1.4% +15.9% +10.0% 🚨 regression
73 duckdb:duckdb +0.4% +1.4% -0.9% +10.3% ➖ noise
73 duckdb:vortex-compact -1.3% +1.4% -2.7% +10.0% ➖ noise
73 duckdb:vortex-file-compressed +3.4% +1.4% +2.0% +10.0% ➖ noise
74 datafusion:vortex-compact +12.1% +1.1% +10.8% +10.3% 🚨 regression
74 datafusion:vortex-file-compressed +25.9% +1.1% +24.5% +12.3% 🚨 regression
74 duckdb:duckdb +1.4% +1.1% +0.3% +10.0% ➖ noise
74 duckdb:vortex-compact +29.0% +1.1% +27.6% +21.0% 🚨 regression
74 duckdb:vortex-file-compressed +15.8% +1.1% +14.5% +28.2% ➖ noise
75 datafusion:vortex-compact -0.8% -1.8% +1.0% +10.0% ➖ noise
75 datafusion:vortex-file-compressed +2.4% -1.8% +4.3% +10.0% ➖ noise
75 duckdb:duckdb -1.7% -1.8% +0.1% +10.2% ➖ noise
75 duckdb:vortex-compact +0.1% -1.8% +1.9% +10.0% ➖ noise
75 duckdb:vortex-file-compressed +2.2% -1.8% +4.0% +10.2% ➖ noise
76 datafusion:vortex-compact +6.6% +2.1% +4.4% +15.8% ➖ noise
76 datafusion:vortex-file-compressed +11.2% +2.1% +8.9% +24.4% ➖ noise
76 duckdb:duckdb +12.1% +2.1% +9.8% +18.0% ➖ noise
76 duckdb:vortex-compact -3.3% +2.1% -5.3% +10.0% ➖ noise
76 duckdb:vortex-file-compressed -1.2% +2.1% -3.2% +10.1% ➖ noise
77 datafusion:vortex-compact -3.3% -1.7% -1.6% +10.0% ➖ noise
77 datafusion:vortex-file-compressed -1.7% -1.7% -0.1% +10.0% ➖ noise
77 duckdb:duckdb -1.1% -1.7% +0.6% +16.6% ➖ noise
77 duckdb:vortex-compact +8.7% -1.7% +10.6% +17.3% ➖ noise
77 duckdb:vortex-file-compressed +4.6% -1.7% +6.4% +33.5% ➖ noise
78 datafusion:vortex-compact +2.5% +0.4% +2.1% +10.0% ➖ noise
78 datafusion:vortex-file-compressed +1.5% +0.4% +1.1% +10.0% ➖ noise
78 duckdb:duckdb +2.4% +0.4% +2.0% +14.4% ➖ noise
78 duckdb:vortex-compact +1.0% +0.4% +0.6% +11.7% ➖ noise
78 duckdb:vortex-file-compressed +1.0% +0.4% +0.6% +10.0% ➖ noise
79 datafusion:vortex-compact +9.9% +2.4% +7.4% +10.8% ➖ noise
79 datafusion:vortex-file-compressed +15.5% +2.4% +12.9% +13.4% ➖ noise
79 duckdb:duckdb +2.5% +2.4% +0.1% +10.0% ➖ noise
79 duckdb:vortex-compact -5.0% +2.4% -7.2% +12.3% ➖ noise
79 duckdb:vortex-file-compressed +0.2% +2.4% -2.2% +10.0% ➖ noise
80 datafusion:vortex-compact +5.3% -0.3% +5.6% +10.0% ➖ noise
80 datafusion:vortex-file-compressed +5.2% -0.3% +5.5% +10.0% ➖ noise
80 duckdb:duckdb -1.8% -0.3% -1.6% +15.6% ➖ noise
80 duckdb:vortex-compact -4.9% -0.3% -4.6% +10.0% ➖ noise
80 duckdb:vortex-file-compressed -1.4% -0.3% -1.1% +17.5% ➖ noise
81 datafusion:vortex-compact +13.2% +0.5% +12.7% +10.0% 🚨 regression
81 datafusion:vortex-file-compressed +13.1% +0.5% +12.5% +10.0% 🚨 regression
81 duckdb:duckdb +4.3% +0.5% +3.8% +10.1% ➖ noise
81 duckdb:vortex-compact -0.8% +0.5% -1.3% +13.8% ➖ noise
81 duckdb:vortex-file-compressed +0.8% +0.5% +0.3% +10.0% ➖ noise
82 datafusion:vortex-compact +9.2% -0.9% +10.2% +11.7% ➖ noise
82 datafusion:vortex-file-compressed +23.3% -0.9% +24.5% +11.4% 🚨 regression
82 duckdb:duckdb -5.1% -0.9% -4.2% +17.9% ➖ noise
82 duckdb:vortex-compact +1.1% -0.9% +2.0% +11.4% ➖ noise
82 duckdb:vortex-file-compressed -6.5% -0.9% -5.6% +10.0% ➖ noise
83 datafusion:vortex-compact +36.0% -0.4% +36.5% +10.0% 🚨 regression
83 datafusion:vortex-file-compressed +21.0% -0.4% +21.4% +10.0% 🚨 regression
83 duckdb:duckdb -3.4% -0.4% -3.1% +10.4% ➖ noise
83 duckdb:vortex-compact -0.7% -0.4% -0.3% +10.0% ➖ noise
83 duckdb:vortex-file-compressed +2.2% -0.4% +2.6% +10.0% ➖ noise
84 datafusion:vortex-compact +3.2% -0.7% +4.0% +10.0% ➖ noise
84 datafusion:vortex-file-compressed -6.6% -0.7% -5.9% +12.7% ➖ noise
84 duckdb:duckdb -3.6% -0.7% -2.9% +10.0% ➖ noise
84 duckdb:vortex-compact -4.0% -0.7% -3.3% +10.0% ➖ noise
84 duckdb:vortex-file-compressed +0.5% -0.7% +1.3% +10.0% ➖ noise
85 datafusion:vortex-compact -0.3% -1.7% +1.4% +12.4% ➖ noise
85 datafusion:vortex-file-compressed +4.5% -1.7% +6.3% +10.0% ➖ noise
85 duckdb:duckdb -7.8% -1.7% -6.2% +13.1% ➖ noise
85 duckdb:vortex-compact +2.0% -1.7% +3.7% +10.0% ➖ noise
85 duckdb:vortex-file-compressed +0.9% -1.7% +2.6% +12.2% ➖ noise
86 datafusion:vortex-compact +11.2% +7.8% +3.1% +13.1% ➖ noise
86 datafusion:vortex-file-compressed +11.0% +7.8% +3.0% +13.9% ➖ noise
86 duckdb:duckdb -1.0% +7.8% -8.2% +15.5% ➖ noise
86 duckdb:vortex-compact +6.3% +7.8% -1.4% +17.4% ➖ noise
86 duckdb:vortex-file-compressed +1.6% +7.8% -5.8% +12.8% ➖ noise
87 datafusion:vortex-compact +7.4% +0.9% +6.4% +10.0% ➖ noise
87 datafusion:vortex-file-compressed +7.7% +0.9% +6.7% +10.0% ➖ noise
87 duckdb:duckdb +5.7% +0.9% +4.7% +14.3% ➖ noise
87 duckdb:vortex-compact +2.4% +0.9% +1.4% +11.1% ➖ noise
87 duckdb:vortex-file-compressed +0.9% +0.9% -0.0% +10.4% ➖ noise
88 datafusion:vortex-compact -0.2% -0.2% -0.0% +10.0% ➖ noise
88 datafusion:vortex-file-compressed +0.8% -0.2% +0.9% +10.0% ➖ noise
88 duckdb:duckdb +0.4% -0.2% +0.6% +10.0% ➖ noise
88 duckdb:vortex-compact -3.5% -0.2% -3.3% +10.0% ➖ noise
88 duckdb:vortex-file-compressed +0.2% -0.2% +0.3% +10.0% ➖ noise
89 datafusion:vortex-compact +19.4% +2.4% +16.6% +10.0% 🚨 regression
89 datafusion:vortex-file-compressed +28.4% +2.4% +25.4% +10.0% 🚨 regression
89 duckdb:duckdb -4.1% +2.4% -6.4% +11.9% ➖ noise
89 duckdb:vortex-compact +0.3% +2.4% -2.1% +10.0% ➖ noise
89 duckdb:vortex-file-compressed +1.0% +2.4% -1.4% +15.2% ➖ noise
90 datafusion:vortex-compact -10.0% -7.8% -2.5% +20.2% ➖ noise
90 datafusion:vortex-file-compressed +0.1% -7.8% +8.6% +13.9% ➖ noise
90 duckdb:duckdb +1.4% -7.8% +10.0% +13.8% ➖ noise
90 duckdb:vortex-compact +2.7% -7.8% +11.3% +13.9% ➖ noise
90 duckdb:vortex-file-compressed +0.2% -7.8% +8.7% +14.6% ➖ noise
91 datafusion:vortex-compact -2.7% -2.2% -0.6% +10.0% ➖ noise
91 datafusion:vortex-file-compressed +12.8% -2.2% +15.3% +10.0% 🚨 regression
91 duckdb:duckdb +5.0% -2.2% +7.4% +11.3% ➖ noise
91 duckdb:vortex-compact -6.4% -2.2% -4.3% +10.5% ➖ noise
91 duckdb:vortex-file-compressed +0.0% -2.2% +2.3% +10.0% ➖ noise
92 datafusion:vortex-compact +6.6% -3.9% +10.9% +17.5% ➖ noise
92 datafusion:vortex-file-compressed +10.5% -3.9% +14.9% +10.0% 🚨 regression
92 duckdb:duckdb -7.3% -3.9% -3.6% +13.8% ➖ noise
92 duckdb:vortex-compact -13.7% -3.9% -10.3% +17.3% ➖ noise
92 duckdb:vortex-file-compressed +1.3% -3.9% +5.4% +14.8% ➖ noise
93 datafusion:vortex-compact +2.5% -0.3% +2.8% +10.0% ➖ noise
93 datafusion:vortex-file-compressed +0.9% -0.3% +1.2% +10.0% ➖ noise
93 duckdb:duckdb -2.0% -0.3% -1.8% +14.8% ➖ noise
93 duckdb:vortex-compact +0.4% -0.3% +0.6% +12.5% ➖ noise
93 duckdb:vortex-file-compressed -2.7% -0.3% -2.5% +11.7% ➖ noise
94 datafusion:vortex-compact +3.6% -2.0% +5.7% +12.8% ➖ noise
94 datafusion:vortex-file-compressed -2.4% -2.0% -0.4% +10.0% ➖ noise
94 duckdb:duckdb -2.8% -2.0% -0.8% +14.5% ➖ noise
94 duckdb:vortex-compact +0.2% -2.0% +2.2% +10.6% ➖ noise
94 duckdb:vortex-file-compressed -0.2% -2.0% +1.8% +14.5% ➖ noise
95 datafusion:vortex-compact +0.1% +1.8% -1.7% +10.0% ➖ noise
95 datafusion:vortex-file-compressed +2.0% +1.8% +0.1% +10.0% ➖ noise
95 duckdb:duckdb +19.5% +1.8% +17.3% +13.1% 🚨 regression
95 duckdb:vortex-compact -2.7% +1.8% -4.5% +12.8% ➖ noise
95 duckdb:vortex-file-compressed +1.6% +1.8% -0.2% +10.0% ➖ noise
96 datafusion:vortex-compact -1.5% -1.2% -0.3% +11.8% ➖ noise
96 datafusion:vortex-file-compressed -4.3% -1.2% -3.1% +11.7% ➖ noise
96 duckdb:duckdb +3.7% -1.2% +4.9% +18.2% ➖ noise
96 duckdb:vortex-compact -1.3% -1.2% -0.1% +15.1% ➖ noise
96 duckdb:vortex-file-compressed -2.3% -1.2% -1.1% +19.5% ➖ noise
97 datafusion:vortex-compact +2.0% +0.8% +1.2% +10.4% ➖ noise
97 datafusion:vortex-file-compressed +1.6% +0.8% +0.9% +10.0% ➖ noise
97 duckdb:duckdb -1.6% +0.8% -2.3% +15.6% ➖ noise
97 duckdb:vortex-compact +9.0% +0.8% +8.2% +17.7% ➖ noise
97 duckdb:vortex-file-compressed -1.8% +0.8% -2.5% +12.3% ➖ noise
98 datafusion:vortex-compact +11.4% -0.9% +12.4% +10.3% 🚨 regression
98 datafusion:vortex-file-compressed +15.6% -0.9% +16.6% +10.0% 🚨 regression
98 duckdb:duckdb +8.5% -0.9% +9.4% +13.5% ➖ noise
98 duckdb:vortex-compact -1.5% -0.9% -0.6% +10.0% ➖ noise
98 duckdb:vortex-file-compressed -1.8% -0.9% -0.9% +10.0% ➖ noise
99 datafusion:vortex-compact +39.9% +1.7% +37.6% +15.7% 🚨 regression
99 datafusion:vortex-file-compressed +24.4% +1.7% +22.3% +14.7% 🚨 regression
99 duckdb:duckdb -3.0% +1.7% -4.6% +19.8% ➖ noise
99 duckdb:vortex-compact -8.4% +1.7% -9.9% +17.6% ➖ noise
99 duckdb:vortex-file-compressed +5.3% +1.7% +3.6% +10.8% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

File Sizes: TPC-DS SF=1 on NVME

No file size changes detected.

Comment on lines +32 to +49
///
/// A refinement asserts that every value in this extension's logical domain is also a
/// value of the storage dtype's domain, with additional invariants enforced by this
/// vtable. The canonical examples are `NormalizedVector` (refines `Vector` by
/// requiring unit L2 norm) and a hypothetical `PositiveInt` (refines `Primitive(U64)`
/// by excluding zero).
///
/// The default is `false`: plain extension types (e.g. `Uuid` over
/// `FixedSizeList<u8, 16>`) encode a distinct logical type in their storage that is
/// not substitutable with it.
///
/// This flag is consumed by `ScalarFnRefinementPeelRule` (in
/// `arrays::scalar_fn::rules`) to decide whether to transparently peel a refinement
/// input and retry a scalar fn on the source type. See that rule for the full
/// semantics; the `TODO(connor)` there also tracks refinement-closure preservation.
fn is_refinement(&self) -> bool {
false
}
Copy link
Copy Markdown
Contributor

@joseph-isaacs joseph-isaacs Apr 24, 2026

Choose a reason for hiding this comment

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

lets make this an enum

General | Refinement

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Not sure what that gives us? Also not even sure what this method would be called.

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.

Extensibility. Properties or Specialisation, ..?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Those things would need to compose, right? In which case we probably either need more than a single method or return a struct of things. For now, I think a boolean is sufficient until we actually figure out the semantics of pushing things down to refinement/extension types (see the comment in vortex-array/src/arrays/scalar_fn/array.rs).

Copy link
Copy Markdown
Contributor

@joseph-isaacs joseph-isaacs Apr 27, 2026

Choose a reason for hiding this comment

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

I guess you might expect them to be compositional, I was not

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: FineWeb S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +7.4%
Vortex (geomean): 1.054x ➖
Parquet (geomean): 0.981x ➖
Shifts: Parquet (control) -1.9% · Median polish +0.2%


datafusion / vortex-file-compressed (1.098x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 🚨 70625504 32513414 2.17
fineweb_q01/datafusion:vortex-file-compressed 609559342 598517692 1.02
fineweb_q02/datafusion:vortex-file-compressed 548884812 462547679 1.19
fineweb_q03/datafusion:vortex-file-compressed 1371817287 1403978423 0.98
fineweb_q04/datafusion:vortex-file-compressed 1358463155 1359318411 1.00
fineweb_q05/datafusion:vortex-file-compressed 1341138269 1338041772 1.00
fineweb_q06/datafusion:vortex-file-compressed 1507965362 1536807046 0.98
fineweb_q07/datafusion:vortex-file-compressed 1338257194 1389549659 0.96
fineweb_q08/datafusion:vortex-file-compressed 499101916 523433491 0.95
datafusion / vortex-compact (1.050x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 33224336 37307501 0.89
fineweb_q01/datafusion:vortex-compact 🚨 713072724 517748377 1.38
fineweb_q02/datafusion:vortex-compact 539335157 592378746 0.91
fineweb_q03/datafusion:vortex-compact 1471813652 1528584585 0.96
fineweb_q04/datafusion:vortex-compact 1793970260 1803809299 0.99
fineweb_q05/datafusion:vortex-compact 1439744249 1500395962 0.96
fineweb_q06/datafusion:vortex-compact 1523648883 1388653821 1.10
fineweb_q07/datafusion:vortex-compact 1265184677 1174454913 1.08
fineweb_q08/datafusion:vortex-compact 497874229 390676160 1.27
datafusion / parquet (0.980x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 1184656358 1071283856 1.11
fineweb_q01/datafusion:parquet 1615087585 1738831793 0.93
fineweb_q02/datafusion:parquet 1779775980 2098823327 0.85
fineweb_q03/datafusion:parquet 1751104161 1761200711 0.99
fineweb_q04/datafusion:parquet 1797419054 1816036983 0.99
fineweb_q05/datafusion:parquet 1651224798 1714982559 0.96
fineweb_q06/datafusion:parquet 1775293455 1745809705 1.02
fineweb_q07/datafusion:parquet 1738882142 1712951821 1.02
fineweb_q08/datafusion:parquet 1694687766 1731415351 0.98
duckdb / vortex-file-compressed (1.031x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 76653138 87965946 0.87
fineweb_q01/duckdb:vortex-file-compressed 625627291 539357130 1.16
fineweb_q02/duckdb:vortex-file-compressed 466142561 492141718 0.95
fineweb_q03/duckdb:vortex-file-compressed 1522497911 1466082430 1.04
fineweb_q04/duckdb:vortex-file-compressed 1656679665 1519860324 1.09
fineweb_q05/duckdb:vortex-file-compressed 1597150335 1559457005 1.02
fineweb_q06/duckdb:vortex-file-compressed 1773342557 1603612379 1.11
fineweb_q07/duckdb:vortex-file-compressed 1503543935 1420067816 1.06
fineweb_q08/duckdb:vortex-file-compressed 678446667 668554424 1.01
duckdb / vortex-compact (1.038x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 99210872 93131550 1.07
fineweb_q01/duckdb:vortex-compact 600096655 689670474 0.87
fineweb_q02/duckdb:vortex-compact 620977857 568747127 1.09
fineweb_q03/duckdb:vortex-compact 1748399637 1661494864 1.05
fineweb_q04/duckdb:vortex-compact 1993345256 1766880631 1.13
fineweb_q05/duckdb:vortex-compact 1758783956 1569428845 1.12
fineweb_q06/duckdb:vortex-compact 1607524640 1508392830 1.07
fineweb_q07/duckdb:vortex-compact 1412649733 1375112884 1.03
fineweb_q08/duckdb:vortex-compact 492505471 520523015 0.95
duckdb / parquet (0.982x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 1179473749 1129489137 1.04
fineweb_q01/duckdb:parquet 1352281387 1386967777 0.97
fineweb_q02/duckdb:parquet 1353318570 1332943603 1.02
fineweb_q03/duckdb:parquet 3648203963 3525986243 1.03
fineweb_q04/duckdb:parquet 1868112255 2218377051 0.84
fineweb_q05/duckdb:parquet 2189180114 2197649408 1.00
fineweb_q06/duckdb:parquet 4273793528 4317324731 0.99
fineweb_q07/duckdb:parquet 2531382819 2646403989 0.96
fineweb_q08/duckdb:parquet 1087991166 1091367585 1.00
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-compact -10.9% +7.5% -17.1% +176.5% ➖ noise
0 datafusion:vortex-file-compressed +117.2% +7.5% +102.1% +141.7% ➖ noise
0 duckdb:vortex-compact +6.5% +7.5% -0.9% +45.9% ➖ noise
0 duckdb:vortex-file-compressed -12.9% +7.5% -18.9% +46.2% ➖ noise
1 datafusion:vortex-compact +37.7% -4.8% +44.7% +81.4% ➖ noise
1 datafusion:vortex-file-compressed +1.8% -4.8% +7.0% +52.4% ➖ noise
1 duckdb:vortex-compact -13.0% -4.8% -8.6% +37.0% ➖ noise
1 duckdb:vortex-file-compressed +16.0% -4.8% +21.9% +30.0% ➖ noise
2 datafusion:vortex-compact -9.0% -7.2% -1.9% +30.0% ➖ noise
2 datafusion:vortex-file-compressed +18.7% -7.2% +27.9% +42.6% ➖ noise
2 duckdb:vortex-compact +9.2% -7.2% +17.7% +30.0% ➖ noise
2 duckdb:vortex-file-compressed -5.3% -7.2% +2.1% +30.0% ➖ noise
3 datafusion:vortex-compact -3.7% +1.4% -5.1% +30.0% ➖ noise
3 datafusion:vortex-file-compressed -2.3% +1.4% -3.7% +30.0% ➖ noise
3 duckdb:vortex-compact +5.2% +1.4% +3.8% +30.0% ➖ noise
3 duckdb:vortex-file-compressed +3.8% +1.4% +2.4% +30.0% ➖ noise
4 datafusion:vortex-compact -0.5% -8.7% +8.9% +30.0% ➖ noise
4 datafusion:vortex-file-compressed -0.1% -8.7% +9.5% +30.0% ➖ noise
4 duckdb:vortex-compact +12.8% -8.7% +23.6% +30.0% ➖ noise
4 duckdb:vortex-file-compressed +9.0% -8.7% +19.4% +30.0% ➖ noise
5 datafusion:vortex-compact -4.0% -2.1% -2.0% +30.0% ➖ noise
5 datafusion:vortex-file-compressed +0.2% -2.1% +2.3% +30.0% ➖ noise
5 duckdb:vortex-compact +12.1% -2.1% +14.4% +30.0% ➖ noise
5 duckdb:vortex-file-compressed +2.4% -2.1% +4.6% +30.0% ➖ noise
6 datafusion:vortex-compact +9.7% +0.3% +9.4% +30.0% ➖ noise
6 datafusion:vortex-file-compressed -1.9% +0.3% -2.2% +30.0% ➖ noise
6 duckdb:vortex-compact +6.6% +0.3% +6.2% +30.0% ➖ noise
6 duckdb:vortex-file-compressed +10.6% +0.3% +10.2% +30.0% ➖ noise
7 datafusion:vortex-compact +7.7% -1.5% +9.3% +30.0% ➖ noise
7 datafusion:vortex-file-compressed -3.7% -1.5% -2.3% +30.0% ➖ noise
7 duckdb:vortex-compact +2.7% -1.5% +4.3% +30.0% ➖ noise
7 duckdb:vortex-file-compressed +5.9% -1.5% +7.4% +30.0% ➖ noise
8 datafusion:vortex-compact +27.4% -1.2% +29.0% +30.0% ➖ noise
8 datafusion:vortex-file-compressed -4.6% -1.2% -3.5% +30.0% ➖ noise
8 duckdb:vortex-compact -5.4% -1.2% -4.2% +30.0% ➖ noise
8 duckdb:vortex-file-compressed +1.5% -1.2% +2.7% +30.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: Statistical and Population Genetics

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -1.7%
Vortex (geomean): 0.952x ➖
Parquet (geomean): 0.969x ➖
Shifts: Parquet (control) -3.1% · Median polish -4.0%


duckdb / vortex-file-compressed (0.941x ➖, 1↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-file-compressed 12025219 12163343 0.99
statpopgen_q01/duckdb:vortex-file-compressed 🚀 21508783 30100284 0.71
statpopgen_q02/duckdb:vortex-file-compressed 1404071840 1477449926 0.95
statpopgen_q03/duckdb:vortex-file-compressed 3222723971 3409835535 0.95
statpopgen_q04/duckdb:vortex-file-compressed 3179057546 3294576423 0.96
statpopgen_q05/duckdb:vortex-file-compressed 1525404657 1549589119 0.98
statpopgen_q06/duckdb:vortex-file-compressed 2194498732 2250252654 0.98
statpopgen_q07/duckdb:vortex-file-compressed 230256694 232941021 0.99
statpopgen_q08/duckdb:vortex-file-compressed 265227120 270592022 0.98
statpopgen_q09/duckdb:vortex-file-compressed 2961739248 3149126022 0.94
statpopgen_q10/duckdb:vortex-file-compressed 4847058069 5067735699 0.96
duckdb / vortex-compact (0.964x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-compact 12486595 12485691 1.00
statpopgen_q01/duckdb:vortex-compact 175002211 172436839 1.01
statpopgen_q02/duckdb:vortex-compact 1862046803 2030873305 0.92
statpopgen_q03/duckdb:vortex-compact 3579302411 3899785388 0.92
statpopgen_q04/duckdb:vortex-compact 3575263941 3796277200 0.94
statpopgen_q05/duckdb:vortex-compact 1887802098 1965965850 0.96
statpopgen_q06/duckdb:vortex-compact 2716885625 2784506200 0.98
statpopgen_q07/duckdb:vortex-compact 911610323 926412222 0.98
statpopgen_q08/duckdb:vortex-compact 949171159 959869131 0.99
statpopgen_q09/duckdb:vortex-compact 3427687097 3617225642 0.95
statpopgen_q10/duckdb:vortex-compact 5534830453 5751761276 0.96
duckdb / parquet (0.969x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
statpopgen_q00/duckdb:parquet 338073505 346295567 0.98
statpopgen_q01/duckdb:parquet 422813266 425538423 0.99
statpopgen_q02/duckdb:parquet 1013167089 1033024392 0.98
statpopgen_q03/duckdb:parquet 1526936976 1617220596 0.94
statpopgen_q04/duckdb:parquet 1538945767 1623371500 0.95
statpopgen_q05/duckdb:parquet 1041697417 1084981985 0.96
statpopgen_q06/duckdb:parquet 1535398999 1615863537 0.95
statpopgen_q07/duckdb:parquet 1344990971 1361911621 0.99
statpopgen_q08/duckdb:parquet 1356146959 1360844892 1.00
statpopgen_q09/duckdb:parquet 1420616943 1459479021 0.97
statpopgen_q10/duckdb:parquet 2723162770 2870075938 0.95
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 duckdb:vortex-compact +0.0% -2.4% +2.4% +10.0% ➖ noise
0 duckdb:vortex-file-compressed -1.1% -2.4% +1.3% +13.5% ➖ noise
1 duckdb:vortex-compact +1.5% -0.6% +2.1% +42.6% ➖ noise
1 duckdb:vortex-file-compressed -28.5% -0.6% -28.1% +183.9% ➖ noise
2 duckdb:vortex-compact -8.3% -1.9% -6.5% +10.0% ➖ noise
2 duckdb:vortex-file-compressed -5.0% -1.9% -3.1% +10.0% ➖ noise
3 duckdb:vortex-compact -8.2% -5.6% -2.8% +10.0% ➖ noise
3 duckdb:vortex-file-compressed -5.5% -5.6% +0.1% +10.0% ➖ noise
4 duckdb:vortex-compact -5.8% -5.2% -0.7% +10.0% ➖ noise
4 duckdb:vortex-file-compressed -3.5% -5.2% +1.8% +10.0% ➖ noise
5 duckdb:vortex-compact -4.0% -4.0% +0.0% +10.0% ➖ noise
5 duckdb:vortex-file-compressed -1.6% -4.0% +2.5% +10.0% ➖ noise
6 duckdb:vortex-compact -2.4% -5.0% +2.7% +10.0% ➖ noise
6 duckdb:vortex-file-compressed -2.5% -5.0% +2.6% +10.0% ➖ noise
7 duckdb:vortex-compact -1.6% -1.2% -0.4% +10.0% ➖ noise
7 duckdb:vortex-file-compressed -1.2% -1.2% +0.1% +10.0% ➖ noise
8 duckdb:vortex-compact -1.1% -0.3% -0.8% +10.0% ➖ noise
8 duckdb:vortex-file-compressed -2.0% -0.3% -1.6% +10.0% ➖ noise
9 duckdb:vortex-compact -5.2% -2.7% -2.6% +10.0% ➖ noise
9 duckdb:vortex-file-compressed -6.0% -2.7% -3.4% +10.0% ➖ noise
10 duckdb:vortex-compact -3.8% -5.1% +1.4% +10.0% ➖ noise
10 duckdb:vortex-file-compressed -4.4% -5.1% +0.8% +10.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: TPC-H SF=10 on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +1.1%
Vortex (geomean): 1.025x ➖
Parquet (geomean): 1.010x ➖
Shifts: Parquet (control) +1.0% · Median polish +1.5%


datafusion / vortex-file-compressed (1.034x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 402856158 386373008 1.04
tpch_q02/datafusion:vortex-file-compressed 111475961 106983126 1.04
tpch_q03/datafusion:vortex-file-compressed 220322761 214502125 1.03
tpch_q04/datafusion:vortex-file-compressed 115604497 113028316 1.02
tpch_q05/datafusion:vortex-file-compressed 380337715 369509831 1.03
tpch_q06/datafusion:vortex-file-compressed 45160702 45223508 1.00
tpch_q07/datafusion:vortex-file-compressed 🚨 559644039 497314512 1.13
tpch_q08/datafusion:vortex-file-compressed 361025011 350693392 1.03
tpch_q09/datafusion:vortex-file-compressed 654855665 627093938 1.04
tpch_q10/datafusion:vortex-file-compressed 251984591 231827780 1.09
tpch_q11/datafusion:vortex-file-compressed 83731745 83250404 1.01
tpch_q12/datafusion:vortex-file-compressed 126307180 121422759 1.04
tpch_q13/datafusion:vortex-file-compressed 217101347 214847395 1.01
tpch_q14/datafusion:vortex-file-compressed 60184601 57976895 1.04
tpch_q15/datafusion:vortex-file-compressed 110473129 108419732 1.02
tpch_q16/datafusion:vortex-file-compressed 77476296 74931496 1.03
tpch_q17/datafusion:vortex-file-compressed 640639464 619752221 1.03
tpch_q18/datafusion:vortex-file-compressed 845294338 825524983 1.02
tpch_q19/datafusion:vortex-file-compressed 94228089 93225740 1.01
tpch_q20/datafusion:vortex-file-compressed 170759547 165694640 1.03
tpch_q21/datafusion:vortex-file-compressed 673831273 646082017 1.04
tpch_q22/datafusion:vortex-file-compressed 66967793 65921817 1.02
datafusion / vortex-compact (1.033x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 442208718 434060302 1.02
tpch_q02/datafusion:vortex-compact 115179460 108685239 1.06
tpch_q03/datafusion:vortex-compact 220927670 217072625 1.02
tpch_q04/datafusion:vortex-compact 125821190 121438552 1.04
tpch_q05/datafusion:vortex-compact 383434665 374001972 1.03
tpch_q06/datafusion:vortex-compact 64787020 64289981 1.01
tpch_q07/datafusion:vortex-compact 🚨 572524450 516522403 1.11
tpch_q08/datafusion:vortex-compact 365230014 354340616 1.03
tpch_q09/datafusion:vortex-compact 654220171 628976227 1.04
tpch_q10/datafusion:vortex-compact 268909947 245252531 1.10
tpch_q11/datafusion:vortex-compact 85342820 81937405 1.04
tpch_q12/datafusion:vortex-compact 168244590 166420476 1.01
tpch_q13/datafusion:vortex-compact 264706399 262479914 1.01
tpch_q14/datafusion:vortex-compact 75016247 74202466 1.01
tpch_q15/datafusion:vortex-compact 165123077 160840121 1.03
tpch_q16/datafusion:vortex-compact 81382945 77747256 1.05
tpch_q17/datafusion:vortex-compact 642998769 629297374 1.02
tpch_q18/datafusion:vortex-compact 843856873 828824955 1.02
tpch_q19/datafusion:vortex-compact 131885571 132545490 1.00
tpch_q20/datafusion:vortex-compact 190530363 190617733 1.00
tpch_q21/datafusion:vortex-compact 692043283 650726522 1.06
tpch_q22/datafusion:vortex-compact 72900707 70135056 1.04
datafusion / parquet (1.016x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 459093927 462980999 0.99
tpch_q02/datafusion:parquet 177310279 174288003 1.02
tpch_q03/datafusion:parquet 296140087 288755928 1.03
tpch_q04/datafusion:parquet 133195524 132418891 1.01
tpch_q05/datafusion:parquet 446628111 438281985 1.02
tpch_q06/datafusion:parquet 126886501 123569730 1.03
tpch_q07/datafusion:parquet 619635135 606708545 1.02
tpch_q08/datafusion:parquet 473931630 470030404 1.01
tpch_q09/datafusion:parquet 757771134 742532644 1.02
tpch_q10/datafusion:parquet 504124367 498965511 1.01
tpch_q11/datafusion:parquet 125050007 122017178 1.02
tpch_q12/datafusion:parquet 221032688 202891394 1.09
tpch_q13/datafusion:parquet 333105081 340863165 0.98
tpch_q14/datafusion:parquet 167223343 172783765 0.97
tpch_q15/datafusion:parquet 259970430 251499694 1.03
tpch_q16/datafusion:parquet 131419829 130033351 1.01
tpch_q17/datafusion:parquet 694762865 673665185 1.03
tpch_q18/datafusion:parquet 875390323 868931617 1.01
tpch_q19/datafusion:parquet 283082043 286552687 0.99
tpch_q20/datafusion:parquet 304557779 293447975 1.04
tpch_q21/datafusion:parquet 714360910 702098389 1.02
tpch_q22/datafusion:parquet 215168060 210791726 1.02
datafusion / arrow (1.024x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:arrow 600431402 594994957 1.01
tpch_q02/datafusion:arrow 159450500 159949311 1.00
tpch_q03/datafusion:arrow 473073085 467155678 1.01
tpch_q04/datafusion:arrow 348386783 334945638 1.04
tpch_q05/datafusion:arrow 936574908 915418150 1.02
tpch_q06/datafusion:arrow 286762547 282888707 1.01
tpch_q07/datafusion:arrow 1154252476 1154797520 1.00
tpch_q08/datafusion:arrow 1157617566 1120339491 1.03
tpch_q09/datafusion:arrow 1358149228 1340056533 1.01
tpch_q10/datafusion:arrow 591487601 586420473 1.01
tpch_q11/datafusion:arrow 136647913 135785141 1.01
tpch_q12/datafusion:arrow 🚨 808901222 693306481 1.17
tpch_q13/datafusion:arrow 502674495 499668857 1.01
tpch_q14/datafusion:arrow 328569832 317885723 1.03
tpch_q15/datafusion:arrow 727236850 689595362 1.05
tpch_q16/datafusion:arrow 103137695 103650517 1.00
tpch_q17/datafusion:arrow 1334367168 1301505614 1.03
tpch_q18/datafusion:arrow 1895470146 1857012501 1.02
tpch_q19/datafusion:arrow 494041611 484930473 1.02
tpch_q20/datafusion:arrow 490615535 476565608 1.03
tpch_q21/datafusion:arrow 3030675833 2957955683 1.02
tpch_q22/datafusion:arrow 125581900 125017858 1.00
duckdb / vortex-file-compressed (1.017x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 170635078 170018553 1.00
tpch_q02/duckdb:vortex-file-compressed 52414234 51302974 1.02
tpch_q03/duckdb:vortex-file-compressed 128787093 127055346 1.01
tpch_q04/duckdb:vortex-file-compressed 154808014 152727443 1.01
tpch_q05/duckdb:vortex-file-compressed 129669178 128888512 1.01
tpch_q06/duckdb:vortex-file-compressed 46510466 45859013 1.01
tpch_q07/duckdb:vortex-file-compressed 149601980 144000967 1.04
tpch_q08/duckdb:vortex-file-compressed 171680160 168714646 1.02
tpch_q09/duckdb:vortex-file-compressed 323579004 320836659 1.01
tpch_q10/duckdb:vortex-file-compressed 147227587 141984408 1.04
tpch_q11/duckdb:vortex-file-compressed 32593989 32350914 1.01
tpch_q12/duckdb:vortex-file-compressed 94873769 93943855 1.01
tpch_q13/duckdb:vortex-file-compressed 229050276 226647331 1.01
tpch_q14/duckdb:vortex-file-compressed 67245225 65160760 1.03
tpch_q15/duckdb:vortex-file-compressed 86584933 85090284 1.02
tpch_q16/duckdb:vortex-file-compressed 78549989 77081989 1.02
tpch_q17/duckdb:vortex-file-compressed 99485144 97757797 1.02
tpch_q18/duckdb:vortex-file-compressed 292881775 283976373 1.03
tpch_q19/duckdb:vortex-file-compressed 84037047 83086950 1.01
tpch_q20/duckdb:vortex-file-compressed 159609392 156153828 1.02
tpch_q21/duckdb:vortex-file-compressed 570075109 564854795 1.01
tpch_q22/duckdb:vortex-file-compressed 71696182 70650236 1.01
duckdb / vortex-compact (1.015x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 231905339 227815760 1.02
tpch_q02/duckdb:vortex-compact 56305080 54291893 1.04
tpch_q03/duckdb:vortex-compact 137953879 137230958 1.01
tpch_q04/duckdb:vortex-compact 172508613 170070226 1.01
tpch_q05/duckdb:vortex-compact 145441684 142131423 1.02
tpch_q06/duckdb:vortex-compact 82925953 84132351 0.99
tpch_q07/duckdb:vortex-compact 198026013 195534206 1.01
tpch_q08/duckdb:vortex-compact 186019943 184774809 1.01
tpch_q09/duckdb:vortex-compact 352453238 352353998 1.00
tpch_q10/duckdb:vortex-compact 176762786 174405263 1.01
tpch_q11/duckdb:vortex-compact 40790992 39536702 1.03
tpch_q12/duckdb:vortex-compact 201786307 200654508 1.01
tpch_q13/duckdb:vortex-compact 281846802 274948176 1.03
tpch_q14/duckdb:vortex-compact 99928436 98269431 1.02
tpch_q15/duckdb:vortex-compact 112650076 110163646 1.02
tpch_q16/duckdb:vortex-compact 83169650 81140919 1.03
tpch_q17/duckdb:vortex-compact 113570196 112734848 1.01
tpch_q18/duckdb:vortex-compact 294230629 285755719 1.03
tpch_q19/duckdb:vortex-compact 107789603 107076184 1.01
tpch_q20/duckdb:vortex-compact 203012963 201038204 1.01
tpch_q21/duckdb:vortex-compact 613630885 601745085 1.02
tpch_q22/duckdb:vortex-compact 85315389 83805921 1.02
duckdb / parquet (1.004x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 259449023 258370217 1.00
tpch_q02/duckdb:parquet 95357233 99966994 0.95
tpch_q03/duckdb:parquet 208819611 208582883 1.00
tpch_q04/duckdb:parquet 132319543 130745421 1.01
tpch_q05/duckdb:parquet 215349245 215227640 1.00
tpch_q06/duckdb:parquet 64857246 65035217 1.00
tpch_q07/duckdb:parquet 179250497 175940900 1.02
tpch_q08/duckdb:parquet 251708767 253035271 0.99
tpch_q09/duckdb:parquet 467240326 474606886 0.98
tpch_q10/duckdb:parquet 611767528 609081058 1.00
tpch_q11/duckdb:parquet 61112395 60496710 1.01
tpch_q12/duckdb:parquet 122930387 124078434 0.99
tpch_q13/duckdb:parquet 450933138 444126028 1.02
tpch_q14/duckdb:parquet 175546298 171395706 1.02
tpch_q15/duckdb:parquet 95149839 94063111 1.01
tpch_q16/duckdb:parquet 160669216 158068850 1.02
tpch_q17/duckdb:parquet 174485453 174811953 1.00
tpch_q18/duckdb:parquet 356875091 353923469 1.01
tpch_q19/duckdb:parquet 284018080 281274691 1.01
tpch_q20/duckdb:parquet 228113481 228773438 1.00
tpch_q21/duckdb:parquet 558926806 547457090 1.02
tpch_q22/duckdb:parquet 291460733 289544950 1.01
duckdb / duckdb (1.004x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 116804820 116813291 1.00
tpch_q02/duckdb:duckdb 49014468 45123731 1.09
tpch_q03/duckdb:duckdb 97118468 96843974 1.00
tpch_q04/duckdb:duckdb 129691313 130548542 0.99
tpch_q05/duckdb:duckdb 109236644 110211946 0.99
tpch_q06/duckdb:duckdb 36809795 37442093 0.98
tpch_q07/duckdb:duckdb 86655247 86876924 1.00
tpch_q08/duckdb:duckdb 110062810 110370599 1.00
tpch_q09/duckdb:duckdb 279836489 275750134 1.01
tpch_q10/duckdb:duckdb 206257148 203768577 1.01
tpch_q11/duckdb:duckdb 15370040 15730016 0.98
tpch_q12/duckdb:duckdb 85562475 84792178 1.01
tpch_q13/duckdb:duckdb 221609486 221549887 1.00
tpch_q14/duckdb:duckdb 70670107 71005134 1.00
tpch_q15/duckdb:duckdb 77449235 77715385 1.00
tpch_q16/duckdb:duckdb 73909580 73785811 1.00
tpch_q17/duckdb:duckdb 85614826 84578133 1.01
tpch_q18/duckdb:duckdb 212825813 210612202 1.01
tpch_q19/duckdb:duckdb 115786998 115949588 1.00
tpch_q20/duckdb:duckdb 112241648 111618779 1.01
tpch_q21/duckdb:duckdb 294310739 291732702 1.01
tpch_q22/duckdb:duckdb 68293928 68553338 1.00
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:arrow +0.9% -0.2% +1.1% +10.0% ➖ noise
1 datafusion:vortex-compact +1.9% -0.2% +2.1% +10.0% ➖ noise
1 datafusion:vortex-file-compressed +4.3% -0.2% +4.5% +10.0% ➖ noise
1 duckdb:duckdb -0.0% -0.2% +0.2% +10.0% ➖ noise
1 duckdb:vortex-compact +1.8% -0.2% +2.0% +10.0% ➖ noise
1 duckdb:vortex-file-compressed +0.4% -0.2% +0.6% +10.0% ➖ noise
2 datafusion:arrow -0.3% -1.5% +1.2% +10.0% ➖ noise
2 datafusion:vortex-compact +6.0% -1.5% +7.6% +10.0% ➖ noise
2 datafusion:vortex-file-compressed +4.2% -1.5% +5.8% +10.0% ➖ noise
2 duckdb:duckdb +8.6% -1.5% +10.3% +10.4% ➖ noise
2 duckdb:vortex-compact +3.7% -1.5% +5.3% +10.0% ➖ noise
2 duckdb:vortex-file-compressed +2.2% -1.5% +3.7% +10.0% ➖ noise
3 datafusion:arrow +1.3% +1.3% -0.1% +10.0% ➖ noise
3 datafusion:vortex-compact +1.8% +1.3% +0.4% +10.0% ➖ noise
3 datafusion:vortex-file-compressed +2.7% +1.3% +1.4% +10.0% ➖ noise
3 duckdb:duckdb +0.3% +1.3% -1.0% +10.0% ➖ noise
3 duckdb:vortex-compact +0.5% +1.3% -0.8% +10.0% ➖ noise
3 duckdb:vortex-file-compressed +1.4% +1.3% +0.0% +10.0% ➖ noise
4 datafusion:arrow +4.0% +0.9% +3.1% +10.0% ➖ noise
4 datafusion:vortex-compact +3.6% +0.9% +2.7% +10.0% ➖ noise
4 datafusion:vortex-file-compressed +2.3% +0.9% +1.4% +10.0% ➖ noise
4 duckdb:duckdb -0.7% +0.9% -1.5% +10.0% ➖ noise
4 duckdb:vortex-compact +1.4% +0.9% +0.5% +10.0% ➖ noise
4 duckdb:vortex-file-compressed +1.4% +0.9% +0.5% +10.0% ➖ noise
5 datafusion:arrow +2.3% +1.0% +1.3% +10.0% ➖ noise
5 datafusion:vortex-compact +2.5% +1.0% +1.5% +10.0% ➖ noise
5 datafusion:vortex-file-compressed +2.9% +1.0% +1.9% +10.0% ➖ noise
5 duckdb:duckdb -0.9% +1.0% -1.8% +10.0% ➖ noise
5 duckdb:vortex-compact +2.3% +1.0% +1.3% +10.0% ➖ noise
5 duckdb:vortex-file-compressed +0.6% +1.0% -0.4% +10.0% ➖ noise
6 datafusion:arrow +1.4% +1.2% +0.2% +10.0% ➖ noise
6 datafusion:vortex-compact +0.8% +1.2% -0.4% +10.0% ➖ noise
6 datafusion:vortex-file-compressed -0.1% +1.2% -1.3% +10.0% ➖ noise
6 duckdb:duckdb -1.7% +1.2% -2.8% +10.6% ➖ noise
6 duckdb:vortex-compact -1.4% +1.2% -2.6% +10.0% ➖ noise
6 duckdb:vortex-file-compressed +1.4% +1.2% +0.2% +10.0% ➖ noise
7 datafusion:arrow -0.0% +2.0% -2.0% +10.0% ➖ noise
7 datafusion:vortex-compact +10.8% +2.0% +8.7% +10.0% ➖ noise
7 datafusion:vortex-file-compressed +12.5% +2.0% +10.3% +10.0% 🚨 regression
7 duckdb:duckdb -0.3% +2.0% -2.2% +10.0% ➖ noise
7 duckdb:vortex-compact +1.3% +2.0% -0.7% +10.0% ➖ noise
7 duckdb:vortex-file-compressed +3.9% +2.0% +1.8% +10.0% ➖ noise
8 datafusion:arrow +3.3% +0.2% +3.2% +10.0% ➖ noise
8 datafusion:vortex-compact +3.1% +0.2% +2.9% +10.0% ➖ noise
8 datafusion:vortex-file-compressed +2.9% +0.2% +2.8% +10.0% ➖ noise
8 duckdb:duckdb -0.3% +0.2% -0.4% +10.0% ➖ noise
8 duckdb:vortex-compact +0.7% +0.2% +0.5% +10.0% ➖ noise
8 duckdb:vortex-file-compressed +1.8% +0.2% +1.6% +10.0% ➖ noise
9 datafusion:arrow +1.4% +0.2% +1.1% +10.0% ➖ noise
9 datafusion:vortex-compact +4.0% +0.2% +3.8% +10.0% ➖ noise
9 datafusion:vortex-file-compressed +4.4% +0.2% +4.2% +10.0% ➖ noise
9 duckdb:duckdb +1.5% +0.2% +1.2% +10.0% ➖ noise
9 duckdb:vortex-compact +0.0% +0.2% -0.2% +10.0% ➖ noise
9 duckdb:vortex-file-compressed +0.9% +0.2% +0.6% +10.0% ➖ noise
10 datafusion:arrow +0.9% +0.7% +0.1% +10.0% ➖ noise
10 datafusion:vortex-compact +9.6% +0.7% +8.8% +10.0% ➖ noise
10 datafusion:vortex-file-compressed +8.7% +0.7% +7.9% +10.0% ➖ noise
10 duckdb:duckdb +1.2% +0.7% +0.5% +10.0% ➖ noise
10 duckdb:vortex-compact +1.4% +0.7% +0.6% +10.0% ➖ noise
10 duckdb:vortex-file-compressed +3.7% +0.7% +2.9% +10.0% ➖ noise
11 datafusion:arrow +0.6% +1.7% -1.1% +10.7% ➖ noise
11 datafusion:vortex-compact +4.2% +1.7% +2.4% +10.0% ➖ noise
11 datafusion:vortex-file-compressed +0.6% +1.7% -1.2% +10.0% ➖ noise
11 duckdb:duckdb -2.3% +1.7% -4.0% +13.0% ➖ noise
11 duckdb:vortex-compact +3.2% +1.7% +1.4% +10.8% ➖ noise
11 duckdb:vortex-file-compressed +0.8% +1.7% -1.0% +16.9% ➖ noise
12 datafusion:arrow +16.7% +3.9% +12.3% +34.8% ➖ noise
12 datafusion:vortex-compact +1.1% +3.9% -2.7% +10.0% ➖ noise
12 datafusion:vortex-file-compressed +4.0% +3.9% +0.1% +10.0% ➖ noise
12 duckdb:duckdb +0.9% +3.9% -2.9% +10.0% ➖ noise
12 duckdb:vortex-compact +0.6% +3.9% -3.2% +10.0% ➖ noise
12 duckdb:vortex-file-compressed +1.0% +3.9% -2.8% +10.0% ➖ noise
13 datafusion:arrow +0.6% -0.4% +1.0% +10.0% ➖ noise
13 datafusion:vortex-compact +0.8% -0.4% +1.2% +10.0% ➖ noise
13 datafusion:vortex-file-compressed +1.0% -0.4% +1.4% +10.0% ➖ noise
13 duckdb:duckdb +0.0% -0.4% +0.4% +10.0% ➖ noise
13 duckdb:vortex-compact +2.5% -0.4% +2.9% +10.0% ➖ noise
13 duckdb:vortex-file-compressed +1.1% -0.4% +1.5% +10.0% ➖ noise
14 datafusion:arrow +3.4% -0.4% +3.8% +10.0% ➖ noise
14 datafusion:vortex-compact +1.1% -0.4% +1.5% +10.0% ➖ noise
14 datafusion:vortex-file-compressed +3.8% -0.4% +4.3% +10.0% ➖ noise
14 duckdb:duckdb -0.5% -0.4% -0.0% +10.0% ➖ noise
14 duckdb:vortex-compact +1.7% -0.4% +2.1% +10.0% ➖ noise
14 duckdb:vortex-file-compressed +3.2% -0.4% +3.7% +10.0% ➖ noise
15 datafusion:arrow +5.5% +2.3% +3.1% +10.0% ➖ noise
15 datafusion:vortex-compact +2.7% +2.3% +0.4% +10.0% ➖ noise
15 datafusion:vortex-file-compressed +1.9% +2.3% -0.4% +10.0% ➖ noise
15 duckdb:duckdb -0.3% +2.3% -2.5% +10.0% ➖ noise
15 duckdb:vortex-compact +2.3% +2.3% +0.0% +10.0% ➖ noise
15 duckdb:vortex-file-compressed +1.8% +2.3% -0.5% +10.0% ➖ noise
16 datafusion:arrow -0.5% +1.4% -1.8% +10.0% ➖ noise
16 datafusion:vortex-compact +4.7% +1.4% +3.3% +10.0% ➖ noise
16 datafusion:vortex-file-compressed +3.4% +1.4% +2.0% +10.0% ➖ noise
16 duckdb:duckdb +0.2% +1.4% -1.2% +10.0% ➖ noise
16 duckdb:vortex-compact +2.5% +1.4% +1.1% +10.0% ➖ noise
16 duckdb:vortex-file-compressed +1.9% +1.4% +0.5% +10.0% ➖ noise
17 datafusion:arrow +2.5% +1.5% +1.1% +10.0% ➖ noise
17 datafusion:vortex-compact +2.2% +1.5% +0.7% +10.0% ➖ noise
17 datafusion:vortex-file-compressed +3.4% +1.5% +1.9% +10.0% ➖ noise
17 duckdb:duckdb +1.2% +1.5% -0.2% +10.0% ➖ noise
17 duckdb:vortex-compact +0.7% +1.5% -0.7% +10.0% ➖ noise
17 duckdb:vortex-file-compressed +1.8% +1.5% +0.3% +10.0% ➖ noise
18 datafusion:arrow +2.1% +0.8% +1.3% +10.0% ➖ noise
18 datafusion:vortex-compact +1.8% +0.8% +1.0% +10.0% ➖ noise
18 datafusion:vortex-file-compressed +2.4% +0.8% +1.6% +10.0% ➖ noise
18 duckdb:duckdb +1.1% +0.8% +0.3% +10.0% ➖ noise
18 duckdb:vortex-compact +3.0% +0.8% +2.2% +10.0% ➖ noise
18 duckdb:vortex-file-compressed +3.1% +0.8% +2.3% +10.0% ➖ noise
19 datafusion:arrow +1.9% -0.1% +2.0% +10.0% ➖ noise
19 datafusion:vortex-compact -0.5% -0.1% -0.4% +10.0% ➖ noise
19 datafusion:vortex-file-compressed +1.1% -0.1% +1.2% +10.0% ➖ noise
19 duckdb:duckdb -0.1% -0.1% -0.0% +10.0% ➖ noise
19 duckdb:vortex-compact +0.7% -0.1% +0.8% +10.0% ➖ noise
19 duckdb:vortex-file-compressed +1.1% -0.1% +1.3% +10.0% ➖ noise
20 datafusion:arrow +2.9% +1.7% +1.2% +10.0% ➖ noise
20 datafusion:vortex-compact -0.0% +1.7% -1.7% +10.0% ➖ noise
20 datafusion:vortex-file-compressed +3.1% +1.7% +1.3% +10.0% ➖ noise
20 duckdb:duckdb +0.6% +1.7% -1.2% +10.0% ➖ noise
20 duckdb:vortex-compact +1.0% +1.7% -0.7% +10.0% ➖ noise
20 duckdb:vortex-file-compressed +2.2% +1.7% +0.5% +10.0% ➖ noise
21 datafusion:arrow +2.5% +1.9% +0.5% +10.0% ➖ noise
21 datafusion:vortex-compact +6.3% +1.9% +4.3% +10.0% ➖ noise
21 datafusion:vortex-file-compressed +4.3% +1.9% +2.3% +10.0% ➖ noise
21 duckdb:duckdb +0.9% +1.9% -1.0% +10.0% ➖ noise
21 duckdb:vortex-compact +2.0% +1.9% +0.1% +10.0% ➖ noise
21 duckdb:vortex-file-compressed +0.9% +1.9% -1.0% +10.0% ➖ noise
22 datafusion:arrow +0.5% +1.4% -0.9% +10.0% ➖ noise
22 datafusion:vortex-compact +3.9% +1.4% +2.5% +10.0% ➖ noise
22 datafusion:vortex-file-compressed +1.6% +1.4% +0.2% +10.0% ➖ noise
22 duckdb:duckdb -0.4% +1.4% -1.7% +10.0% ➖ noise
22 duckdb:vortex-compact +1.8% +1.4% +0.4% +10.0% ➖ noise
22 duckdb:vortex-file-compressed +1.5% +1.4% +0.1% +10.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

File Sizes: Statistical and Population Genetics

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

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 24, 2026

Benchmarks: Random Access

Vortex (geomean): 1.087x ➖
Parquet (geomean): 1.070x ➖


unknown / unknown (1.081x ➖, 0↑ 20↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
random-access/feature-vectors/correlated/lance-tokio-local-disk 2333106 2358562 0.99
random-access/feature-vectors/correlated/lance-tokio-local-disk-footer 1493452 1357972 1.10
random-access/feature-vectors/correlated/parquet-tokio-local-disk 🚨 9172739479 8328556729 1.10
random-access/feature-vectors/correlated/parquet-tokio-local-disk-footer 8664291272 8412079744 1.03
random-access/feature-vectors/correlated/vortex-tokio-local-disk 8300519 7766441 1.07
random-access/feature-vectors/correlated/vortex-tokio-local-disk-footer 🚨 8289822 7409817 1.12
random-access/feature-vectors/uniform/lance-tokio-local-disk 5968028 5695432 1.05
random-access/feature-vectors/uniform/lance-tokio-local-disk-footer 6635817 6395774 1.04
random-access/feature-vectors/uniform/parquet-tokio-local-disk 8699412100 8403005725 1.04
random-access/feature-vectors/uniform/parquet-tokio-local-disk-footer 9017676154 8420212692 1.07
random-access/feature-vectors/uniform/vortex-tokio-local-disk 🚨 14668155 13083351 1.12
random-access/feature-vectors/uniform/vortex-tokio-local-disk-footer 14367974 13076919 1.10
random-access/lance-tokio-local-disk 🚨 809005 723772 1.12
random-access/lance-tokio-local-disk-footer 🚨 1501285 1215135 1.24
random-access/nested-lists/correlated/lance-tokio-local-disk 250677 246834 1.02
random-access/nested-lists/correlated/lance-tokio-local-disk-footer 662123 608673 1.09
random-access/nested-lists/correlated/parquet-tokio-local-disk 134340342 130981118 1.03
random-access/nested-lists/correlated/parquet-tokio-local-disk-footer 134066639 130585507 1.03
random-access/nested-lists/correlated/vortex-tokio-local-disk 606529 560368 1.08
random-access/nested-lists/correlated/vortex-tokio-local-disk-footer 633492 582117 1.09
random-access/nested-lists/uniform/lance-tokio-local-disk 1129436 1041255 1.08
random-access/nested-lists/uniform/lance-tokio-local-disk-footer 🚨 1609634 1413673 1.14
random-access/nested-lists/uniform/parquet-tokio-local-disk 132442721 130195075 1.02
random-access/nested-lists/uniform/parquet-tokio-local-disk-footer 132743609 130204505 1.02
random-access/nested-lists/uniform/vortex-tokio-local-disk 2157969 2066083 1.04
random-access/nested-lists/uniform/vortex-tokio-local-disk-footer 2148440 2059355 1.04
random-access/nested-structs/correlated/lance-tokio-local-disk 398513 384423 1.04
random-access/nested-structs/correlated/lance-tokio-local-disk-footer 607435 570631 1.06
random-access/nested-structs/correlated/parquet-tokio-local-disk 🚨 27809633 24897727 1.12
random-access/nested-structs/correlated/parquet-tokio-local-disk-footer 🚨 27133686 24617852 1.10
random-access/nested-structs/correlated/vortex-tokio-local-disk 820086 762711 1.08
random-access/nested-structs/correlated/vortex-tokio-local-disk-footer 769220 722399 1.06
random-access/nested-structs/uniform/lance-tokio-local-disk 2705226 2586306 1.05
random-access/nested-structs/uniform/lance-tokio-local-disk-footer 2962232 2789134 1.06
random-access/nested-structs/uniform/parquet-tokio-local-disk 🚨 27329157 24600604 1.11
random-access/nested-structs/uniform/parquet-tokio-local-disk-footer 🚨 27326198 24676582 1.11
random-access/nested-structs/uniform/vortex-tokio-local-disk 1676043 1586332 1.06
random-access/nested-structs/uniform/vortex-tokio-local-disk-footer 🚨 1701147 1536344 1.11
random-access/parquet-tokio-local-disk 183991174 175102293 1.05
random-access/parquet-tokio-local-disk-footer 188771220 175431069 1.08
random-access/taxi/correlated/lance-tokio-local-disk 🚨 1001991 908995 1.10
random-access/taxi/correlated/lance-tokio-local-disk-footer 🚨 1701077 1515704 1.12
random-access/taxi/correlated/parquet-tokio-local-disk 280563877 261971788 1.07
random-access/taxi/correlated/parquet-tokio-local-disk-footer 285595599 262704928 1.09
random-access/taxi/correlated/vortex-tokio-local-disk 1809450 1787259 1.01
random-access/taxi/correlated/vortex-tokio-local-disk-footer 🚨 2068552 1790692 1.16
random-access/taxi/uniform/lance-tokio-local-disk 🚨 10602108 9501708 1.12
random-access/taxi/uniform/lance-tokio-local-disk-footer 🚨 11867233 10114381 1.17
random-access/taxi/uniform/parquet-tokio-local-disk 302473181 275956040 1.10
random-access/taxi/uniform/parquet-tokio-local-disk-footer 🚨 310405075 274847816 1.13
random-access/taxi/uniform/vortex-tokio-local-disk 🚨 5112534 4494440 1.14
random-access/taxi/uniform/vortex-tokio-local-disk-footer 🚨 5065785 4481835 1.13
random-access/vortex-tokio-local-disk 1332040 1254808 1.06
random-access/vortex-tokio-local-disk-footer 🚨 1348273 1212627 1.11

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: Clickbench on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -1.3%
Vortex (geomean): 1.024x ➖
Parquet (geomean): 1.018x ➖
Shifts: Parquet (control) +1.8% · Median polish +1.5%


datafusion / vortex-file-compressed (1.026x ➖, 0↑ 2↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
clickbench_q00/datafusion:vortex-file-compressed 1826173 1666596 1.10
clickbench_q01/datafusion:vortex-file-compressed 19258254 19667879 0.98
clickbench_q02/datafusion:vortex-file-compressed 37734442 37207735 1.01
clickbench_q03/datafusion:vortex-file-compressed 42997394 45151499 0.95
clickbench_q04/datafusion:vortex-file-compressed 289490659 284784297 1.02
clickbench_q05/datafusion:vortex-file-compressed 317276699 300203916 1.06
clickbench_q06/datafusion:vortex-file-compressed 1691294 1620923 1.04
clickbench_q07/datafusion:vortex-file-compressed 22294817 23015006 0.97
clickbench_q08/datafusion:vortex-file-compressed 361461680 349034974 1.04
clickbench_q09/datafusion:vortex-file-compressed 578600918 548069153 1.06
clickbench_q10/datafusion:vortex-file-compressed 75797555 77163033 0.98
clickbench_q11/datafusion:vortex-file-compressed 87008266 84058870 1.04
clickbench_q12/datafusion:vortex-file-compressed 273267003 267826668 1.02
clickbench_q13/datafusion:vortex-file-compressed 428570428 412187210 1.04
clickbench_q14/datafusion:vortex-file-compressed 256151497 251995673 1.02
clickbench_q15/datafusion:vortex-file-compressed 327544770 326722908 1.00
clickbench_q16/datafusion:vortex-file-compressed 657940715 634056127 1.04
clickbench_q17/datafusion:vortex-file-compressed 655849288 630599438 1.04
clickbench_q18/datafusion:vortex-file-compressed 1302886672 1337183482 0.97
clickbench_q19/datafusion:vortex-file-compressed 34167245 33147609 1.03
clickbench_q20/datafusion:vortex-file-compressed 338969963 337780508 1.00
clickbench_q21/datafusion:vortex-file-compressed 375715245 369892318 1.02
clickbench_q22/datafusion:vortex-file-compressed 453999896 450120520 1.01
clickbench_q23/datafusion:vortex-file-compressed 645981347 661862354 0.98
clickbench_q24/datafusion:vortex-file-compressed 46461801 45416944 1.02
clickbench_q25/datafusion:vortex-file-compressed 72806941 73145349 1.00
clickbench_q26/datafusion:vortex-file-compressed 47200368 47684579 0.99
clickbench_q27/datafusion:vortex-file-compressed 710574812 713992765 1.00
clickbench_q28/datafusion:vortex-file-compressed 6853948464 6747047239 1.02
clickbench_q29/datafusion:vortex-file-compressed 242179855 231277766 1.05
clickbench_q30/datafusion:vortex-file-compressed 229350795 232529028 0.99
clickbench_q31/datafusion:vortex-file-compressed 273572004 262754579 1.04
clickbench_q32/datafusion:vortex-file-compressed 1184383940 1113037230 1.06
clickbench_q33/datafusion:vortex-file-compressed 1356437918 1296892771 1.05
clickbench_q34/datafusion:vortex-file-compressed 1348910513 1300181745 1.04
clickbench_q35/datafusion:vortex-file-compressed 474565028 456032013 1.04
clickbench_q36/datafusion:vortex-file-compressed 🚨 76603778 68886038 1.11
clickbench_q37/datafusion:vortex-file-compressed 36848908 34866655 1.06
clickbench_q38/datafusion:vortex-file-compressed 20030201 18918609 1.06
clickbench_q39/datafusion:vortex-file-compressed 138917342 135041719 1.03
clickbench_q40/datafusion:vortex-file-compressed 16852447 15853774 1.06
clickbench_q41/datafusion:vortex-file-compressed 15859934 15632770 1.01
clickbench_q42/datafusion:vortex-file-compressed 🚨 19284021 17457374 1.10
datafusion / parquet (1.030x ➖, 0↑ 5↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
clickbench_q00/datafusion:parquet 🚨 1973306 1783488 1.11
clickbench_q01/datafusion:parquet 19903540 20216072 0.98
clickbench_q02/datafusion:parquet 48172973 48634599 0.99
clickbench_q03/datafusion:parquet 39793917 38516674 1.03
clickbench_q04/datafusion:parquet 326612604 299005360 1.09
clickbench_q05/datafusion:parquet 🚨 394065085 349372964 1.13
clickbench_q06/datafusion:parquet 🚨 1756218 1578140 1.11
clickbench_q07/datafusion:parquet 23030950 22541816 1.02
clickbench_q08/datafusion:parquet 🚨 402137628 365214497 1.10
clickbench_q09/datafusion:parquet 🚨 688590176 621009011 1.11
clickbench_q10/datafusion:parquet 117793293 109815150 1.07
clickbench_q11/datafusion:parquet 143613899 134737350 1.07
clickbench_q12/datafusion:parquet 379127732 348262227 1.09
clickbench_q13/datafusion:parquet 525527516 494341674 1.06
clickbench_q14/datafusion:parquet 349466251 347561438 1.01
clickbench_q15/datafusion:parquet 346448795 332404662 1.04
clickbench_q16/datafusion:parquet 671820626 650298880 1.03
clickbench_q17/datafusion:parquet 657636582 653757673 1.01
clickbench_q18/datafusion:parquet 1321239793 1310113579 1.01
clickbench_q19/datafusion:parquet 29252783 29878266 0.98
clickbench_q20/datafusion:parquet 605094585 613644567 0.99
clickbench_q21/datafusion:parquet 661925956 678334017 0.98
clickbench_q22/datafusion:parquet 982866277 990334858 0.99
clickbench_q23/datafusion:parquet 3761934472 3766716079 1.00
clickbench_q24/datafusion:parquet 82774357 83475928 0.99
clickbench_q25/datafusion:parquet 135711522 133827732 1.01
clickbench_q26/datafusion:parquet 83452808 85953085 0.97
clickbench_q27/datafusion:parquet 1043484240 1052177379 0.99
clickbench_q28/datafusion:parquet 6695122820 6824969472 0.98
clickbench_q29/datafusion:parquet 237921588 234023576 1.02
clickbench_q30/datafusion:parquet 333409668 326396374 1.02
clickbench_q31/datafusion:parquet 366398732 361502147 1.01
clickbench_q32/datafusion:parquet 1218231772 1219428334 1.00
clickbench_q33/datafusion:parquet 1494901951 1468725625 1.02
clickbench_q34/datafusion:parquet 1497967333 1474437751 1.02
clickbench_q35/datafusion:parquet 469666416 449374945 1.05
clickbench_q36/datafusion:parquet 145559432 137213094 1.06
clickbench_q37/datafusion:parquet 58150261 56182326 1.04
clickbench_q38/datafusion:parquet 86977471 83388173 1.04
clickbench_q39/datafusion:parquet 261744027 258417029 1.01
clickbench_q40/datafusion:parquet 30356156 29156479 1.04
clickbench_q41/datafusion:parquet 27008601 26219429 1.03
clickbench_q42/datafusion:parquet 31146318 30304831 1.03
duckdb / vortex-file-compressed (1.023x ➖, 0↑ 5↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
clickbench_q00/duckdb:vortex-file-compressed 6163616 5864502 1.05
clickbench_q01/duckdb:vortex-file-compressed 13445886 13790821 0.97
clickbench_q02/duckdb:vortex-file-compressed 27644205 26180740 1.06
clickbench_q03/duckdb:vortex-file-compressed 31641385 30956200 1.02
clickbench_q04/duckdb:vortex-file-compressed 198682501 182858629 1.09
clickbench_q05/duckdb:vortex-file-compressed 189365818 176736876 1.07
clickbench_q06/duckdb:vortex-file-compressed 18960271 18567428 1.02
clickbench_q07/duckdb:vortex-file-compressed 🚨 16279873 14724971 1.11
clickbench_q08/duckdb:vortex-file-compressed 284776656 259592568 1.10
clickbench_q09/duckdb:vortex-file-compressed 🚨 369837571 331501496 1.12
clickbench_q10/duckdb:vortex-file-compressed 72436732 67382960 1.08
clickbench_q11/duckdb:vortex-file-compressed 🚨 86131388 78208775 1.10
clickbench_q12/duckdb:vortex-file-compressed 213844070 198095934 1.08
clickbench_q13/duckdb:vortex-file-compressed 434644692 409505303 1.06
clickbench_q14/duckdb:vortex-file-compressed 241740156 234070685 1.03
clickbench_q15/duckdb:vortex-file-compressed 247347500 240998658 1.03
clickbench_q16/duckdb:vortex-file-compressed 588762962 588550456 1.00
clickbench_q17/duckdb:vortex-file-compressed 470580054 461576537 1.02
clickbench_q18/duckdb:vortex-file-compressed 977424465 967873292 1.01
clickbench_q19/duckdb:vortex-file-compressed 21784582 21703766 1.00
clickbench_q20/duckdb:vortex-file-compressed 325218193 333527742 0.98
clickbench_q21/duckdb:vortex-file-compressed 365543538 363891938 1.00
clickbench_q22/duckdb:vortex-file-compressed 500614012 532851170 0.94
clickbench_q23/duckdb:vortex-file-compressed 757291315 770388433 0.98
clickbench_q24/duckdb:vortex-file-compressed 🚨 41700989 36356973 1.15
clickbench_q25/duckdb:vortex-file-compressed 72382940 74126482 0.98
clickbench_q26/duckdb:vortex-file-compressed 43364540 46125722 0.94
clickbench_q27/duckdb:vortex-file-compressed 468259090 462581063 1.01
clickbench_q28/duckdb:vortex-file-compressed 2962429571 2955031081 1.00
clickbench_q29/duckdb:vortex-file-compressed 29627296 28812259 1.03
clickbench_q30/duckdb:vortex-file-compressed 188164046 191844501 0.98
clickbench_q31/duckdb:vortex-file-compressed 276285673 284867021 0.97
clickbench_q32/duckdb:vortex-file-compressed 1222969897 1223040721 1.00
clickbench_q33/duckdb:vortex-file-compressed 1206131638 1254208195 0.96
clickbench_q34/duckdb:vortex-file-compressed 1193419077 1286581772 0.93
clickbench_q35/duckdb:vortex-file-compressed 378060363 377434008 1.00
clickbench_q36/duckdb:vortex-file-compressed 28467801 28501670 1.00
clickbench_q37/duckdb:vortex-file-compressed 22128614 21093323 1.05
clickbench_q38/duckdb:vortex-file-compressed 23370454 22831302 1.02
clickbench_q39/duckdb:vortex-file-compressed 🚨 44471092 39375860 1.13
clickbench_q40/duckdb:vortex-file-compressed 21417812 21576550 0.99
clickbench_q41/duckdb:vortex-file-compressed 20584614 22003455 0.94
clickbench_q42/duckdb:vortex-file-compressed 24113730 22586052 1.07
duckdb / parquet (1.005x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
clickbench_q00/duckdb:parquet 25639783 24191548 1.06
clickbench_q01/duckdb:parquet 28745603 28714968 1.00
clickbench_q02/duckdb:parquet 48804225 47977154 1.02
clickbench_q03/duckdb:parquet 39160666 38957801 1.01
clickbench_q04/duckdb:parquet 206298678 206966620 1.00
clickbench_q05/duckdb:parquet 269019850 268009017 1.00
clickbench_q06/duckdb:parquet 45383009 46064457 0.99
clickbench_q07/duckdb:parquet 29750120 29563442 1.01
clickbench_q08/duckdb:parquet 266793957 269174728 0.99
clickbench_q09/duckdb:parquet 400305870 402308248 1.00
clickbench_q10/duckdb:parquet 81247912 82262429 0.99
clickbench_q11/duckdb:parquet 100021267 98980387 1.01
clickbench_q12/duckdb:parquet 295987544 293694640 1.01
clickbench_q13/duckdb:parquet 487270378 490300292 0.99
clickbench_q14/duckdb:parquet 328455738 332871795 0.99
clickbench_q15/duckdb:parquet 255303441 272735160 0.94
clickbench_q16/duckdb:parquet 636170799 645882546 0.98
clickbench_q17/duckdb:parquet 532606177 543385129 0.98
clickbench_q18/duckdb:parquet 1063596954 1067621591 1.00
clickbench_q19/duckdb:parquet 25428620 25426728 1.00
clickbench_q20/duckdb:parquet 430536592 423943832 1.02
clickbench_q21/duckdb:parquet 539713384 548597932 0.98
clickbench_q22/duckdb:parquet 924287677 932483571 0.99
clickbench_q23/duckdb:parquet 315361375 315681694 1.00
clickbench_q24/duckdb:parquet 67649061 65958776 1.03
clickbench_q25/duckdb:parquet 155810672 156975537 0.99
clickbench_q26/duckdb:parquet 50184089 48639145 1.03
clickbench_q27/duckdb:parquet 669848155 731510806 0.92
clickbench_q28/duckdb:parquet 4866708362 4841337406 1.01
clickbench_q29/duckdb:parquet 40227721 40501357 0.99
clickbench_q30/duckdb:parquet 298605048 297125154 1.00
clickbench_q31/duckdb:parquet 370757572 365353904 1.01
clickbench_q32/duckdb:parquet 1213086391 1176050132 1.03
clickbench_q33/duckdb:parquet 1354107948 1318541239 1.03
clickbench_q34/duckdb:parquet 🚨 1448897536 1314184978 1.10
clickbench_q35/duckdb:parquet 394319501 361631971 1.09
clickbench_q36/duckdb:parquet 49507882 48522489 1.02
clickbench_q37/duckdb:parquet 32658411 33119830 0.99
clickbench_q38/duckdb:parquet 34558212 33762859 1.02
clickbench_q39/duckdb:parquet 90227602 88200058 1.02
clickbench_q40/duckdb:parquet 19974344 19618830 1.02
clickbench_q41/duckdb:parquet 18011570 17270570 1.04
clickbench_q42/duckdb:parquet 21028773 21689532 0.97
duckdb / duckdb (0.967x ➖, 3↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
clickbench_q00/duckdb:duckdb 17348796 17674722 0.98
clickbench_q01/duckdb:duckdb 32636543 33839348 0.96
clickbench_q02/duckdb:duckdb 44891667 45860295 0.98
clickbench_q03/duckdb:duckdb 45885074 47272624 0.97
clickbench_q04/duckdb:duckdb 186063909 193461359 0.96
clickbench_q05/duckdb:duckdb 265266965 260847357 1.02
clickbench_q06/duckdb:duckdb 🚀 28409711 35656191 0.80
clickbench_q07/duckdb:duckdb 35087503 36195271 0.97
clickbench_q08/duckdb:duckdb 249692192 250053052 1.00
clickbench_q09/duckdb:duckdb 363582660 373964168 0.97
clickbench_q10/duckdb:duckdb 97768754 98885840 0.99
clickbench_q11/duckdb:duckdb 107080721 107779228 0.99
clickbench_q12/duckdb:duckdb 237665093 240768545 0.99
clickbench_q13/duckdb:duckdb 461444851 497542850 0.93
clickbench_q14/duckdb:duckdb 275273134 283450566 0.97
clickbench_q15/duckdb:duckdb 217751198 221578578 0.98
clickbench_q16/duckdb:duckdb 634857049 644523436 0.99
clickbench_q17/duckdb:duckdb 540219584 584032731 0.92
clickbench_q18/duckdb:duckdb 1189544218 1249520986 0.95
clickbench_q19/duckdb:duckdb 33887754 35128007 0.96
clickbench_q20/duckdb:duckdb 🚀 852739312 1046134572 0.82
clickbench_q21/duckdb:duckdb 🚀 921810799 1118262670 0.82
clickbench_q22/duckdb:duckdb 1098987497 1055187453 1.04
clickbench_q23/duckdb:duckdb 249800244 251179251 0.99
clickbench_q24/duckdb:duckdb 61080477 61600629 0.99
clickbench_q25/duckdb:duckdb 141827224 143296805 0.99
clickbench_q26/duckdb:duckdb 60007777 59819347 1.00
clickbench_q27/duckdb:duckdb 1011812683 1036663328 0.98
clickbench_q28/duckdb:duckdb 4672878788 4651152291 1.00
clickbench_q29/duckdb:duckdb 47776928 48970392 0.98
clickbench_q30/duckdb:duckdb 264658668 269431286 0.98
clickbench_q31/duckdb:duckdb 452616242 500076576 0.91
clickbench_q32/duckdb:duckdb 1453944033 1613232974 0.90
clickbench_q33/duckdb:duckdb 1911231478 1971407460 0.97
clickbench_q34/duckdb:duckdb 1948735470 2137398348 0.91
clickbench_q35/duckdb:duckdb 281045052 274383307 1.02
clickbench_q36/duckdb:duckdb 41589893 41703942 1.00
clickbench_q37/duckdb:duckdb 31321620 31194121 1.00
clickbench_q38/duckdb:duckdb 31131138 30778768 1.01
clickbench_q39/duckdb:duckdb 65547416 62875265 1.04
clickbench_q40/duckdb:duckdb 31229179 30898941 1.01
clickbench_q41/duckdb:duckdb 30258336 29874685 1.01
clickbench_q42/duckdb:duckdb 30722244 31724057 0.97
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-file-compressed +9.6% +8.3% +1.2% +733.2% ➖ noise
0 duckdb:duckdb -1.8% +8.3% -9.4% +276.5% ➖ noise
0 duckdb:vortex-file-compressed +5.1% +8.3% -2.9% +472.7% ➖ noise
1 datafusion:vortex-file-compressed -2.1% -0.7% -1.4% +23.6% ➖ noise
1 duckdb:duckdb -3.6% -0.7% -2.9% +67.5% ➖ noise
1 duckdb:vortex-file-compressed -2.5% -0.7% -1.8% +22.8% ➖ noise
2 datafusion:vortex-file-compressed +1.4% +0.4% +1.0% +15.8% ➖ noise
2 duckdb:duckdb -2.1% +0.4% -2.5% +23.0% ➖ noise
2 duckdb:vortex-file-compressed +5.6% +0.4% +5.2% +14.9% ➖ noise
3 datafusion:vortex-file-compressed -4.8% +1.9% -6.6% +141.0% ➖ noise
3 duckdb:duckdb -2.9% +1.9% -4.8% +50.6% ➖ noise
3 duckdb:vortex-file-compressed +2.2% +1.9% +0.3% +59.0% ➖ noise
4 datafusion:vortex-file-compressed +1.7% +4.3% -2.6% +10.0% ➖ noise
4 duckdb:duckdb -3.8% +4.3% -7.8% +10.0% ➖ noise
4 duckdb:vortex-file-compressed +8.7% +4.3% +4.1% +10.0% ➖ noise
5 datafusion:vortex-file-compressed +5.7% +6.4% -0.7% +10.0% ➖ noise
5 duckdb:duckdb +1.7% +6.4% -4.4% +10.0% ➖ noise
5 duckdb:vortex-file-compressed +7.1% +6.4% +0.7% +10.0% ➖ noise
6 datafusion:vortex-file-compressed +4.3% +4.7% -0.4% +37.4% ➖ noise
6 duckdb:duckdb -20.3% +4.7% -23.9% +27.8% ✅ faster
6 duckdb:vortex-file-compressed +2.1% +4.7% -2.5% +14.9% ➖ noise
7 datafusion:vortex-file-compressed -3.1% +1.4% -4.5% +13.9% ➖ noise
7 duckdb:duckdb -3.1% +1.4% -4.4% +10.0% ➖ noise
7 duckdb:vortex-file-compressed +10.6% +1.4% +9.0% +10.0% ➖ noise
8 datafusion:vortex-file-compressed +3.6% +4.5% -0.9% +10.0% ➖ noise
8 duckdb:duckdb -0.1% +4.5% -4.4% +10.0% ➖ noise
8 duckdb:vortex-file-compressed +9.7% +4.5% +5.0% +10.0% ➖ noise
9 datafusion:vortex-file-compressed +5.6% +5.0% +0.5% +10.0% ➖ noise
9 duckdb:duckdb -2.8% +5.0% -7.4% +10.0% ➖ noise
9 duckdb:vortex-file-compressed +11.6% +5.0% +6.2% +10.0% ➖ noise
10 datafusion:vortex-file-compressed -1.8% +2.9% -4.6% +10.0% ➖ noise
10 duckdb:duckdb -1.1% +2.9% -3.9% +10.0% ➖ noise
10 duckdb:vortex-file-compressed +7.5% +2.9% +4.4% +10.0% ➖ noise
11 datafusion:vortex-file-compressed +3.5% +3.8% -0.3% +10.0% ➖ noise
11 duckdb:duckdb -0.6% +3.8% -4.3% +10.0% ➖ noise
11 duckdb:vortex-file-compressed +10.1% +3.8% +6.1% +10.0% ➖ noise
12 datafusion:vortex-file-compressed +2.0% +4.7% -2.6% +10.0% ➖ noise
12 duckdb:duckdb -1.3% +4.7% -5.8% +10.0% ➖ noise
12 duckdb:vortex-file-compressed +7.9% +4.7% +3.1% +10.0% ➖ noise
13 datafusion:vortex-file-compressed +4.0% +2.8% +1.2% +10.0% ➖ noise
13 duckdb:duckdb -7.3% +2.8% -9.8% +10.0% ✅ faster
13 duckdb:vortex-file-compressed +6.1% +2.8% +3.3% +10.0% ➖ noise
14 datafusion:vortex-file-compressed +1.6% -0.4% +2.1% +10.0% ➖ noise
14 duckdb:duckdb -2.9% -0.4% -2.5% +10.0% ➖ noise
14 duckdb:vortex-file-compressed +3.3% -0.4% +3.7% +10.0% ➖ noise
15 datafusion:vortex-file-compressed +0.3% -1.2% +1.5% +10.0% ➖ noise
15 duckdb:duckdb -1.7% -1.2% -0.5% +10.0% ➖ noise
15 duckdb:vortex-file-compressed +2.6% -1.2% +3.9% +10.0% ➖ noise
16 datafusion:vortex-file-compressed +3.8% +0.9% +2.9% +10.0% ➖ noise
16 duckdb:duckdb -1.5% +0.9% -2.4% +10.0% ➖ noise
16 duckdb:vortex-file-compressed +0.0% +0.9% -0.8% +10.0% ➖ noise
17 datafusion:vortex-file-compressed +4.0% -0.7% +4.7% +10.0% ➖ noise
17 duckdb:duckdb -7.5% -0.7% -6.8% +10.0% ➖ noise
17 duckdb:vortex-file-compressed +2.0% -0.7% +2.7% +10.0% ➖ noise
18 datafusion:vortex-file-compressed -2.6% +0.2% -2.8% +10.0% ➖ noise
18 duckdb:duckdb -4.8% +0.2% -5.0% +10.0% ➖ noise
18 duckdb:vortex-file-compressed +1.0% +0.2% +0.8% +10.0% ➖ noise
19 datafusion:vortex-file-compressed +3.1% -1.0% +4.2% +25.3% ➖ noise
19 duckdb:duckdb -3.5% -1.0% -2.5% +16.7% ➖ noise
19 duckdb:vortex-file-compressed +0.4% -1.0% +1.4% +18.2% ➖ noise
20 datafusion:vortex-file-compressed +0.4% +0.1% +0.3% +209.8% ➖ noise
20 duckdb:duckdb -18.5% +0.1% -18.5% +27.2% ➖ noise
20 duckdb:vortex-file-compressed -2.5% +0.1% -2.6% +69.1% ➖ noise
21 datafusion:vortex-file-compressed +1.6% -2.0% +3.7% +10.0% ➖ noise
21 duckdb:duckdb -17.6% -2.0% -15.9% +15.5% ✅ faster
21 duckdb:vortex-file-compressed +0.5% -2.0% +2.5% +10.0% ➖ noise
22 datafusion:vortex-file-compressed +0.9% -0.8% +1.7% +14.9% ➖ noise
22 duckdb:duckdb +4.2% -0.8% +5.0% +16.2% ➖ noise
22 duckdb:vortex-file-compressed -6.0% -0.8% -5.3% +15.3% ➖ noise
23 datafusion:vortex-file-compressed -2.4% -0.1% -2.3% +51.1% ➖ noise
23 duckdb:duckdb -0.5% -0.1% -0.4% +10.0% ➖ noise
23 duckdb:vortex-file-compressed -1.7% -0.1% -1.6% +44.1% ➖ noise
24 datafusion:vortex-file-compressed +2.3% +0.8% +1.4% +10.0% ➖ noise
24 duckdb:duckdb -0.8% +0.8% -1.7% +14.4% ➖ noise
24 duckdb:vortex-file-compressed +14.7% +0.8% +13.7% +25.9% ➖ noise
25 datafusion:vortex-file-compressed -0.5% +0.3% -0.8% +10.0% ➖ noise
25 duckdb:duckdb -1.0% +0.3% -1.3% +10.0% ➖ noise
25 duckdb:vortex-file-compressed -2.4% +0.3% -2.7% +12.6% ➖ noise
26 datafusion:vortex-file-compressed -1.0% +0.1% -1.1% +10.0% ➖ noise
26 duckdb:duckdb +0.3% +0.1% +0.2% +14.4% ➖ noise
26 duckdb:vortex-file-compressed -6.0% +0.1% -6.1% +23.4% ➖ noise
27 datafusion:vortex-file-compressed -0.5% -4.7% +4.4% +10.0% ➖ noise
27 duckdb:duckdb -2.4% -4.7% +2.4% +12.2% ➖ noise
27 duckdb:vortex-file-compressed +1.2% -4.7% +6.2% +10.0% ➖ noise
28 datafusion:vortex-file-compressed +1.6% -0.7% +2.3% +10.0% ➖ noise
28 duckdb:duckdb +0.5% -0.7% +1.2% +10.0% ➖ noise
28 duckdb:vortex-file-compressed +0.3% -0.7% +1.0% +10.0% ➖ noise
29 datafusion:vortex-file-compressed +4.7% +0.5% +4.2% +10.0% ➖ noise
29 duckdb:duckdb -2.4% +0.5% -2.9% +10.0% ➖ noise
29 duckdb:vortex-file-compressed +2.8% +0.5% +2.3% +21.8% ➖ noise
30 datafusion:vortex-file-compressed -1.4% +1.3% -2.7% +10.0% ➖ noise
30 duckdb:duckdb -1.8% +1.3% -3.1% +10.0% ➖ noise
30 duckdb:vortex-file-compressed -1.9% +1.3% -3.2% +10.0% ➖ noise
31 datafusion:vortex-file-compressed +4.1% +1.4% +2.7% +10.0% ➖ noise
31 duckdb:duckdb -9.5% +1.4% -10.8% +10.0% ✅ faster
31 duckdb:vortex-file-compressed -3.0% +1.4% -4.4% +10.0% ➖ noise
32 datafusion:vortex-file-compressed +6.4% +1.5% +4.8% +10.0% ➖ noise
32 duckdb:duckdb -9.9% +1.5% -11.2% +10.0% ✅ faster
32 duckdb:vortex-file-compressed -0.0% +1.5% -1.5% +10.0% ➖ noise
33 datafusion:vortex-file-compressed +4.6% +2.2% +2.3% +10.0% ➖ noise
33 duckdb:duckdb -3.1% +2.2% -5.2% +10.0% ➖ noise
33 duckdb:vortex-file-compressed -3.8% +2.2% -5.9% +14.8% ➖ noise
34 datafusion:vortex-file-compressed +3.7% +5.8% -2.0% +10.0% ➖ noise
34 duckdb:duckdb -8.8% +5.8% -13.9% +12.4% ✅ faster
34 duckdb:vortex-file-compressed -7.2% +5.8% -12.4% +10.0% ✅ faster
35 datafusion:vortex-file-compressed +4.1% +6.8% -2.5% +10.0% ➖ noise
35 duckdb:duckdb +2.4% +6.8% -4.1% +10.0% ➖ noise
35 duckdb:vortex-file-compressed +0.2% +6.8% -6.2% +10.0% ➖ noise
36 datafusion:vortex-file-compressed +11.2% +4.0% +6.9% +10.6% ➖ noise
36 duckdb:duckdb -0.3% +4.0% -4.1% +15.5% ➖ noise
36 duckdb:vortex-file-compressed -0.1% +4.0% -4.0% +12.2% ➖ noise
37 datafusion:vortex-file-compressed +5.7% +1.0% +4.6% +10.0% ➖ noise
37 duckdb:duckdb +0.4% +1.0% -0.6% +10.0% ➖ noise
37 duckdb:vortex-file-compressed +4.9% +1.0% +3.8% +10.9% ➖ noise
38 datafusion:vortex-file-compressed +5.9% +3.3% +2.5% +10.0% ➖ noise
38 duckdb:duckdb +1.1% +3.3% -2.1% +10.0% ➖ noise
38 duckdb:vortex-file-compressed +2.4% +3.3% -0.9% +10.0% ➖ noise
39 datafusion:vortex-file-compressed +2.9% +1.8% +1.1% +10.0% ➖ noise
39 duckdb:duckdb +4.2% +1.8% +2.4% +12.0% ➖ noise
39 duckdb:vortex-file-compressed +12.9% +1.8% +11.0% +11.7% ➖ noise
40 datafusion:vortex-file-compressed +6.3% +3.0% +3.2% +10.0% ➖ noise
40 duckdb:duckdb +1.1% +3.0% -1.8% +10.0% ➖ noise
40 duckdb:vortex-file-compressed -0.7% +3.0% -3.6% +10.0% ➖ noise
41 datafusion:vortex-file-compressed +1.5% +3.6% -2.1% +14.8% ➖ noise
41 duckdb:duckdb +1.3% +3.6% -2.3% +11.8% ➖ noise
41 duckdb:vortex-file-compressed -6.4% +3.6% -9.7% +14.9% ➖ noise
42 datafusion:vortex-file-compressed +10.5% -0.2% +10.7% +10.0% 🚨 regression
42 duckdb:duckdb -3.2% -0.2% -3.0% +10.0% ➖ noise
42 duckdb:vortex-file-compressed +6.8% -0.2% +7.0% +13.7% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 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 24, 2026

Benchmarks: TPC-H SF=1 on S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -4.2%
Vortex (geomean): 0.973x ➖
Parquet (geomean): 1.016x ➖
Shifts: Parquet (control) +1.6% · Median polish -2.8%


datafusion / vortex-file-compressed (0.952x ➖, 1↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 241786779 263964588 0.92
tpch_q02/datafusion:vortex-file-compressed 411251322 437967897 0.94
tpch_q03/datafusion:vortex-file-compressed 403312857 466451127 0.86
tpch_q04/datafusion:vortex-file-compressed 245661783 254052630 0.97
tpch_q05/datafusion:vortex-file-compressed 411781948 453140973 0.91
tpch_q06/datafusion:vortex-file-compressed 347574315 326198479 1.07
tpch_q07/datafusion:vortex-file-compressed 389392874 432593400 0.90
tpch_q08/datafusion:vortex-file-compressed 639811380 617025937 1.04
tpch_q09/datafusion:vortex-file-compressed 413191516 399465717 1.03
tpch_q10/datafusion:vortex-file-compressed 524034755 498969091 1.05
tpch_q11/datafusion:vortex-file-compressed 297353649 305197229 0.97
tpch_q12/datafusion:vortex-file-compressed 452930792 492628644 0.92
tpch_q13/datafusion:vortex-file-compressed 146937577 166383367 0.88
tpch_q14/datafusion:vortex-file-compressed 256004519 283387740 0.90
tpch_q15/datafusion:vortex-file-compressed 461749857 471085977 0.98
tpch_q16/datafusion:vortex-file-compressed 187135982 184033017 1.02
tpch_q17/datafusion:vortex-file-compressed 352379256 412384024 0.85
tpch_q18/datafusion:vortex-file-compressed 🚀 328667369 559253020 0.59
tpch_q19/datafusion:vortex-file-compressed 466189302 519308140 0.90
tpch_q20/datafusion:vortex-file-compressed 438571626 436126231 1.01
tpch_q21/datafusion:vortex-file-compressed 569595683 555735071 1.02
tpch_q22/datafusion:vortex-file-compressed 🚨 157254692 107365514 1.46
datafusion / vortex-compact (0.939x ➖, 1↑ 2↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 258774843 275700780 0.94
tpch_q02/datafusion:vortex-compact 404798248 477430294 0.85
tpch_q03/datafusion:vortex-compact 346513140 388464793 0.89
tpch_q04/datafusion:vortex-compact 🚨 313481054 230549604 1.36
tpch_q05/datafusion:vortex-compact 🚨 587037518 411123666 1.43
tpch_q06/datafusion:vortex-compact 420646049 381439345 1.10
tpch_q07/datafusion:vortex-compact 371854109 407062955 0.91
tpch_q08/datafusion:vortex-compact 515161239 509318749 1.01
tpch_q09/datafusion:vortex-compact 385713504 399527819 0.97
tpch_q10/datafusion:vortex-compact 408855079 462684009 0.88
tpch_q11/datafusion:vortex-compact 252777074 286142545 0.88
tpch_q12/datafusion:vortex-compact 440818785 480535126 0.92
tpch_q13/datafusion:vortex-compact 154597721 149850708 1.03
tpch_q14/datafusion:vortex-compact 255684267 324080725 0.79
tpch_q15/datafusion:vortex-compact 461325662 547011308 0.84
tpch_q16/datafusion:vortex-compact 173771457 228750635 0.76
tpch_q17/datafusion:vortex-compact 358631720 388368931 0.92
tpch_q18/datafusion:vortex-compact 278921058 382829840 0.73
tpch_q19/datafusion:vortex-compact 🚀 468818221 781784691 0.60
tpch_q20/datafusion:vortex-compact 451090319 446688248 1.01
tpch_q21/datafusion:vortex-compact 523389606 534931947 0.98
tpch_q22/datafusion:vortex-compact 138019801 112058318 1.23
datafusion / parquet (1.041x ➖, 0↑ 3↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 209190237 247337874 0.85
tpch_q02/datafusion:parquet 456067184 492905619 0.93
tpch_q03/datafusion:parquet 369079720 379438163 0.97
tpch_q04/datafusion:parquet 191722006 204376220 0.94
tpch_q05/datafusion:parquet 580269591 488031039 1.19
tpch_q06/datafusion:parquet 🚨 264689983 156930993 1.69
tpch_q07/datafusion:parquet 🚨 811968064 514728260 1.58
tpch_q08/datafusion:parquet 689604694 583753699 1.18
tpch_q09/datafusion:parquet 481535000 472642901 1.02
tpch_q10/datafusion:parquet 500715542 653150245 0.77
tpch_q11/datafusion:parquet 331937565 462797959 0.72
tpch_q12/datafusion:parquet 241712390 263739132 0.92
tpch_q13/datafusion:parquet 423279560 440526439 0.96
tpch_q14/datafusion:parquet 235943397 208774197 1.13
tpch_q15/datafusion:parquet 329645873 357735999 0.92
tpch_q16/datafusion:parquet 166878198 203151291 0.82
tpch_q17/datafusion:parquet 427772985 390164105 1.10
tpch_q18/datafusion:parquet 467797722 462744711 1.01
tpch_q19/datafusion:parquet 381643709 331135812 1.15
tpch_q20/datafusion:parquet 403227432 405454033 0.99
tpch_q21/datafusion:parquet 681471139 561935377 1.21
tpch_q22/datafusion:parquet 🚨 155132855 110180505 1.41
duckdb / vortex-file-compressed (0.997x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 249276679 268018736 0.93
tpch_q02/duckdb:vortex-file-compressed 974344410 957807601 1.02
tpch_q03/duckdb:vortex-file-compressed 658395750 684348430 0.96
tpch_q04/duckdb:vortex-file-compressed 387525087 426310173 0.91
tpch_q05/duckdb:vortex-file-compressed 943894688 957480112 0.99
tpch_q06/duckdb:vortex-file-compressed 428315050 431970173 0.99
tpch_q07/duckdb:vortex-file-compressed 781608233 919184163 0.85
tpch_q08/duckdb:vortex-file-compressed 1048540196 1048884123 1.00
tpch_q09/duckdb:vortex-file-compressed 858398620 813229787 1.06
tpch_q10/duckdb:vortex-file-compressed 752395058 790387845 0.95
tpch_q11/duckdb:vortex-file-compressed 484126971 476237021 1.02
tpch_q12/duckdb:vortex-file-compressed 478628980 507147314 0.94
tpch_q13/duckdb:vortex-file-compressed 456267742 476517833 0.96
tpch_q14/duckdb:vortex-file-compressed 512111159 508938117 1.01
tpch_q15/duckdb:vortex-file-compressed 288634270 296668383 0.97
tpch_q16/duckdb:vortex-file-compressed 423278724 385338089 1.10
tpch_q17/duckdb:vortex-file-compressed 678413706 690200994 0.98
tpch_q18/duckdb:vortex-file-compressed 575032397 485653788 1.18
tpch_q19/duckdb:vortex-file-compressed 430315468 451852794 0.95
tpch_q20/duckdb:vortex-file-compressed 927124013 844478518 1.10
tpch_q21/duckdb:vortex-file-compressed 1147952196 1054147417 1.09
tpch_q22/duckdb:vortex-file-compressed 363708762 352292793 1.03
duckdb / vortex-compact (1.005x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 293331817 333292799 0.88
tpch_q02/duckdb:vortex-compact 969207244 1062823974 0.91
tpch_q03/duckdb:vortex-compact 736655359 609693018 1.21
tpch_q04/duckdb:vortex-compact 373379135 365221377 1.02
tpch_q05/duckdb:vortex-compact 923588050 970934852 0.95
tpch_q06/duckdb:vortex-compact 444411884 504059644 0.88
tpch_q07/duckdb:vortex-compact 812417701 856672128 0.95
tpch_q08/duckdb:vortex-compact 1018334624 976036579 1.04
tpch_q09/duckdb:vortex-compact 932423834 902029215 1.03
tpch_q10/duckdb:vortex-compact 685869906 737376637 0.93
tpch_q11/duckdb:vortex-compact 511824503 523124409 0.98
tpch_q12/duckdb:vortex-compact 474562484 489448053 0.97
tpch_q13/duckdb:vortex-compact 446433625 453507896 0.98
tpch_q14/duckdb:vortex-compact 513865683 476845131 1.08
tpch_q15/duckdb:vortex-compact 329164752 282703288 1.16
tpch_q16/duckdb:vortex-compact 372288089 366158569 1.02
tpch_q17/duckdb:vortex-compact 685958284 602176826 1.14
tpch_q18/duckdb:vortex-compact 495031575 526762037 0.94
tpch_q19/duckdb:vortex-compact 465287137 426798075 1.09
tpch_q20/duckdb:vortex-compact 819910615 801572252 1.02
tpch_q21/duckdb:vortex-compact 1087115013 1116045807 0.97
tpch_q22/duckdb:vortex-compact 362955918 353372556 1.03
duckdb / parquet (0.991x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 445429325 448959227 0.99
tpch_q02/duckdb:parquet 1201549934 1233539865 0.97
tpch_q03/duckdb:parquet 985758418 973343770 1.01
tpch_q04/duckdb:parquet 641164954 661191373 0.97
tpch_q05/duckdb:parquet 1550277606 1486700121 1.04
tpch_q06/duckdb:parquet 412696956 416362944 0.99
tpch_q07/duckdb:parquet 1350078138 1243205097 1.09
tpch_q08/duckdb:parquet 1756898282 1785095173 0.98
tpch_q09/duckdb:parquet 1500435564 1449804154 1.03
tpch_q10/duckdb:parquet 1228403760 1323811463 0.93
tpch_q11/duckdb:parquet 902885062 854706207 1.06
tpch_q12/duckdb:parquet 692992955 713765014 0.97
tpch_q13/duckdb:parquet 907826874 927484052 0.98
tpch_q14/duckdb:parquet 623694756 687464845 0.91
tpch_q15/duckdb:parquet 546241500 548579079 1.00
tpch_q16/duckdb:parquet 605480759 646408497 0.94
tpch_q17/duckdb:parquet 753172216 758578118 0.99
tpch_q18/duckdb:parquet 895057657 855445167 1.05
tpch_q19/duckdb:parquet 790380328 763456792 1.04
tpch_q20/duckdb:parquet 1108403187 1220090623 0.91
tpch_q21/duckdb:parquet 1210808165 1220566323 0.99
tpch_q22/duckdb:parquet 608784404 621285064 0.98
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-compact -6.1% -8.4% +2.5% +62.3% ➖ noise
1 datafusion:vortex-file-compressed -8.4% -8.4% -0.0% +63.3% ➖ noise
1 duckdb:vortex-compact -12.0% -8.4% -3.9% +46.0% ➖ noise
1 duckdb:vortex-file-compressed -7.0% -8.4% +1.5% +46.5% ➖ noise
2 datafusion:vortex-compact -15.2% -5.1% -10.7% +34.8% ➖ noise
2 datafusion:vortex-file-compressed -6.1% -5.1% -1.1% +34.8% ➖ noise
2 duckdb:vortex-compact -8.8% -5.1% -3.9% +34.8% ➖ noise
2 duckdb:vortex-file-compressed +1.7% -5.1% +7.2% +34.8% ➖ noise
3 datafusion:vortex-compact -10.8% -0.7% -10.1% +54.1% ➖ noise
3 datafusion:vortex-file-compressed -13.5% -0.7% -12.9% +59.5% ➖ noise
3 duckdb:vortex-compact +20.8% -0.7% +21.7% +34.8% ➖ noise
3 duckdb:vortex-file-compressed -3.8% -0.7% -3.1% +35.0% ➖ noise
4 datafusion:vortex-compact +36.0% -4.6% +42.6% +34.8% 🚨 regression
4 datafusion:vortex-file-compressed -3.3% -4.6% +1.4% +34.8% ➖ noise
4 duckdb:vortex-compact +2.2% -4.6% +7.2% +57.2% ➖ noise
4 duckdb:vortex-file-compressed -9.1% -4.6% -4.7% +34.8% ➖ noise
5 datafusion:vortex-compact +42.8% +11.3% +28.2% +37.8% ➖ noise
5 datafusion:vortex-file-compressed -9.1% +11.3% -18.4% +34.8% ➖ noise
5 duckdb:vortex-compact -4.9% +11.3% -14.6% +34.8% ➖ noise
5 duckdb:vortex-file-compressed -1.4% +11.3% -11.5% +34.8% ➖ noise
6 datafusion:vortex-compact +10.3% +29.3% -14.7% +34.8% ➖ noise
6 datafusion:vortex-file-compressed +6.6% +29.3% -17.6% +34.8% ➖ noise
6 duckdb:vortex-compact -11.8% +29.3% -31.8% +34.8% ✅ faster
6 duckdb:vortex-file-compressed -0.8% +29.3% -23.3% +34.8% ➖ noise
7 datafusion:vortex-compact -8.6% +30.9% -30.2% +34.8% ✅ faster
7 datafusion:vortex-file-compressed -10.0% +30.9% -31.2% +34.8% ✅ faster
7 duckdb:vortex-compact -5.2% +30.9% -27.5% +34.8% ✅ faster
7 duckdb:vortex-file-compressed -15.0% +30.9% -35.0% +34.8% ✅ faster
8 datafusion:vortex-compact +1.1% +7.8% -6.2% +34.8% ➖ noise
8 datafusion:vortex-file-compressed +3.7% +7.8% -3.8% +34.8% ➖ noise
8 duckdb:vortex-compact +4.3% +7.8% -3.2% +34.8% ➖ noise
8 duckdb:vortex-file-compressed -0.0% +7.8% -7.3% +34.8% ➖ noise
9 datafusion:vortex-compact -3.5% +2.7% -6.0% +34.8% ➖ noise
9 datafusion:vortex-file-compressed +3.4% +2.7% +0.7% +34.8% ➖ noise
9 duckdb:vortex-compact +3.4% +2.7% +0.7% +34.8% ➖ noise
9 duckdb:vortex-file-compressed +5.6% +2.7% +2.8% +34.8% ➖ noise
10 datafusion:vortex-compact -11.6% -15.7% +4.8% +34.8% ➖ noise
10 datafusion:vortex-file-compressed +5.0% -15.7% +24.5% +34.8% ➖ noise
10 duckdb:vortex-compact -7.0% -15.7% +10.3% +34.8% ➖ noise
10 duckdb:vortex-file-compressed -4.8% -15.7% +12.9% +34.8% ➖ noise
11 datafusion:vortex-compact -11.7% -13.0% +1.5% +34.8% ➖ noise
11 datafusion:vortex-file-compressed -2.6% -13.0% +11.9% +34.8% ➖ noise
11 duckdb:vortex-compact -2.2% -13.0% +12.4% +34.8% ➖ noise
11 duckdb:vortex-file-compressed +1.7% -13.0% +16.8% +34.8% ➖ noise
12 datafusion:vortex-compact -8.3% -5.7% -2.8% +34.8% ➖ noise
12 datafusion:vortex-file-compressed -8.1% -5.7% -2.5% +34.8% ➖ noise
12 duckdb:vortex-compact -3.0% -5.7% +2.8% +34.8% ➖ noise
12 duckdb:vortex-file-compressed -5.6% -5.7% +0.0% +34.8% ➖ noise
13 datafusion:vortex-compact +3.2% -3.0% +6.4% +69.9% ➖ noise
13 datafusion:vortex-file-compressed -11.7% -3.0% -8.9% +49.1% ➖ noise
13 duckdb:vortex-compact -1.6% -3.0% +1.5% +34.8% ➖ noise
13 duckdb:vortex-file-compressed -4.2% -3.0% -1.3% +34.8% ➖ noise
14 datafusion:vortex-compact -21.1% +1.3% -22.1% +36.1% ➖ noise
14 datafusion:vortex-file-compressed -9.7% +1.3% -10.8% +39.7% ➖ noise
14 duckdb:vortex-compact +7.8% +1.3% +6.4% +34.8% ➖ noise
14 duckdb:vortex-file-compressed +0.6% +1.3% -0.6% +34.8% ➖ noise
15 datafusion:vortex-compact -15.7% -4.2% -12.0% +34.8% ➖ noise
15 datafusion:vortex-file-compressed -2.0% -4.2% +2.3% +34.8% ➖ noise
15 duckdb:vortex-compact +16.4% -4.2% +21.6% +40.1% ➖ noise
15 duckdb:vortex-file-compressed -2.7% -4.2% +1.6% +34.8% ➖ noise
16 datafusion:vortex-compact -24.0% -12.3% -13.4% +34.8% ➖ noise
16 datafusion:vortex-file-compressed +1.7% -12.3% +15.9% +34.8% ➖ noise
16 duckdb:vortex-compact +1.7% -12.3% +15.9% +34.8% ➖ noise
16 duckdb:vortex-file-compressed +9.8% -12.3% +25.2% +34.8% ➖ noise
17 datafusion:vortex-compact -7.7% +4.3% -11.5% +34.8% ➖ noise
17 datafusion:vortex-file-compressed -14.6% +4.3% -18.1% +38.6% ➖ noise
17 duckdb:vortex-compact +13.9% +4.3% +9.2% +34.8% ➖ noise
17 duckdb:vortex-file-compressed -1.7% +4.3% -5.8% +34.8% ➖ noise
18 datafusion:vortex-compact -27.1% +2.8% -29.2% +34.8% ✅ faster
18 datafusion:vortex-file-compressed -41.2% +2.8% -42.9% +34.8% ✅ faster
18 duckdb:vortex-compact -6.0% +2.8% -8.6% +34.8% ➖ noise
18 duckdb:vortex-file-compressed +18.4% +2.8% +15.1% +34.8% ➖ noise
19 datafusion:vortex-compact -40.0% +9.2% -45.1% +34.8% ✅ faster
19 datafusion:vortex-file-compressed -10.2% +9.2% -17.8% +34.8% ➖ noise
19 duckdb:vortex-compact +9.0% +9.2% -0.2% +34.8% ➖ noise
19 duckdb:vortex-file-compressed -4.8% +9.2% -12.8% +34.8% ➖ noise
20 datafusion:vortex-compact +1.0% -4.9% +6.2% +34.8% ➖ noise
20 datafusion:vortex-file-compressed +0.6% -4.9% +5.8% +34.8% ➖ noise
20 duckdb:vortex-compact +2.3% -4.9% +7.6% +34.8% ➖ noise
20 duckdb:vortex-file-compressed +9.8% -4.9% +15.5% +34.8% ➖ noise
21 datafusion:vortex-compact -2.2% +9.7% -10.8% +34.8% ➖ noise
21 datafusion:vortex-file-compressed +2.5% +9.7% -6.6% +34.8% ➖ noise
21 duckdb:vortex-compact -2.6% +9.7% -11.2% +34.8% ➖ noise
21 duckdb:vortex-file-compressed +8.9% +9.7% -0.7% +34.8% ➖ noise
22 datafusion:vortex-compact +23.2% +17.5% +4.9% +34.8% ➖ noise
22 datafusion:vortex-file-compressed +46.5% +17.5% +24.7% +34.8% ➖ noise
22 duckdb:vortex-compact +2.7% +17.5% -12.6% +34.8% ➖ noise
22 duckdb:vortex-file-compressed +3.2% +17.5% -12.1% +34.8% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Apr 24, 2026

Benchmarks: Compression

Vortex (geomean): 0.998x ➖
Parquet (geomean): 0.996x ➖


unknown / unknown (0.994x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
compress time/Arade 1178636579 1199820376 0.98
compress time/Bimbo 6783425988 6955646740 0.98
compress time/CMSprovider 2939293479 2934795435 1.00
compress time/Euro2016 441908542 471214213 0.94
compress time/Food 413718785 400601278 1.03
compress time/HashTags 842103549 859911382 0.98
compress time/TPC-H l_comment canonical 1363035862 1379806614 0.99
compress time/TPC-H l_comment chunked 1378279697 1352505817 1.02
compress time/taxi 746572052 758958257 0.98
compress time/wide table cols=100 chunks=1 rows=1000 11533230 12617369 0.91
compress time/wide table cols=100 chunks=50 rows=1000 12028736 12209309 0.99
compress time/wide table cols=1000 chunks=1 rows=1000 128208627 132386427 0.97
compress time/wide table cols=1000 chunks=50 rows=1000 138018980 134299121 1.03
compress time/wide table cols=10000 chunks=1 rows=1000 1433628583 1418702471 1.01
compress time/wide table cols=10000 chunks=50 rows=1000 1427593642 1448457126 0.99
decompress time/Arade 28561474 28823999 0.99
decompress time/Bimbo 97571519 108389054 0.90
decompress time/CMSprovider 89348467 87138249 1.03
decompress time/Euro2016 18226228 19445473 0.94
decompress time/Food 9462682 9714975 0.97
decompress time/HashTags 72946390 73270121 1.00
decompress time/TPC-H l_comment canonical 41221275 41039712 1.00
decompress time/TPC-H l_comment chunked 40837728 43004994 0.95
decompress time/taxi 16831928 17612212 0.96
decompress time/wide table cols=100 chunks=1 rows=1000 2703910 2711574 1.00
decompress time/wide table cols=100 chunks=50 rows=1000 2806013 2594646 1.08
decompress time/wide table cols=1000 chunks=1 rows=1000 24904784 24820403 1.00
decompress time/wide table cols=1000 chunks=50 rows=1000 26371233 24862263 1.06
decompress time/wide table cols=10000 chunks=1 rows=1000 283600643 282130451 1.01
decompress time/wide table cols=10000 chunks=50 rows=1000 269320502 281090720 0.96
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 2989965804 3042746188 0.98
parquet_rs-zstd compress time/Bimbo 15535292612 15672363625 0.99
parquet_rs-zstd compress time/CMSprovider 7941587037 8163585197 0.97
parquet_rs-zstd compress time/Euro2016 1404487133 1409360054 1.00
parquet_rs-zstd compress time/Food 897842508 914655093 0.98
parquet_rs-zstd compress time/HashTags 2452646546 2478558733 0.99
parquet_rs-zstd compress time/TPC-H l_comment canonical 3230204397 3277791412 0.99
parquet_rs-zstd compress time/TPC-H l_comment chunked 3218775515 3259969469 0.99
parquet_rs-zstd compress time/taxi 1417605440 1440461401 0.98
parquet_rs-zstd compress time/wide table cols=100 chunks=1 rows=1000 7915207 7864487 1.01
parquet_rs-zstd compress time/wide table cols=100 chunks=50 rows=1000 7957459 7277269 1.09
parquet_rs-zstd compress time/wide table cols=1000 chunks=1 rows=1000 86893646 86798839 1.00
parquet_rs-zstd compress time/wide table cols=1000 chunks=50 rows=1000 85579695 84787784 1.01
parquet_rs-zstd compress time/wide table cols=10000 chunks=1 rows=1000 891190145 902988984 0.99
parquet_rs-zstd compress time/wide table cols=10000 chunks=50 rows=1000 899540258 900301276 1.00
parquet_rs-zstd decompress time/Arade 651970124 648102042 1.01
parquet_rs-zstd decompress time/Bimbo 1720075648 1767691479 0.97
parquet_rs-zstd decompress time/CMSprovider 1990327951 2031998212 0.98
parquet_rs-zstd decompress time/Euro2016 393501538 392642717 1.00
parquet_rs-zstd decompress time/Food 219417988 224454772 0.98
parquet_rs-zstd decompress time/HashTags 693159441 704374058 0.98
parquet_rs-zstd decompress time/TPC-H l_comment canonical 568245232 571356079 0.99
parquet_rs-zstd decompress time/TPC-H l_comment chunked 572926397 570409217 1.00
parquet_rs-zstd decompress time/taxi 251474338 251453602 1.00
parquet_rs-zstd decompress time/wide table cols=100 chunks=1 rows=1000 2816067 2890802 0.97
parquet_rs-zstd decompress time/wide table cols=100 chunks=50 rows=1000 2792469 2912026 0.96
parquet_rs-zstd decompress time/wide table cols=1000 chunks=1 rows=1000 32892429 32848713 1.00
parquet_rs-zstd decompress time/wide table cols=1000 chunks=50 rows=1000 32846006 33964798 0.97
parquet_rs-zstd decompress time/wide table cols=10000 chunks=1 rows=1000 343125460 345931166 0.99
parquet_rs-zstd decompress time/wide table cols=10000 chunks=50 rows=1000 338839087 352058716 0.96
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 163497796 163393980 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 1.00
vortex:parquet-zstd ratio compress time/Bimbo 0 0 0.98
vortex:parquet-zstd ratio compress time/CMSprovider 0 0 1.03
vortex:parquet-zstd ratio compress time/Euro2016 0 0 0.94
vortex:parquet-zstd ratio compress time/Food 0 0 1.05
vortex:parquet-zstd ratio compress time/HashTags 0 0 0.99
vortex:parquet-zstd ratio compress time/TPC-H l_comment canonical 0 0 1.00
vortex:parquet-zstd ratio compress time/TPC-H l_comment chunked 0 0 1.03
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 0.91
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=50 rows=1000 1 1 0.90
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=1 rows=1000 1 1 0.97
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=50 rows=1000 1 1 1.02
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 0.99
vortex:parquet-zstd ratio decompress time/Arade 0 0 0.99
vortex:parquet-zstd ratio decompress time/Bimbo 0 0 0.93
vortex:parquet-zstd ratio decompress time/CMSprovider 0 0 1.05
vortex:parquet-zstd ratio decompress time/Euro2016 0 0 0.94
vortex:parquet-zstd ratio decompress time/Food 0 0 1.00
vortex:parquet-zstd ratio decompress time/HashTags 0 0 1.01
vortex:parquet-zstd ratio decompress time/TPC-H l_comment canonical 0 0 1.01
vortex:parquet-zstd ratio decompress time/TPC-H l_comment chunked 0 0 0.95
vortex:parquet-zstd ratio decompress time/taxi 0 0 0.96
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=1 rows=1000 0 0 1.02
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=50 rows=1000 🚨 1 0 1.13
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=1 rows=1000 0 0 1.00
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=50 rows=1000 0 0 1.10
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=1 rows=1000 0 0 1.01
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=50 rows=1000 0 0 1.00
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 24, 2026

Benchmarks: TPC-H SF=10 on S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +0.1%
Vortex (geomean): 1.013x ➖
Parquet (geomean): 1.011x ➖
Shifts: Parquet (control) +1.1% · Median polish -1.8%


datafusion / vortex-file-compressed (1.062x ➖, 0↑ 2↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 688529557 767454578 0.90
tpch_q02/datafusion:vortex-file-compressed 702836289 888359353 0.79
tpch_q03/datafusion:vortex-file-compressed 817283509 1105769316 0.74
tpch_q04/datafusion:vortex-file-compressed 598021684 763757821 0.78
tpch_q05/datafusion:vortex-file-compressed 1191404630 1107256578 1.08
tpch_q06/datafusion:vortex-file-compressed 678563313 742451065 0.91
tpch_q07/datafusion:vortex-file-compressed 1065145497 1091701282 0.98
tpch_q08/datafusion:vortex-file-compressed 1218266020 1181053115 1.03
tpch_q09/datafusion:vortex-file-compressed 1289582797 1416191234 0.91
tpch_q10/datafusion:vortex-file-compressed 1017850046 968442989 1.05
tpch_q11/datafusion:vortex-file-compressed 609702246 574624240 1.06
tpch_q12/datafusion:vortex-file-compressed 1042945787 902541565 1.16
tpch_q13/datafusion:vortex-file-compressed 439976543 471624126 0.93
tpch_q14/datafusion:vortex-file-compressed 601190187 600810805 1.00
tpch_q15/datafusion:vortex-file-compressed 1123387585 1196117755 0.94
tpch_q16/datafusion:vortex-file-compressed 336433646 425583010 0.79
tpch_q17/datafusion:vortex-file-compressed 1199887998 1238030219 0.97
tpch_q18/datafusion:vortex-file-compressed 1314940820 1388140295 0.95
tpch_q19/datafusion:vortex-file-compressed 855216909 730199114 1.17
tpch_q20/datafusion:vortex-file-compressed 🚨 2608652303 987848472 2.64
tpch_q21/datafusion:vortex-file-compressed 2205715634 1778046998 1.24
tpch_q22/datafusion:vortex-file-compressed 🚨 1554051144 480887595 3.23
datafusion / vortex-compact (0.993x ➖, 1↑ 2↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 681743536 723314246 0.94
tpch_q02/datafusion:vortex-compact 686459373 602480329 1.14
tpch_q03/datafusion:vortex-compact 918090174 767183168 1.20
tpch_q04/datafusion:vortex-compact 575145909 675376730 0.85
tpch_q05/datafusion:vortex-compact 976398019 1021154943 0.96
tpch_q06/datafusion:vortex-compact 604337090 619445380 0.98
tpch_q07/datafusion:vortex-compact 1006330560 1079352878 0.93
tpch_q08/datafusion:vortex-compact 1181605807 1276213583 0.93
tpch_q09/datafusion:vortex-compact 1186428451 1325628766 0.89
tpch_q10/datafusion:vortex-compact 909335211 1057168835 0.86
tpch_q11/datafusion:vortex-compact 386891135 443336452 0.87
tpch_q12/datafusion:vortex-compact 951461571 831992690 1.14
tpch_q13/datafusion:vortex-compact 409505498 453283243 0.90
tpch_q14/datafusion:vortex-compact 🚨 827900638 572980888 1.44
tpch_q15/datafusion:vortex-compact 1156298656 1220820921 0.95
tpch_q16/datafusion:vortex-compact 🚀 359190564 527339513 0.68
tpch_q17/datafusion:vortex-compact 1207267029 1280794315 0.94
tpch_q18/datafusion:vortex-compact 1197239051 1320523388 0.91
tpch_q19/datafusion:vortex-compact 787380884 880779311 0.89
tpch_q20/datafusion:vortex-compact 1345464043 1061958229 1.27
tpch_q21/datafusion:vortex-compact 1669380765 1586503188 1.05
tpch_q22/datafusion:vortex-compact 🚨 604536022 405516522 1.49
datafusion / parquet (1.022x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 737847359 692902581 1.06
tpch_q02/datafusion:parquet 🚨 1050556949 658911594 1.59
tpch_q03/datafusion:parquet 1110074642 951388839 1.17
tpch_q04/datafusion:parquet 432369710 477627063 0.91
tpch_q05/datafusion:parquet 1180849845 1137743712 1.04
tpch_q06/datafusion:parquet 502285020 513595708 0.98
tpch_q07/datafusion:parquet 1244715912 1335196080 0.93
tpch_q08/datafusion:parquet 1447666326 1681839096 0.86
tpch_q09/datafusion:parquet 1590499455 1775505341 0.90
tpch_q10/datafusion:parquet 1909109907 1994344534 0.96
tpch_q11/datafusion:parquet 481802023 488196174 0.99
tpch_q12/datafusion:parquet 633323489 684659964 0.93
tpch_q13/datafusion:parquet 689269843 710412594 0.97
tpch_q14/datafusion:parquet 748678733 803915050 0.93
tpch_q15/datafusion:parquet 1147744416 1144781661 1.00
tpch_q16/datafusion:parquet 348003568 334854293 1.04
tpch_q17/datafusion:parquet 1413815743 1296722710 1.09
tpch_q18/datafusion:parquet 1602141800 1430751477 1.12
tpch_q19/datafusion:parquet 1064262082 1037808517 1.03
tpch_q20/datafusion:parquet 1095531903 1173112876 0.93
tpch_q21/datafusion:parquet 1837918284 1814492785 1.01
tpch_q22/datafusion:parquet 893805826 701573469 1.27
duckdb / vortex-file-compressed (0.954x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 667397436 789420376 0.85
tpch_q02/duckdb:vortex-file-compressed 1145189270 1168076556 0.98
tpch_q03/duckdb:vortex-file-compressed 1011165525 1002724980 1.01
tpch_q04/duckdb:vortex-file-compressed 667943440 718800780 0.93
tpch_q05/duckdb:vortex-file-compressed 1185438947 1263798780 0.94
tpch_q06/duckdb:vortex-file-compressed 845306071 1001157127 0.84
tpch_q07/duckdb:vortex-file-compressed 1171059872 1275287101 0.92
tpch_q08/duckdb:vortex-file-compressed 1421047628 1521232116 0.93
tpch_q09/duckdb:vortex-file-compressed 1522484317 1617559150 0.94
tpch_q10/duckdb:vortex-file-compressed 1234931810 1240679439 1.00
tpch_q11/duckdb:vortex-file-compressed 781359916 676380989 1.16
tpch_q12/duckdb:vortex-file-compressed 756482082 758872473 1.00
tpch_q13/duckdb:vortex-file-compressed 1017121676 910487192 1.12
tpch_q14/duckdb:vortex-file-compressed 915214596 1014631953 0.90
tpch_q15/duckdb:vortex-file-compressed 527496031 604783071 0.87
tpch_q16/duckdb:vortex-file-compressed 547692376 558548648 0.98
tpch_q17/duckdb:vortex-file-compressed 969294541 1090836362 0.89
tpch_q18/duckdb:vortex-file-compressed 964158338 976718213 0.99
tpch_q19/duckdb:vortex-file-compressed 852640648 806802675 1.06
tpch_q20/duckdb:vortex-file-compressed 1216828495 1296384075 0.94
tpch_q21/duckdb:vortex-file-compressed 2041816013 2108761761 0.97
tpch_q22/duckdb:vortex-file-compressed 584539541 678230830 0.86
duckdb / vortex-compact (1.045x ➖, 0↑ 0↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 595406180 588532910 1.01
tpch_q02/duckdb:vortex-compact 1005851056 1029670482 0.98
tpch_q03/duckdb:vortex-compact 889509103 879029038 1.01
tpch_q04/duckdb:vortex-compact 623762171 508371860 1.23
tpch_q05/duckdb:vortex-compact 1017325469 1057026598 0.96
tpch_q06/duckdb:vortex-compact 807194528 718070133 1.12
tpch_q07/duckdb:vortex-compact 1097173094 1104597936 0.99
tpch_q08/duckdb:vortex-compact 1382845194 1477986563 0.94
tpch_q09/duckdb:vortex-compact 1508737180 1306659733 1.15
tpch_q10/duckdb:vortex-compact 1227985304 1050633297 1.17
tpch_q11/duckdb:vortex-compact 669353109 670040159 1.00
tpch_q12/duckdb:vortex-compact 673046346 666515642 1.01
tpch_q13/duckdb:vortex-compact 859833947 908154742 0.95
tpch_q14/duckdb:vortex-compact 886344051 799448524 1.11
tpch_q15/duckdb:vortex-compact 526281475 515502343 1.02
tpch_q16/duckdb:vortex-compact 463777579 454067392 1.02
tpch_q17/duckdb:vortex-compact 963248997 869317162 1.11
tpch_q18/duckdb:vortex-compact 785015796 690767073 1.14
tpch_q19/duckdb:vortex-compact 740291424 732932968 1.01
tpch_q20/duckdb:vortex-compact 1201902639 1224233911 0.98
tpch_q21/duckdb:vortex-compact 1755825957 1648497756 1.07
tpch_q22/duckdb:vortex-compact 655365938 604357749 1.08
duckdb / parquet (1.001x ➖, 0↑ 1↓)
name PR 414a56c (ns) base 042e4fb (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 838949906 876708191 0.96
tpch_q02/duckdb:parquet 1582653162 1689887887 0.94
tpch_q03/duckdb:parquet 1517123439 1639322735 0.93
tpch_q04/duckdb:parquet 995263576 1048554653 0.95
tpch_q05/duckdb:parquet 2209482338 2105029743 1.05
tpch_q06/duckdb:parquet 724452170 724702720 1.00
tpch_q07/duckdb:parquet 1844370087 1980434766 0.93
tpch_q08/duckdb:parquet 2461110517 2768194583 0.89
tpch_q09/duckdb:parquet 2603409788 2778815342 0.94
tpch_q10/duckdb:parquet 3180755371 3236157024 0.98
tpch_q11/duckdb:parquet 1129376586 1175098569 0.96
tpch_q12/duckdb:parquet 1115406175 1061478908 1.05
tpch_q13/duckdb:parquet 1212019984 1330005944 0.91
tpch_q14/duckdb:parquet 1249819509 1232551817 1.01
tpch_q15/duckdb:parquet 950003897 922868405 1.03
tpch_q16/duckdb:parquet 858536220 902015646 0.95
tpch_q17/duckdb:parquet 🚨 1641063972 1187703050 1.38
tpch_q18/duckdb:parquet 1589659425 1449514160 1.10
tpch_q19/duckdb:parquet 1448459014 1523816941 0.95
tpch_q20/duckdb:parquet 1887053872 1909754649 0.99
tpch_q21/duckdb:parquet 2005115945 1769806735 1.13
tpch_q22/duckdb:parquet 1184117600 1080569719 1.10
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-compact -5.7% +0.9% -6.6% +46.8% ➖ noise
1 datafusion:vortex-file-compressed -10.3% +0.9% -11.1% +44.8% ➖ noise
1 duckdb:vortex-compact +1.2% +0.9% +0.2% +34.4% ➖ noise
1 duckdb:vortex-file-compressed -15.5% +0.9% -16.2% +31.1% ➖ noise
2 datafusion:vortex-compact +13.9% +22.2% -6.8% +53.8% ➖ noise
2 datafusion:vortex-file-compressed -20.9% +22.2% -35.3% +35.4% ✅ faster
2 duckdb:vortex-compact -2.3% +22.2% -20.1% +34.9% ➖ noise
2 duckdb:vortex-file-compressed -2.0% +22.2% -19.8% +33.4% ➖ noise
3 datafusion:vortex-compact +19.7% +3.9% +15.2% +56.1% ➖ noise
3 datafusion:vortex-file-compressed -26.1% +3.9% -28.9% +44.0% ➖ noise
3 duckdb:vortex-compact +1.2% +3.9% -2.6% +38.8% ➖ noise
3 duckdb:vortex-file-compressed +0.8% +3.9% -3.0% +44.3% ➖ noise
4 datafusion:vortex-compact -14.8% -7.3% -8.1% +31.7% ➖ noise
4 datafusion:vortex-file-compressed -21.7% -7.3% -15.5% +30.4% ➖ noise
4 duckdb:vortex-compact +22.7% -7.3% +32.4% +30.0% 🚨 regression
4 duckdb:vortex-file-compressed -7.1% -7.3% +0.2% +30.0% ➖ noise
5 datafusion:vortex-compact -4.4% +4.4% -8.4% +30.0% ➖ noise
5 datafusion:vortex-file-compressed +7.6% +4.4% +3.1% +42.7% ➖ noise
5 duckdb:vortex-compact -3.8% +4.4% -7.8% +30.0% ➖ noise
5 duckdb:vortex-file-compressed -6.2% +4.4% -10.1% +30.3% ➖ noise
6 datafusion:vortex-compact -2.4% -1.1% -1.3% +30.0% ➖ noise
6 datafusion:vortex-file-compressed -8.6% -1.1% -7.6% +30.0% ➖ noise
6 duckdb:vortex-compact +12.4% -1.1% +13.7% +30.0% ➖ noise
6 duckdb:vortex-file-compressed -15.6% -1.1% -14.6% +30.0% ➖ noise
7 datafusion:vortex-compact -6.8% -6.8% +0.1% +30.0% ➖ noise
7 datafusion:vortex-file-compressed -2.4% -6.8% +4.7% +30.0% ➖ noise
7 duckdb:vortex-compact -0.7% -6.8% +6.6% +30.0% ➖ noise
7 duckdb:vortex-file-compressed -8.2% -6.8% -1.4% +30.0% ➖ noise
8 datafusion:vortex-compact -7.4% -12.5% +5.8% +30.0% ➖ noise
8 datafusion:vortex-file-compressed +3.2% -12.5% +17.9% +30.0% ➖ noise
8 duckdb:vortex-compact -6.4% -12.5% +7.0% +30.0% ➖ noise
8 duckdb:vortex-file-compressed -6.6% -12.5% +6.8% +30.0% ➖ noise
9 datafusion:vortex-compact -10.5% -8.4% -2.3% +30.0% ➖ noise
9 datafusion:vortex-file-compressed -8.9% -8.4% -0.6% +30.0% ➖ noise
9 duckdb:vortex-compact +15.5% -8.4% +26.0% +30.0% ➖ noise
9 duckdb:vortex-file-compressed -5.9% -8.4% +2.7% +30.0% ➖ noise
10 datafusion:vortex-compact -14.0% -3.0% -11.3% +30.0% ➖ noise
10 datafusion:vortex-file-compressed +5.1% -3.0% +8.4% +30.0% ➖ noise
10 duckdb:vortex-compact +16.9% -3.0% +20.5% +35.2% ➖ noise
10 duckdb:vortex-file-compressed -0.5% -3.0% +2.6% +30.0% ➖ noise
11 datafusion:vortex-compact -12.7% -2.6% -10.4% +30.0% ➖ noise
11 datafusion:vortex-file-compressed +6.1% -2.6% +8.9% +33.6% ➖ noise
11 duckdb:vortex-compact -0.1% -2.6% +2.6% +30.0% ➖ noise
11 duckdb:vortex-file-compressed +15.5% -2.6% +18.6% +30.0% ➖ noise
12 datafusion:vortex-compact +14.4% -1.4% +16.0% +30.0% ➖ noise
12 datafusion:vortex-file-compressed +15.6% -1.4% +17.2% +30.0% ➖ noise
12 duckdb:vortex-compact +1.0% -1.4% +2.4% +30.0% ➖ noise
12 duckdb:vortex-file-compressed -0.3% -1.4% +1.1% +30.0% ➖ noise
13 datafusion:vortex-compact -9.7% -6.0% -3.9% +30.0% ➖ noise
13 datafusion:vortex-file-compressed -6.7% -6.0% -0.8% +32.4% ➖ noise
13 duckdb:vortex-compact -5.3% -6.0% +0.7% +41.5% ➖ noise
13 duckdb:vortex-file-compressed +11.7% -6.0% +18.8% +44.0% ➖ noise
14 datafusion:vortex-compact +44.5% -2.8% +48.7% +30.0% 🚨 regression
14 datafusion:vortex-file-compressed +0.1% -2.8% +3.0% +30.0% ➖ noise
14 duckdb:vortex-compact +10.9% -2.8% +14.1% +30.0% ➖ noise
14 duckdb:vortex-file-compressed -9.8% -2.8% -7.2% +30.0% ➖ noise
15 datafusion:vortex-compact -5.3% +1.6% -6.8% +30.0% ➖ noise
15 datafusion:vortex-file-compressed -6.1% +1.6% -7.6% +30.0% ➖ noise
15 duckdb:vortex-compact +2.1% +1.6% +0.5% +30.0% ➖ noise
15 duckdb:vortex-file-compressed -12.8% +1.6% -14.1% +30.0% ➖ noise
16 datafusion:vortex-compact -31.9% -0.5% -31.5% +31.5% ✅ faster
16 datafusion:vortex-file-compressed -20.9% -0.5% -20.5% +30.0% ➖ noise
16 duckdb:vortex-compact +2.1% -0.5% +2.7% +30.0% ➖ noise
16 duckdb:vortex-file-compressed -1.9% -0.5% -1.4% +30.0% ➖ noise
17 datafusion:vortex-compact -5.7% +22.7% -23.2% +30.0% ✅ faster
17 datafusion:vortex-file-compressed -3.1% +22.7% -21.0% +30.0% ➖ noise
17 duckdb:vortex-compact +10.8% +22.7% -9.7% +30.0% ➖ noise
17 duckdb:vortex-file-compressed -11.1% +22.7% -27.6% +30.0% ✅ faster
18 datafusion:vortex-compact -9.3% +10.8% -18.2% +30.0% ➖ noise
18 datafusion:vortex-file-compressed -5.3% +10.8% -14.5% +30.0% ➖ noise
18 duckdb:vortex-compact +13.6% +10.8% +2.6% +30.0% ➖ noise
18 duckdb:vortex-file-compressed -1.3% +10.8% -10.9% +30.0% ➖ noise
19 datafusion:vortex-compact -10.6% -1.3% -9.5% +30.0% ➖ noise
19 datafusion:vortex-file-compressed +17.1% -1.3% +18.6% +30.0% ➖ noise
19 duckdb:vortex-compact +1.0% -1.3% +2.3% +30.0% ➖ noise
19 duckdb:vortex-file-compressed +5.7% -1.3% +7.0% +30.0% ➖ noise
20 datafusion:vortex-compact +26.7% -3.9% +31.9% +33.3% ➖ noise
20 datafusion:vortex-file-compressed +164.1% -3.9% +174.9% +49.0% 🚨 regression
20 duckdb:vortex-compact -1.8% -3.9% +2.2% +30.0% ➖ noise
20 duckdb:vortex-file-compressed -6.1% -3.9% -2.3% +30.0% ➖ noise
21 datafusion:vortex-compact +5.2% +7.1% -1.8% +30.0% ➖ noise
21 datafusion:vortex-file-compressed +24.1% +7.1% +15.8% +30.0% ➖ noise
21 duckdb:vortex-compact +6.5% +7.1% -0.6% +30.0% ➖ noise
21 duckdb:vortex-file-compressed -3.2% +7.1% -9.6% +30.0% ➖ noise
22 datafusion:vortex-compact +49.1% +18.2% +26.2% +45.5% ➖ noise
22 datafusion:vortex-file-compressed +223.2% +18.2% +173.5% +33.7% 🚨 regression
22 duckdb:vortex-compact +8.4% +18.2% -8.2% +30.0% ➖ noise
22 duckdb:vortex-file-compressed -13.8% +18.2% -27.1% +30.0% ✅ faster

@connortsui20 connortsui20 force-pushed the ct/refinement-types branch 3 times, most recently from b6c3e91 to 993ee11 Compare April 24, 2026 18:29
@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Apr 24, 2026

Merging this PR will degrade performance by 29.8%

⚡ 26 improved benchmarks
❌ 4 regressed benchmarks
✅ 1133 untouched benchmarks

⚠️ Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation pack_return_dtype[1000] 664.3 µs 942.7 µs -29.54%
Simulation pack_return_dtype[100] 70.5 µs 98.1 µs -28.13%
Simulation pack_return_dtype[500] 332.9 µs 474.1 µs -29.8%
Simulation pack_return_dtype[2000] 1.3 ms 1.9 ms -29.7%
Simulation take_search[(0.005, 0.05)] 167.4 µs 130.8 µs +27.97%
Simulation take_search[(0.005, 0.1)] 319.5 µs 246.5 µs +29.6%
Simulation take_search[(0.005, 1.0)] 3.1 ms 2.3 ms +31.27%
Simulation take_search[(0.005, 0.5)] 1.5 ms 1.2 ms +31.05%
Simulation take_search[(0.01, 0.05)] 178.5 µs 141.9 µs +25.77%
Simulation take_search[(0.01, 0.1)] 340.4 µs 267.4 µs +27.29%
Simulation take_search[(0.01, 0.5)] 1.6 ms 1.3 ms +28.59%
Simulation take_search[(0.1, 0.05)] 248.2 µs 211.6 µs +17.28%
Simulation take_search[(0.01, 1.0)] 3.3 ms 2.5 ms +28.78%
Simulation take_search[(0.1, 1.0)] 4.3 ms 3.5 ms +20.63%
Simulation take_search_chunked[(0.005, 0.05)] 199.9 µs 168.7 µs +18.47%
Simulation take_search[(0.1, 0.5)] 2.1 ms 1.8 ms +20.41%
Simulation take_search_chunked[(0.01, 0.05)] 212.6 µs 181.5 µs +17.16%
Simulation take_search_chunked[(0.005, 0.1)] 383.3 µs 321.2 µs +19.34%
Simulation take_search[(0.1, 0.1)] 457.8 µs 384.8 µs +18.97%
Simulation take_search_chunked[(0.005, 1.0)] 3.7 ms 3.1 ms +20.18%
... ... ... ... ... ...

ℹ️ Only the first 20 benchmarks are displayed. Go to the app to view all benchmarks.


Comparing ct/refinement-types (fe47467) with develop (7c2df2c)

Open in CodSpeed

@connortsui20 connortsui20 added the action/benchmark Trigger full benchmarks to run on this PR label Apr 24, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Apr 24, 2026
…truction

When a scalar fn is given a refinement-typed input that its `return_dtype`
rejects, the framework now transparently peels the refinement one level at a
time until the fn accepts the shape. This lands in `ScalarFnArray::try_new`
rather than as a reduce rule because `try_new` already calls `return_dtype`
and aborts on error — no ScalarFnArray tree is ever constructed to reduce
when a refinement input is rejected.

Algorithm (see `peel_refinements_and_resolve_dtype` for details):

  1. Compute `scalar_fn.return_dtype(arg_dtypes)` on the current children.
  2. If it succeeds, done. This covers both non-refinement inputs and fns
     that explicitly accept the refinement (category B / C / D from the plan
     — specialization path).
  3. If it errors, peel one level from every child whose dtype is an
     extension dtype with `is_refinement() == true`. Replace each with its
     storage array.
  4. If no children were peeled, return the original error.
  5. Otherwise, loop back to step 1 with the peeled children. Multi-level
     refinement chains (e.g. EvenDivisibleInt → DivisibleInt → U64) unwind
     one level per iteration.

Implements category A (refinement-transparent scalar fns): when a generic fn
doesn't know about a refinement, the refinement is lost and the fn operates
on the source storage. Refinement-preserving semantics (categories C and D)
are deferred; the TODO(connor) in `peel_refinements_and_resolve_dtype`
documents the intended direction — an inverted-control hook on the refinement
vtable itself, rather than per-fn specialization, which is blocked by the
vortex-array → downstream crate dependency direction.

Exposes `crate::extension::tests::{divisible_int, even_divisible_int}` as
`pub(crate)` so the scalar-fn tests can reuse them. No user-facing public
API changes beyond what the prior commit landed.

Four unit tests:

  - peels_single_level_refinement_through_strict_add: `Binary(Add)` over
    `DivisibleInt(U64)` succeeds and returns `U64`.
  - peels_two_level_refinement_chain_through_strict_add:
    `EvenDivisibleInt(DivisibleInt(U64))` unwinds both layers.
  - does_not_peel_non_refinement_extension: `Uuid` is not peeled; the fn's
    original error surfaces.
  - does_not_peel_when_scalar_fn_accepts_refinement: `Binary(Eq)` accepts
    extension inputs directly, so children retain their refinement dtypes.

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20
Copy link
Copy Markdown
Contributor Author

this is proving to be harder than expected to get right

Signed-off-by: Connor Tsui <connor.tsui20@gmail.com>
@connortsui20
Copy link
Copy Markdown
Contributor Author

This is more complicated than I initially thought, so I'm going to punt this to later

@connortsui20 connortsui20 deleted the ct/refinement-types branch April 30, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/feature A new feature

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants