Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[experiment] Layout Reader#8518

Draft
gatesn wants to merge 19 commits into
developfrom
ngates/layout27
Draft

[experiment] Layout Reader#8518
gatesn wants to merge 19 commits into
developfrom
ngates/layout27

Conversation

@gatesn

@gatesn gatesn commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

What feels like the 27th time I've explored this space, I think I might finally be getting somewhere.

This design pulls out essentially a scan engine. Layouts are actually just one way take serialized arrays and construct a ScanPlan, but in theory we could build a ScanPlan by hand or by any other means.

A ScanPlan node can accept push-down of various operations:

  • try_push_expr - apply an expression over the plan node. This is the closest to our current layout readers that can take an expression, intercept some of it, pass some down to a child, and so on.

This plan can then be used to answer different types of questions:

  1. prepare_read - evaluate a row range of the plan to produce a resulting array.
  2. prepare_evidence - construct zero or more evidence providers that contribute evidence to a predicate. For example, zone maps are an evidence provider that emits definitely_false, but not definitely_true results, and with a much lower cost than a filter evaluation.
  3. prepare_aggregate - return the requested aggregate partial state. This allows zone maps or other layouts to answer aggregate push-down queries.
  4. prepare_stats - return a set of approximate aggregate partials for the given aggregates.

[more description to come]

gatesn and others added 17 commits June 17, 2026 14:38
Signed-off-by: "Nicholas Gates" <[email protected]>
Signed-off-by: Nicholas Gates <[email protected]>
Checkpoint of in-progress V2 ScanNode work (segment scheduling driver,
scheduled segment source, scan scheduler) so agent fixes can be integrated
on a clean base. Reviewed/benchmarked state.

Signed-off-by: Nicholas Gates <[email protected]>
The scan2 StructScanNode single-field fast paths (single get_item and
single-referenced-field expressions) routed straight to the child scan
node, bypassing the parent struct's validity mask. Projecting one field
out of a nullable struct therefore returned the child's own values and
validity with no parent null mask applied, producing wrong nulls (and a
non-nullable result where a nullable one was expected).

Mirror the v1 struct reader's `array.mask(validity)` behaviour: add a
small MaskScanNode that reads an input value and the struct's
non-nullable boolean validity child and produces `mask(input, validity)`.
Wrap the single-field fast-path results in MaskScanNode when the struct
is nullable. The full push_struct path already threads validity through
StructValueScanNode, so it is unchanged.

Add a V1-vs-V2 differential test harness in vortex-file that scans the
same ScanRequest through both paths and asserts equality across flat
(nullable + non-nullable), chunked, dict-encoded, zoned, and nested
nullable-struct fixtures, plus ports of the v1 struct-null regression
tests (test_struct_layout_nulls / test_struct_layout_nested) to the V2
path. Before the fix the five nested-nullable-struct cases failed with
"expected i32?, actual i32"; after the fix all 18 cases pass.

Signed-off-by: Nicholas Gates <[email protected]>
Co-Authored-By: Claude Opus 4.8 <[email protected]>
…filter-first

Port of the V1 multi-conjunct filter behavior to the V2 PartitionWorkScheduler
driver: (1) sort filter conjuncts cheapest-first in PreparedScanNodeFile::try_new
so expensive residuals (e.g. FSST LIKE) run after cheap selective ones; (2) when
the demanded-row density falls below EXPR_EVAL_THRESHOLD (0.2), read the residual
predicate with selection=need so the leaf returns the compacted array and the
expression evaluates over only the demanded rows, scattering the verdict back via
Mask::intersect_by_rank. Adds V1-vs-V2 differential cases (low- and high-density
multi-conjunct) and a predicate_cost unit test.

Improves ClickBench multi-conjunct filters (q22 701->547ms, q23 now < V1). A
separate single-LIKE FSST amplification (q21) remains and is tracked separately.

Signed-off-by: Nicholas Gates <[email protected]>
Co-Authored-By: Claude Opus 4.8 <[email protected]>
V2 parallelizes the join probe, aggregate, and Arrow decode ACROSS
DataFusion partitions (V1 instead fans one partition into many split
tasks). When a query projected a heavily-encoded column (e.g. a single
RunEnd chunk for lineitem.l_orderkey), the opener fed split_aligned_row_range
coarse chunk boundaries, which collapsed every byte-range file_group onto
one partition and serialized the probe ~2-wide (TPC-H q4 ran 2.6x slower
than V1).

Feed split_aligned_row_range the scan's own morsel ranges instead: the
read-column chunk hints, or the 100k-row fallback when a read column is a
single chunk (mirroring PreparedScanNodeFile::splits). Each morsel lands
wholly in one partition, so the scan spreads across all of DataFusion's
byte-range file_groups with no collapse and no chunk straddling a partition
boundary. The assignment is contiguous per partition, so it is correct even
when the scan output must preserve order.

Also run the Vortex->Arrow conversion on the runtime CPU pool
(handle.spawn_cpu + buffered/buffer_unordered) so decode fans out within a
partition rather than running serially on the consumer poll thread.

TPC-H SF1 (datafusion-bench, VORTEX_SCAN_IMPL=v2): q4 goes from 2.6x slower
than V1 to faster than V1; overall ~parity.

Signed-off-by: Nicholas Gates <[email protected]>
Co-Authored-By: Claude Opus 4.8 <[email protected]>
…H_FULL_PLAN

With --show-metrics and VORTEX_BENCH_FULL_PLAN=1, print the DataFusion
EXPLAIN ANALYZE-style annotated plan (elapsed_compute / output_rows per
operator) to stderr, to localize where wall time goes across scan,
HashJoin build/probe, and aggregate.

Signed-off-by: Nicholas Gates <[email protected]>
Co-Authored-By: Claude Opus 4.8 <[email protected]>
Signed-off-by: Nicholas Gates <[email protected]>
Signed-off-by: "Nicholas Gates" <[email protected]>
Signed-off-by: "Nicholas Gates" <[email protected]>
Signed-off-by: "Nicholas Gates" <[email protected]>
Signed-off-by: "Nicholas Gates" <[email protected]>
Rename the runtime scan node API to ScanPlan and move the plan and segment primitives into vortex-scan. Layout v2 now expands directly through layout.new_scan_plan with a plan ScanRequest, and the docs describe the v2 path as the layout scan model.

Signed-off-by: "Nicholas Gates" <[email protected]>
Signed-off-by: "Nicholas Gates" <[email protected]>
@gatesn gatesn added the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 20, 2026
@github-actions github-actions Bot removed the action/benchmark-sql Trigger SQL benchmarks to run on this PR label Jun 20, 2026
@github-actions

github-actions Bot commented Jun 20, 2026

Copy link
Copy Markdown
Contributor

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done 9fc8a09 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions

Copy link
Copy Markdown
Contributor

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

Benchmark PolarSignals Profiling (base) failed! Check the workflow run for details.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: FineWeb NVMe (base)

Verdict: No clear signal (medium confidence)
Attributed Vortex impact: +9.8%
Engines: DataFusion No clear signal (-6.0%, medium confidence) · DuckDB Likely regression (+28.3%, medium confidence)
Vortex (geomean): 1.091x ➖
Parquet (geomean): 0.994x ➖
Shifts: Parquet (control) -0.6% · Median polish -0.7%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (0.925x ➖, 1↑ 2↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 5404901 5694178 0.95
fineweb_q01/datafusion:vortex-file-compressed 🚨 50863569 33320733 1.53
fineweb_q02/datafusion:vortex-file-compressed 🚨 59423841 37943344 1.57
fineweb_q03/datafusion:vortex-file-compressed 52716798 57888190 0.91
fineweb_q04/datafusion:vortex-file-compressed 290358939 280087297 1.04
fineweb_q05/datafusion:vortex-file-compressed 234395109 221703699 1.06
fineweb_q06/datafusion:vortex-file-compressed 48385960 51229964 0.94
fineweb_q07/datafusion:vortex-file-compressed 53986695 56618917 0.95
fineweb_q08/datafusion:vortex-file-compressed 🚀 5603360 23093633 0.24
datafusion / parquet (0.984x ➖, 0↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 6857893 6861560 1.00
fineweb_q01/datafusion:parquet 282124487 290810824 0.97
fineweb_q02/datafusion:parquet 287383588 302026866 0.95
fineweb_q03/datafusion:parquet 285197651 277370732 1.03
fineweb_q04/datafusion:parquet 302149616 305037336 0.99
fineweb_q05/datafusion:parquet 292482315 311634985 0.94
fineweb_q06/datafusion:parquet 283736194 290912729 0.98
fineweb_q07/datafusion:parquet 285449218 280418499 1.02
fineweb_q08/datafusion:parquet 275872424 279212898 0.99
duckdb / vortex-file-compressed (1.287x ❌, 2↑ 6↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 3426654 3307588 1.04
fineweb_q01/duckdb:vortex-file-compressed 🚨 100038175 33483440 2.99
fineweb_q02/duckdb:vortex-file-compressed 🚨 132733290 39530310 3.36
fineweb_q03/duckdb:vortex-file-compressed 🚀 72227665 110158717 0.66
fineweb_q04/duckdb:vortex-file-compressed 🚨 419522187 269373379 1.56
fineweb_q05/duckdb:vortex-file-compressed 🚨 333300524 213621596 1.56
fineweb_q06/duckdb:vortex-file-compressed 🚨 64227429 53125167 1.21
fineweb_q07/duckdb:vortex-file-compressed 🚨 79578607 55224021 1.44
fineweb_q08/duckdb:vortex-file-compressed 🚀 7444101 22167238 0.34
duckdb / parquet (1.003x ➖, 0↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 31827027 29892750 1.06
fineweb_q01/duckdb:parquet 83771489 87760425 0.95
fineweb_q02/duckdb:parquet 84613687 84542468 1.00
fineweb_q03/duckdb:parquet 315527508 315661569 1.00
fineweb_q04/duckdb:parquet 446810159 446746354 1.00
fineweb_q05/duckdb:parquet 415099417 413429433 1.00
fineweb_q06/duckdb:parquet 204243857 203550162 1.00
fineweb_q07/duckdb:parquet 215601914 216497495 1.00
fineweb_q08/duckdb:parquet 32885013 32534051 1.01

File Size Changes (3 files changed, -46.3% overall, 1↑ 2↓)
File Scale Format Base HEAD Change %
sample.vortex 1.0 vortex-file-compressed 1.43 GB 1.43 GB +1.16 MB +0.1%
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%
sample.vortex 1.0 vortex-compact 1.23 GB 0 B 1.23 GB -100.0%

Totals:

  • vortex-compact: 1.23 GB → 0 B (-100.0%)
  • vortex-file-compressed: 1.43 GB → 1.43 GB (+0.1%)

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on NVME (base)

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -3.8%
Engines: DataFusion No clear signal (-5.6%, low confidence) · DuckDB No clear signal (-0.7%, environment too noisy confidence)
Vortex (geomean): 0.968x ➖
Parquet (geomean): 1.008x ➖
Shifts: Parquet (control) +0.8% · Median polish -1.2%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (0.942x ➖, 6↑ 3↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 55331060 54770816 1.01
tpch_q02/datafusion:vortex-file-compressed 23740685 22492110 1.06
tpch_q03/datafusion:vortex-file-compressed 🚀 28315202 31553442 0.90
tpch_q04/datafusion:vortex-file-compressed 🚀 16757407 19220242 0.87
tpch_q05/datafusion:vortex-file-compressed 45124869 45752971 0.99
tpch_q06/datafusion:vortex-file-compressed 🚀 7285913 9928276 0.73
tpch_q07/datafusion:vortex-file-compressed 51266872 54778025 0.94
tpch_q08/datafusion:vortex-file-compressed 36255842 39404759 0.92
tpch_q09/datafusion:vortex-file-compressed 51693944 51711126 1.00
tpch_q10/datafusion:vortex-file-compressed 🚨 38815322 33387768 1.16
tpch_q11/datafusion:vortex-file-compressed 16675221 16412521 1.02
tpch_q12/datafusion:vortex-file-compressed 🚀 20559014 23146957 0.89
tpch_q13/datafusion:vortex-file-compressed 26799059 26800266 1.00
tpch_q14/datafusion:vortex-file-compressed 13593315 14836331 0.92
tpch_q15/datafusion:vortex-file-compressed 🚀 19435344 22543677 0.86
tpch_q16/datafusion:vortex-file-compressed 🚨 23063475 19935125 1.16
tpch_q17/datafusion:vortex-file-compressed 65796271 65710950 1.00
tpch_q18/datafusion:vortex-file-compressed 73854814 75942564 0.97
tpch_q19/datafusion:vortex-file-compressed 🚀 15480131 31340679 0.49
tpch_q20/datafusion:vortex-file-compressed 29397674 30176092 0.97
tpch_q21/datafusion:vortex-file-compressed 63877538 69269710 0.92
tpch_q22/datafusion:vortex-file-compressed 🚨 14787440 11882741 1.24
datafusion / parquet (1.014x ➖, 0↑ 2↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 🚨 135496647 121103941 1.12
tpch_q02/datafusion:parquet 60407439 61058279 0.99
tpch_q03/datafusion:parquet 79909892 82985506 0.96
tpch_q04/datafusion:parquet 46698269 46674214 1.00
tpch_q05/datafusion:parquet 92794808 89320383 1.04
tpch_q06/datafusion:parquet 41330032 41657848 0.99
tpch_q07/datafusion:parquet 102604048 99418307 1.03
tpch_q08/datafusion:parquet 90395238 92361589 0.98
tpch_q09/datafusion:parquet 128642338 122303440 1.05
tpch_q10/datafusion:parquet 118903293 116437152 1.02
tpch_q11/datafusion:parquet 40968482 40197237 1.02
tpch_q12/datafusion:parquet 80831727 79881579 1.01
tpch_q13/datafusion:parquet 196159160 196348006 1.00
tpch_q14/datafusion:parquet 44961989 44505435 1.01
tpch_q15/datafusion:parquet 60859977 57282198 1.06
tpch_q16/datafusion:parquet 42474210 42272510 1.00
tpch_q17/datafusion:parquet 128064911 140860071 0.91
tpch_q18/datafusion:parquet 152605165 152806670 1.00
tpch_q19/datafusion:parquet 🚨 70715533 62847677 1.13
tpch_q20/datafusion:parquet 67919332 69914436 0.97
tpch_q21/datafusion:parquet 145122157 138120688 1.05
tpch_q22/datafusion:parquet 42966668 43560326 0.99
datafusion / arrow (0.972x ➖, 1↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/datafusion:arrow 🚀 56323065 65227492 0.86
tpch_q02/datafusion:arrow 16369841 16909659 0.97
tpch_q03/datafusion:arrow 30689277 31760997 0.97
tpch_q04/datafusion:arrow 25894145 26196997 0.99
tpch_q05/datafusion:arrow 55493313 54922166 1.01
tpch_q06/datafusion:arrow 21752612 21812113 1.00
tpch_q07/datafusion:arrow 109260155 104763831 1.04
tpch_q08/datafusion:arrow 40740599 42732613 0.95
tpch_q09/datafusion:arrow 62533380 66108400 0.95
tpch_q10/datafusion:arrow 47935946 51811453 0.93
tpch_q11/datafusion:arrow 8887890 9518129 0.93
tpch_q12/datafusion:arrow 48482936 50050721 0.97
tpch_q13/datafusion:arrow 45058721 44699174 1.01
tpch_q14/datafusion:arrow 22523569 23568365 0.96
tpch_q15/datafusion:arrow 44578267 46633122 0.96
tpch_q16/datafusion:arrow 16361219 16804583 0.97
tpch_q17/datafusion:arrow 66181328 66797022 0.99
tpch_q18/datafusion:arrow 105473175 106830263 0.99
tpch_q19/datafusion:arrow 36064132 35967970 1.00
tpch_q20/datafusion:arrow 35731883 35331789 1.01
tpch_q21/datafusion:arrow 151170970 151627691 1.00
tpch_q22/datafusion:arrow 11729614 12246353 0.96
duckdb / vortex-file-compressed (0.996x ➖, 3↑ 3↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 🚀 27744125 31258259 0.89
tpch_q02/duckdb:vortex-file-compressed 24879614 25658982 0.97
tpch_q03/duckdb:vortex-file-compressed 30630249 33564505 0.91
tpch_q04/duckdb:vortex-file-compressed 27884596 28764631 0.97
tpch_q05/duckdb:vortex-file-compressed 35797498 38572486 0.93
tpch_q06/duckdb:vortex-file-compressed 🚀 6778726 7779770 0.87
tpch_q07/duckdb:vortex-file-compressed 33692426 36245890 0.93
tpch_q08/duckdb:vortex-file-compressed 40012129 41334817 0.97
tpch_q09/duckdb:vortex-file-compressed 57979296 58908119 0.98
tpch_q10/duckdb:vortex-file-compressed 🚨 65022230 42208825 1.54
tpch_q11/duckdb:vortex-file-compressed 16112359 15044140 1.07
tpch_q12/duckdb:vortex-file-compressed 🚀 19594880 23171796 0.85
tpch_q13/duckdb:vortex-file-compressed 🚨 55274189 41158419 1.34
tpch_q14/duckdb:vortex-file-compressed 20369458 22559355 0.90
tpch_q15/duckdb:vortex-file-compressed 16243114 16898176 0.96
tpch_q16/duckdb:vortex-file-compressed 29017773 29729729 0.98
tpch_q17/duckdb:vortex-file-compressed 25591646 24645830 1.04
tpch_q18/duckdb:vortex-file-compressed 50620699 54781183 0.92
tpch_q19/duckdb:vortex-file-compressed 26487000 29003265 0.91
tpch_q20/duckdb:vortex-file-compressed 32552696 32910586 0.99
tpch_q21/duckdb:vortex-file-compressed 102665068 102841791 1.00
tpch_q22/duckdb:vortex-file-compressed 🚨 20906460 17187594 1.22
duckdb / parquet (1.003x ➖, 2↑ 3↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 76516418 77030378 0.99
tpch_q02/duckdb:parquet 39232146 39908054 0.98
tpch_q03/duckdb:parquet 71497743 71010774 1.01
tpch_q04/duckdb:parquet 50655748 49850691 1.02
tpch_q05/duckdb:parquet 67983089 68215664 1.00
tpch_q06/duckdb:parquet 22306215 22358486 1.00
tpch_q07/duckdb:parquet 🚨 82155588 69548512 1.18
tpch_q08/duckdb:parquet 🚨 93739132 83448460 1.12
tpch_q09/duckdb:parquet 🚀 134155366 157037686 0.85
tpch_q10/duckdb:parquet 127767525 133635418 0.96
tpch_q11/duckdb:parquet 22220136 22320943 1.00
tpch_q12/duckdb:parquet 46966388 46481848 1.01
tpch_q13/duckdb:parquet 251426891 252866168 0.99
tpch_q14/duckdb:parquet 🚨 59097076 50890874 1.16
tpch_q15/duckdb:parquet 25751276 26035416 0.99
tpch_q16/duckdb:parquet 57914903 58329993 0.99
tpch_q17/duckdb:parquet 55246496 58214269 0.95
tpch_q18/duckdb:parquet 120164212 118718009 1.01
tpch_q19/duckdb:parquet 🚀 72797566 85544791 0.85
tpch_q20/duckdb:parquet 71175296 65629943 1.08
tpch_q21/duckdb:parquet 177383847 180972832 0.98
tpch_q22/duckdb:parquet 54058334 54517399 0.99

File Size Changes (17 files changed, -44.4% overall, 4↑ 13↓)
File Scale Format Base HEAD Change %
orders_0.vortex 1.0 vortex-file-compressed 35.20 MB 35.49 MB +305.55 KB +0.8%
customer_0.vortex 1.0 vortex-file-compressed 8.90 MB 8.91 MB +11.13 KB +0.1%
partsupp_0.vortex 1.0 vortex-file-compressed 23.69 MB 23.71 MB +15.80 KB +0.1%
lineitem_1.vortex 1.0 vortex-file-compressed 82.04 MB 82.06 MB +24.21 KB +0.0%
part_0.vortex 1.0 vortex-file-compressed 5.01 MB 5.01 MB 568 B -0.0%
lineitem_0.vortex 1.0 vortex-file-compressed 82.24 MB 82.22 MB 22.77 KB -0.0%
supplier_0.vortex 1.0 vortex-file-compressed 616.55 KB 614.65 KB 1.91 KB -0.3%
customer_0.vortex 1.0 vortex-compact 7.41 MB 0 B 7.41 MB -100.0%
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%
lineitem_0.vortex 1.0 vortex-compact 63.00 MB 0 B 63.00 MB -100.0%
lineitem_1.vortex 1.0 vortex-compact 63.03 MB 0 B 63.03 MB -100.0%
nation_0.vortex 1.0 vortex-compact 8.15 KB 0 B 8.15 KB -100.0%
orders_0.vortex 1.0 vortex-compact 31.73 MB 0 B 31.73 MB -100.0%
part_0.vortex 1.0 vortex-compact 3.47 MB 0 B 3.47 MB -100.0%
partsupp_0.vortex 1.0 vortex-compact 21.08 MB 0 B 21.08 MB -100.0%
region_0.vortex 1.0 vortex-compact 5.80 KB 0 B 5.80 KB -100.0%
supplier_0.vortex 1.0 vortex-compact 496.39 KB 0 B 496.39 KB -100.0%

Totals:

  • vortex-compact: 190.48 MB → 0 B (-100.0%)
  • vortex-file-compressed: 237.96 MB → 238.28 MB (+0.1%)

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-DS SF=1 on NVME (base)

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -0.2%
Engines: DataFusion No clear signal (-1.9%, low confidence) · DuckDB No clear signal (+1.6%, low confidence)
Vortex (geomean): 0.996x ➖
Parquet (geomean): 0.997x ➖
Shifts: Parquet (control) -0.3% · Median polish -0.5%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (0.982x ➖, 9↑ 7↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-file-compressed 26092359 25381593 1.03
tpcds_q02/datafusion:vortex-file-compressed 🚨 53559686 47170645 1.14
tpcds_q03/datafusion:vortex-file-compressed 14710025 15519136 0.95
tpcds_q04/datafusion:vortex-file-compressed 267566734 260081561 1.03
tpcds_q05/datafusion:vortex-file-compressed 44442981 44619573 1.00
tpcds_q06/datafusion:vortex-file-compressed 22563232 23063135 0.98
tpcds_q07/datafusion:vortex-file-compressed 39976237 39785018 1.00
tpcds_q08/datafusion:vortex-file-compressed 28819469 30194946 0.95
tpcds_q09/datafusion:vortex-file-compressed 33552479 30872642 1.09
tpcds_q10/datafusion:vortex-file-compressed 🚨 45967539 38395193 1.20
tpcds_q11/datafusion:vortex-file-compressed 🚨 143136152 128579060 1.11
tpcds_q12/datafusion:vortex-file-compressed 18082910 19231173 0.94
tpcds_q13/datafusion:vortex-file-compressed 🚀 39101801 47706224 0.82
tpcds_q14/datafusion:vortex-file-compressed 167620447 160520081 1.04
tpcds_q15/datafusion:vortex-file-compressed 24688128 26413725 0.93
tpcds_q16/datafusion:vortex-file-compressed 🚀 23004798 26279399 0.88
tpcds_q17/datafusion:vortex-file-compressed 61476682 61355292 1.00
tpcds_q18/datafusion:vortex-file-compressed 🚀 60246351 67266423 0.90
tpcds_q19/datafusion:vortex-file-compressed 21481331 21781847 0.99
tpcds_q20/datafusion:vortex-file-compressed 19308035 20607057 0.94
tpcds_q21/datafusion:vortex-file-compressed 35918497 35465957 1.01
tpcds_q22/datafusion:vortex-file-compressed 118370007 126877697 0.93
tpcds_q23/datafusion:vortex-file-compressed 146771055 148188712 0.99
tpcds_q24/datafusion:vortex-file-compressed 80384620 85464301 0.94
tpcds_q25/datafusion:vortex-file-compressed 62202454 64829164 0.96
tpcds_q26/datafusion:vortex-file-compressed 32400076 34003147 0.95
tpcds_q27/datafusion:vortex-file-compressed 96749463 94859392 1.02
tpcds_q28/datafusion:vortex-file-compressed 🚨 41601927 29704034 1.40
tpcds_q29/datafusion:vortex-file-compressed 57394844 60477109 0.95
tpcds_q30/datafusion:vortex-file-compressed 🚨 29420433 23644848 1.24
tpcds_q31/datafusion:vortex-file-compressed 69171982 73240338 0.94
tpcds_q32/datafusion:vortex-file-compressed 🚀 16345233 19341710 0.85
tpcds_q33/datafusion:vortex-file-compressed 28285761 29109705 0.97
tpcds_q34/datafusion:vortex-file-compressed 24548596 26159547 0.94
tpcds_q35/datafusion:vortex-file-compressed 48063887 44569295 1.08
tpcds_q36/datafusion:vortex-file-compressed 60152090 58243006 1.03
tpcds_q37/datafusion:vortex-file-compressed 🚀 17852386 20611117 0.87
tpcds_q38/datafusion:vortex-file-compressed 39812158 41955523 0.95
tpcds_q39/datafusion:vortex-file-compressed 105318250 107297510 0.98
tpcds_q40/datafusion:vortex-file-compressed 28460997 30913469 0.92
tpcds_q41/datafusion:vortex-file-compressed 19198437 20159827 0.95
tpcds_q42/datafusion:vortex-file-compressed 13450280 13802950 0.97
tpcds_q43/datafusion:vortex-file-compressed 19194751 18324094 1.05
tpcds_q44/datafusion:vortex-file-compressed 28579246 29109442 0.98
tpcds_q45/datafusion:vortex-file-compressed 26253475 27451530 0.96
tpcds_q46/datafusion:vortex-file-compressed 33153411 36470499 0.91
tpcds_q47/datafusion:vortex-file-compressed 135624532 132365417 1.02
tpcds_q48/datafusion:vortex-file-compressed 34081387 35277652 0.97
tpcds_q49/datafusion:vortex-file-compressed 57634913 58267241 0.99
tpcds_q50/datafusion:vortex-file-compressed 38135503 39355559 0.97
tpcds_q51/datafusion:vortex-file-compressed 90672789 92353930 0.98
tpcds_q52/datafusion:vortex-file-compressed 13906388 14133805 0.98
tpcds_q53/datafusion:vortex-file-compressed 🚀 21962983 24867174 0.88
tpcds_q54/datafusion:vortex-file-compressed 32557777 34115008 0.95
tpcds_q55/datafusion:vortex-file-compressed 12778076 13648891 0.94
tpcds_q56/datafusion:vortex-file-compressed 28772706 30178999 0.95
tpcds_q57/datafusion:vortex-file-compressed 104275602 108080081 0.96
tpcds_q58/datafusion:vortex-file-compressed 53100073 56104446 0.95
tpcds_q59/datafusion:vortex-file-compressed 🚨 77511065 57998610 1.34
tpcds_q60/datafusion:vortex-file-compressed 28290834 29073559 0.97
tpcds_q61/datafusion:vortex-file-compressed 39943914 40707989 0.98
tpcds_q62/datafusion:vortex-file-compressed 20161341 22374075 0.90
tpcds_q63/datafusion:vortex-file-compressed 22179194 22611820 0.98
tpcds_q64/datafusion:vortex-file-compressed 384232016 377869950 1.02
tpcds_q65/datafusion:vortex-file-compressed 51894481 50253505 1.03
tpcds_q66/datafusion:vortex-file-compressed 71946069 71506751 1.01
tpcds_q67/datafusion:vortex-file-compressed 155231883 147942688 1.05
tpcds_q68/datafusion:vortex-file-compressed 31558083 34154201 0.92
tpcds_q69/datafusion:vortex-file-compressed 🚨 40899026 36301437 1.13
tpcds_q70/datafusion:vortex-file-compressed 103582274 97697892 1.06
tpcds_q71/datafusion:vortex-file-compressed 23526623 23524628 1.00
tpcds_q72/datafusion:vortex-file-compressed 2081632317 2044186805 1.02
tpcds_q73/datafusion:vortex-file-compressed 23242012 24124741 0.96
tpcds_q74/datafusion:vortex-file-compressed 82737843 76873707 1.08
tpcds_q75/datafusion:vortex-file-compressed 107897712 109484927 0.99
tpcds_q76/datafusion:vortex-file-compressed 26914595 26919040 1.00
tpcds_q77/datafusion:vortex-file-compressed 35392231 37005770 0.96
tpcds_q78/datafusion:vortex-file-compressed 109272456 114950961 0.95
tpcds_q79/datafusion:vortex-file-compressed 28578339 29530410 0.97
tpcds_q80/datafusion:vortex-file-compressed 87117753 88800658 0.98
tpcds_q81/datafusion:vortex-file-compressed 2558574 24658609 1.04
tpcds_q82/datafusion:vortex-file-compressed 🚀 18903518 21675039 0.87
tpcds_q83/datafusion:vortex-file-compressed 34800352 36529559 0.95
tpcds_q84/datafusion:vortex-file-compressed 13916834 13257148 1.05
tpcds_q85/datafusion:vortex-file-compressed 🚀 83728798 93782060 0.89
tpcds_q86/datafusion:vortex-file-compressed 14317402 15089623 0.95
tpcds_q87/datafusion:vortex-file-compressed 40101546 42547862 0.94
tpcds_q88/datafusion:vortex-file-compressed 59427231 55717289 1.07
tpcds_q89/datafusion:vortex-file-compressed 24290692 26156775 0.93
tpcds_q90/datafusion:vortex-file-compressed 13115734 14076636 0.93
tpcds_q91/datafusion:vortex-file-compressed 17586983 18539392 0.95
tpcds_q92/datafusion:vortex-file-compressed 15281182 16186986 0.94
tpcds_q93/datafusion:vortex-file-compressed 31260656 32573635 0.96
tpcds_q94/datafusion:vortex-file-compressed 20350562 22042872 0.92
tpcds_q95/datafusion:vortex-file-compressed 54695766 59960290 0.91
tpcds_q96/datafusion:vortex-file-compressed 12431313 13356360 0.93
tpcds_q97/datafusion:vortex-file-compressed 28865210 29873981 0.97
tpcds_q98/datafusion:vortex-file-compressed 22564878 23421818 0.96
tpcds_q99/datafusion:vortex-file-compressed 🚀 26975899 31811768 0.85
datafusion / parquet (1.000x ➖, 0↑ 2↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpcds_q01/datafusion:parquet 24190271 23546055 1.03
tpcds_q02/datafusion:parquet 41889726 43542851 0.96
tpcds_q03/datafusion:parquet 12891501 13828532 0.93
tpcds_q04/datafusion:parquet 283424665 292717748 0.97
tpcds_q05/datafusion:parquet 47378846 45395591 1.04
tpcds_q06/datafusion:parquet 23442347 22925010 1.02
tpcds_q07/datafusion:parquet 76443342 77610191 0.98
tpcds_q08/datafusion:parquet 29874720 28634718 1.04
tpcds_q09/datafusion:parquet 40672416 38396812 1.06
tpcds_q10/datafusion:parquet 72992406 70168162 1.04
tpcds_q11/datafusion:parquet 149594539 147418118 1.01
tpcds_q12/datafusion:parquet 17929493 18028906 0.99
tpcds_q13/datafusion:parquet 74809636 73108301 1.02
tpcds_q14/datafusion:parquet 160650658 159951956 1.00
tpcds_q15/datafusion:parquet 21614499 21600928 1.00
tpcds_q16/datafusion:parquet 27715247 27920903 0.99
tpcds_q17/datafusion:parquet 59721552 63840853 0.94
tpcds_q18/datafusion:parquet 107759568 103874834 1.04
tpcds_q19/datafusion:parquet 22804063 22712050 1.00
tpcds_q20/datafusion:parquet 17161652 16574615 1.04
tpcds_q21/datafusion:parquet 19047144 18616427 1.02
tpcds_q22/datafusion:parquet 153624148 153415514 1.00
tpcds_q23/datafusion:parquet 152848364 149775222 1.02
tpcds_q24/datafusion:parquet 87550748 89673543 0.98
tpcds_q25/datafusion:parquet 63533932 61060433 1.04
tpcds_q26/datafusion:parquet 67748681 67260998 1.01
tpcds_q27/datafusion:parquet 136783618 141471421 0.97
tpcds_q28/datafusion:parquet 46462987 43004313 1.08
tpcds_q29/datafusion:parquet 64421126 63401770 1.02
tpcds_q30/datafusion:parquet 33004261 33505259 0.99
tpcds_q31/datafusion:parquet 65600511 64547069 1.02
tpcds_q32/datafusion:parquet 16126747 15893755 1.01
tpcds_q33/datafusion:parquet 26868408 26547685 1.01
tpcds_q34/datafusion:parquet 22297266 21194805 1.05
tpcds_q35/datafusion:parquet 69351593 75007045 0.92
tpcds_q36/datafusion:parquet 58156296 57391309 1.01
tpcds_q37/datafusion:parquet 19246519 19215161 1.00
tpcds_q38/datafusion:parquet 40900596 43070469 0.95
tpcds_q39/datafusion:parquet 73288285 74458921 0.98
tpcds_q40/datafusion:parquet 22446833 23448593 0.96
tpcds_q41/datafusion:parquet 14028769 14397010 0.97
tpcds_q42/datafusion:parquet 12314638 12112773 1.02
tpcds_q43/datafusion:parquet 17591752 16854003 1.04
tpcds_q44/datafusion:parquet 32150423 34109463 0.94
tpcds_q45/datafusion:parquet 27850274 28822235 0.97
tpcds_q46/datafusion:parquet 32524820 33539149 0.97
tpcds_q47/datafusion:parquet 127547806 129520477 0.98
tpcds_q48/datafusion:parquet 68825764 70468815 0.98
tpcds_q49/datafusion:parquet 58956156 55809734 1.06
tpcds_q50/datafusion:parquet 44003007 43491017 1.01
tpcds_q51/datafusion:parquet 87555072 90104373 0.97
tpcds_q52/datafusion:parquet 11998194 13293335 0.90
tpcds_q53/datafusion:parquet 18528142 17732405 1.04
tpcds_q54/datafusion:parquet 33349803 32650498 1.02
tpcds_q55/datafusion:parquet 12080183 11610742 1.04
tpcds_q56/datafusion:parquet 28714363 28196838 1.02
tpcds_q57/datafusion:parquet 95757346 103029552 0.93
tpcds_q58/datafusion:parquet 56286496 54521289 1.03
tpcds_q59/datafusion:parquet 63865210 63496966 1.01
tpcds_q60/datafusion:parquet 28088971 28535511 0.98
tpcds_q61/datafusion:parquet 42500643 43607298 0.97
tpcds_q62/datafusion:parquet 25724527 23643949 1.09
tpcds_q63/datafusion:parquet 17663966 17492004 1.01
tpcds_q64/datafusion:parquet 294103119 302991895 0.97
tpcds_q65/datafusion:parquet 36998848 37558783 0.99
tpcds_q66/datafusion:parquet 🚨 71389938 64419204 1.11
tpcds_q67/datafusion:parquet 149552941 158606799 0.94
tpcds_q68/datafusion:parquet 31512522 31428218 1.00
tpcds_q69/datafusion:parquet 65292892 64911610 1.01
tpcds_q70/datafusion:parquet 32102423 32138382 1.00
tpcds_q71/datafusion:parquet 22169661 22635374 0.98
tpcds_q72/datafusion:parquet 592839648 584766068 1.01
tpcds_q73/datafusion:parquet 20280691 20120546 1.01
tpcds_q74/datafusion:parquet 83676044 82501147 1.01
tpcds_q75/datafusion:parquet 104547392 105526541 0.99
tpcds_q76/datafusion:parquet 32497288 30269482 1.07
tpcds_q77/datafusion:parquet 38830387 39808567 0.98
tpcds_q78/datafusion:parquet 108382524 112283273 0.97
tpcds_q79/datafusion:parquet 27026083 26322047 1.03
tpcds_q80/datafusion:parquet 74991452 77533117 0.97
tpcds_q81/datafusion:parquet 29776340 30472541 0.98
tpcds_q82/datafusion:parquet 18614724 18798534 0.99
tpcds_q83/datafusion:parquet 39573821 42265851 0.94
tpcds_q84/datafusion:parquet 39990709 39391304 1.02
tpcds_q85/datafusion:parquet 141635820 146902998 0.96
tpcds_q86/datafusion:parquet 15449119 15463728 1.00
tpcds_q87/datafusion:parquet 44160627 44765011 0.99
tpcds_q88/datafusion:parquet 60328634 59382062 1.02
tpcds_q89/datafusion:parquet 21253790 21815002 0.97
tpcds_q90/datafusion:parquet 13544649 14242498 0.95
tpcds_q91/datafusion:parquet 55981774 57214136 0.98
tpcds_q92/datafusion:parquet 18239359 17782490 1.03
tpcds_q93/datafusion:parquet 30739915 30532188 1.01
tpcds_q94/datafusion:parquet 19758376 21078600 0.94
tpcds_q95/datafusion:parquet 59034476 57569387 1.03
tpcds_q96/datafusion:parquet 11574410 11371140 1.02
tpcds_q97/datafusion:parquet 30762509 30700716 1.00
tpcds_q98/datafusion:parquet 21205672 21984737 0.96
tpcds_q99/datafusion:parquet 🚨 35391600 29912442 1.18
duckdb / vortex-file-compressed (1.010x ➖, 9↑ 19↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-file-compressed 🚨 28626947 25105646 1.14
tpcds_q02/duckdb:vortex-file-compressed 🚀 24429874 36451955 0.67
tpcds_q03/duckdb:vortex-file-compressed 🚨 19186271 15135542 1.27
tpcds_q04/duckdb:vortex-file-compressed 🚨 110635140 92493056 1.20
tpcds_q05/duckdb:vortex-file-compressed 35355133 33745724 1.05
tpcds_q06/duckdb:vortex-file-compressed 34774021 33582414 1.04
tpcds_q07/duckdb:vortex-file-compressed 🚨 27030685 24498271 1.10
tpcds_q08/duckdb:vortex-file-compressed 26306915 28198192 0.93
tpcds_q09/duckdb:vortex-file-compressed 17649737 17202798 1.03
tpcds_q10/duckdb:vortex-file-compressed 39179987 38768905 1.01
tpcds_q11/duckdb:vortex-file-compressed 🚨 82374394 64758042 1.27
tpcds_q12/duckdb:vortex-file-compressed 16272926 15894834 1.02
tpcds_q13/duckdb:vortex-file-compressed 32343819 33570215 0.96
tpcds_q14/duckdb:vortex-file-compressed 104917056 99838062 1.05
tpcds_q15/duckdb:vortex-file-compressed 28824700 28117556 1.03
tpcds_q16/duckdb:vortex-file-compressed 25018051 26610294 0.94
tpcds_q17/duckdb:vortex-file-compressed 48545159 48525063 1.00
tpcds_q18/duckdb:vortex-file-compressed 39031018 38646117 1.01
tpcds_q19/duckdb:vortex-file-compressed 34140064 33810706 1.01
tpcds_q20/duckdb:vortex-file-compressed 17240676 16442429 1.05
tpcds_q21/duckdb:vortex-file-compressed 🚀 13310172 16492478 0.81
tpcds_q22/duckdb:vortex-file-compressed 🚀 69370595 77734605 0.89
tpcds_q23/duckdb:vortex-file-compressed 90692529 95722419 0.95
tpcds_q24/duckdb:vortex-file-compressed 45834613 49260137 0.93
tpcds_q25/duckdb:vortex-file-compressed 42396047 41884944 1.01
tpcds_q26/duckdb:vortex-file-compressed 20534191 20853592 0.98
tpcds_q27/duckdb:vortex-file-compressed 🚨 30083627 26697021 1.13
tpcds_q28/duckdb:vortex-file-compressed 🚨 17170361 11614056 1.48
tpcds_q29/duckdb:vortex-file-compressed 46400946 44716274 1.04
tpcds_q30/duckdb:vortex-file-compressed 🚨 34265210 26120814 1.31
tpcds_q31/duckdb:vortex-file-compressed 29853558 29622528 1.01
tpcds_q32/duckdb:vortex-file-compressed 🚨 15002940 12890333 1.16
tpcds_q33/duckdb:vortex-file-compressed 24722597 24707318 1.00
tpcds_q34/duckdb:vortex-file-compressed 27124262 25037283 1.08
tpcds_q35/duckdb:vortex-file-compressed 64449724 65625674 0.98
tpcds_q36/duckdb:vortex-file-compressed 23594001 24549886 0.96
tpcds_q37/duckdb:vortex-file-compressed 18983786 19051539 1.00
tpcds_q38/duckdb:vortex-file-compressed 39420900 36975495 1.07
tpcds_q39/duckdb:vortex-file-compressed 🚀 29510849 38076346 0.78
tpcds_q40/duckdb:vortex-file-compressed 18487001 20243339 0.91
tpcds_q41/duckdb:vortex-file-compressed 12052236 12411821 0.97
tpcds_q42/duckdb:vortex-file-compressed 13777673 13220474 1.04
tpcds_q43/duckdb:vortex-file-compressed 🚀 16217229 20974141 0.77
tpcds_q44/duckdb:vortex-file-compressed 22208349 21590493 1.03
tpcds_q45/duckdb:vortex-file-compressed 30863757 31214170 0.99
tpcds_q46/duckdb:vortex-file-compressed 33048878 30900279 1.07
tpcds_q47/duckdb:vortex-file-compressed 51451653 51590914 1.00
tpcds_q48/duckdb:vortex-file-compressed 29843207 28988683 1.03
tpcds_q49/duckdb:vortex-file-compressed 🚀 34100473 41292053 0.83
tpcds_q50/duckdb:vortex-file-compressed 27888678 27639838 1.01
tpcds_q51/duckdb:vortex-file-compressed 106833114 106140612 1.01
tpcds_q52/duckdb:vortex-file-compressed 14171113 13246786 1.07
tpcds_q53/duckdb:vortex-file-compressed 22296864 22893736 0.97
tpcds_q54/duckdb:vortex-file-compressed 30940068 29553136 1.05
tpcds_q55/duckdb:vortex-file-compressed 🚨 14540157 12426256 1.17
tpcds_q56/duckdb:vortex-file-compressed 🚨 28478749 25768296 1.11
tpcds_q57/duckdb:vortex-file-compressed 38758345 42399884 0.91
tpcds_q58/duckdb:vortex-file-compressed 30304489 31151815 0.97
tpcds_q59/duckdb:vortex-file-compressed 🚀 39030538 56473079 0.69
tpcds_q60/duckdb:vortex-file-compressed 🚨 29567632 26284185 1.12
tpcds_q61/duckdb:vortex-file-compressed 32114691 31143739 1.03
tpcds_q62/duckdb:vortex-file-compressed 14844208 15395412 0.96
tpcds_q63/duckdb:vortex-file-compressed 20394494 21148526 0.96
tpcds_q64/duckdb:vortex-file-compressed 97804390 96680455 1.01
tpcds_q65/duckdb:vortex-file-compressed 23218559 22130913 1.05
tpcds_q66/duckdb:vortex-file-compressed 29536415 29224302 1.01
tpcds_q67/duckdb:vortex-file-compressed 137918985 139827356 0.99
tpcds_q68/duckdb:vortex-file-compressed 32905388 30407173 1.08
tpcds_q69/duckdb:vortex-file-compressed 42172379 41597721 1.01
tpcds_q70/duckdb:vortex-file-compressed 🚀 29193578 37150692 0.79
tpcds_q71/duckdb:vortex-file-compressed 🚨 23499856 21196688 1.11
tpcds_q72/duckdb:vortex-file-compressed 161979231 177820279 0.91
tpcds_q73/duckdb:vortex-file-compressed 26547550 25233162 1.05
tpcds_q74/duckdb:vortex-file-compressed 🚨 52896632 43165406 1.23
tpcds_q75/duckdb:vortex-file-compressed 53090380 53433162 0.99
tpcds_q76/duckdb:vortex-file-compressed 21584253 21352739 1.01
tpcds_q77/duckdb:vortex-file-compressed 🚨 25834923 23343885 1.11
tpcds_q78/duckdb:vortex-file-compressed 76780613 82910838 0.93
tpcds_q79/duckdb:vortex-file-compressed 24982606 24853413 1.01
tpcds_q80/duckdb:vortex-file-compressed 47244361 47402526 1.00
tpcds_q81/duckdb:vortex-file-compressed 🚨 34254640 30284172 1.13
tpcds_q82/duckdb:vortex-file-compressed 45410566 46245350 0.98
tpcds_q83/duckdb:vortex-file-compressed 29647663 30736353 0.96
tpcds_q84/duckdb:vortex-file-compressed 🚨 20013057 16580664 1.21
tpcds_q85/duckdb:vortex-file-compressed 44992130 45961320 0.98
tpcds_q86/duckdb:vortex-file-compressed 16600092 16471086 1.01
tpcds_q87/duckdb:vortex-file-compressed 40648148 40517896 1.00
tpcds_q88/duckdb:vortex-file-compressed 🚨 60424010 52478088 1.15
tpcds_q89/duckdb:vortex-file-compressed 23624252 24372901 0.97
tpcds_q90/duckdb:vortex-file-compressed 🚨 11685037 10538296 1.11
tpcds_q91/duckdb:vortex-file-compressed 22888792 22779246 1.00
tpcds_q92/duckdb:vortex-file-compressed 🚀 15665653 17878266 0.88
tpcds_q93/duckdb:vortex-file-compressed 30726714 30509097 1.01
tpcds_q94/duckdb:vortex-file-compressed 22369627 22079503 1.01
tpcds_q95/duckdb:vortex-file-compressed 144874564 147629873 0.98
tpcds_q96/duckdb:vortex-file-compressed 13231790 12503899 1.06
tpcds_q97/duckdb:vortex-file-compressed 40074033 39837005 1.01
tpcds_q98/duckdb:vortex-file-compressed 19086327 19522725 0.98
tpcds_q99/duckdb:vortex-file-compressed 21129211 22212114 0.95
duckdb / parquet (0.994x ➖, 0↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpcds_q01/duckdb:parquet 29695091 28718404 1.03
tpcds_q02/duckdb:parquet 24150153 24458207 0.99
tpcds_q03/duckdb:parquet 12630339 13242728 0.95
tpcds_q04/duckdb:parquet 167317696 172498085 0.97
tpcds_q05/duckdb:parquet 31824788 32153618 0.99
tpcds_q06/duckdb:parquet 34434459 33524340 1.03
tpcds_q07/duckdb:parquet 24396577 24022225 1.02
tpcds_q08/duckdb:parquet 29982001 30009998 1.00
tpcds_q09/duckdb:parquet 44659318 44140521 1.01
tpcds_q10/duckdb:parquet 38539712 38542452 1.00
tpcds_q11/duckdb:parquet 91847899 96895904 0.95
tpcds_q12/duckdb:parquet 17152190 17309197 0.99
tpcds_q13/duckdb:parquet 34816147 35322193 0.99
tpcds_q14/duckdb:parquet 98108577 104738534 0.94
tpcds_q15/duckdb:parquet 30597438 31102418 0.98
tpcds_q16/duckdb:parquet 22658374 22826721 0.99
tpcds_q17/duckdb:parquet 41049587 41154791 1.00
tpcds_q18/duckdb:parquet 47235583 48073311 0.98
tpcds_q19/duckdb:parquet 31125012 31811596 0.98
tpcds_q20/duckdb:parquet 18861799 18665528 1.01
tpcds_q21/duckdb:parquet 11495475 11428910 1.01
tpcds_q22/duckdb:parquet 68323914 70908518 0.96
tpcds_q23/duckdb:parquet 81946220 80732100 1.02
tpcds_q24/duckdb:parquet 46302405 47408589 0.98
tpcds_q25/duckdb:parquet 35849561 36406377 0.98
tpcds_q26/duckdb:parquet 39393128 39894465 0.99
tpcds_q27/duckdb:parquet 53444422 53296636 1.00
tpcds_q28/duckdb:parquet 42994831 43278088 0.99
tpcds_q29/duckdb:parquet 36752856 38496310 0.95
tpcds_q30/duckdb:parquet 37505438 38177705 0.98
tpcds_q31/duckdb:parquet 28270944 28458849 0.99
tpcds_q32/duckdb:parquet 12505838 12560486 1.00
tpcds_q33/duckdb:parquet 23978950 22880260 1.05
tpcds_q34/duckdb:parquet 23542343 22431518 1.05
tpcds_q35/duckdb:parquet 61203101 62277132 0.98
tpcds_q36/duckdb:parquet 22873973 22931940 1.00
tpcds_q37/duckdb:parquet 14027126 14154943 0.99
tpcds_q38/duckdb:parquet 36547767 37537356 0.97
tpcds_q39/duckdb:parquet 31939876 32518921 0.98
tpcds_q40/duckdb:parquet 18850672 19447575 0.97
tpcds_q41/duckdb:parquet 8876213 8765555 1.01
tpcds_q42/duckdb:parquet 13007323 12389059 1.05
tpcds_q43/duckdb:parquet 17959351 18135083 0.99
tpcds_q44/duckdb:parquet 25876241 26059759 0.99
tpcds_q45/duckdb:parquet 29307225 28653044 1.02
tpcds_q46/duckdb:parquet 47878487 47276851 1.01
tpcds_q47/duckdb:parquet 50570539 49737001 1.02
tpcds_q48/duckdb:parquet 32163831 32678298 0.98
tpcds_q49/duckdb:parquet 29335865 29420992 1.00
tpcds_q50/duckdb:parquet 26044547 26281812 0.99
tpcds_q51/duckdb:parquet 104012221 105454206 0.99
tpcds_q52/duckdb:parquet 12834085 12701501 1.01
tpcds_q53/duckdb:parquet 18834494 19267131 0.98
tpcds_q54/duckdb:parquet 28546835 28294788 1.01
tpcds_q55/duckdb:parquet 12507444 12453346 1.00
tpcds_q56/duckdb:parquet 23482933 24208090 0.97
tpcds_q57/duckdb:parquet 38364303 38172480 1.01
tpcds_q58/duckdb:parquet 25851348 25450449 1.02
tpcds_q59/duckdb:parquet 36682995 36692165 1.00
tpcds_q60/duckdb:parquet 25556927 24839479 1.03
tpcds_q61/duckdb:parquet 33684391 33760316 1.00
tpcds_q62/duckdb:parquet 12608286 12545020 1.01
tpcds_q63/duckdb:parquet 17475379 17658908 0.99
tpcds_q64/duckdb:parquet 75836997 74987686 1.01
tpcds_q65/duckdb:parquet 22824783 22562464 1.01
tpcds_q66/duckdb:parquet 30485700 29499468 1.03
tpcds_q67/duckdb:parquet 135044012 138353450 0.98
tpcds_q68/duckdb:parquet 38147022 38768418 0.98
tpcds_q69/duckdb:parquet 38587515 38317929 1.01
tpcds_q70/duckdb:parquet 22277353 22964312 0.97
tpcds_q71/duckdb:parquet 22470065 22790566 0.99
tpcds_q72/duckdb:parquet 168341625 165714548 1.02
tpcds_q73/duckdb:parquet 19802157 20578452 0.96
tpcds_q74/duckdb:parquet 130617815 128259538 1.02
tpcds_q75/duckdb:parquet 57569008 58981730 0.98
tpcds_q76/duckdb:parquet 22639878 22035377 1.03
tpcds_q77/duckdb:parquet 24971489 25671724 0.97
tpcds_q78/duckdb:parquet 77142601 77706889 0.99
tpcds_q79/duckdb:parquet 30274353 30520127 0.99
tpcds_q80/duckdb:parquet 43468942 44026862 0.99
tpcds_q81/duckdb:parquet 35274875 35481407 0.99
tpcds_q82/duckdb:parquet 16269839 16694371 0.97
tpcds_q83/duckdb:parquet 18061420 18373571 0.98
tpcds_q84/duckdb:parquet 20482277 21429614 0.96
tpcds_q85/duckdb:parquet 42117730 43066866 0.98
tpcds_q86/duckdb:parquet 13674104 13727852 1.00
tpcds_q87/duckdb:parquet 39200803 39994916 0.98
tpcds_q88/duckdb:parquet 53159754 53328523 1.00
tpcds_q89/duckdb:parquet 21892665 21921438 1.00
tpcds_q90/duckdb:parquet 8431714 8483478 0.99
tpcds_q91/duckdb:parquet 25856184 25447430 1.02
tpcds_q92/duckdb:parquet 12922380 13416470 0.96
tpcds_q93/duckdb:parquet 31783077 32168014 0.99
tpcds_q94/duckdb:parquet 18075908 18083625 1.00
tpcds_q95/duckdb:parquet 145229548 148499068 0.98
tpcds_q96/duckdb:parquet 10801877 10691831 1.01
tpcds_q97/duckdb:parquet 38949290 39207573 0.99
tpcds_q98/duckdb:parquet 23591414 23303687 1.01
tpcds_q99/duckdb:parquet 20224569 20018052 1.01

File Size Changes (30 files changed, -43.4% overall, 3↑ 27↓)
File Scale Format Base HEAD Change %
time_dim.vortex 1.0 vortex-file-compressed 379.30 KB 433.52 KB +54.21 KB +14.3%
catalog_page.vortex 1.0 vortex-file-compressed 565.92 KB 567.96 KB +2.04 KB +0.4%
customer.vortex 1.0 vortex-file-compressed 4.27 MB 4.27 MB +1.52 KB +0.0%
item.vortex 1.0 vortex-file-compressed 1.64 MB 1.63 MB 1.98 KB -0.1%
customer_address.vortex 1.0 vortex-file-compressed 827.78 KB 826.03 KB 1.75 KB -0.2%
call_center.vortex 1.0 vortex-compact 49.17 KB 0 B 49.17 KB -100.0%
catalog_page.vortex 1.0 vortex-compact 362.90 KB 0 B 362.90 KB -100.0%
catalog_returns.vortex 1.0 vortex-compact 6.01 MB 0 B 6.01 MB -100.0%
catalog_sales.vortex 1.0 vortex-compact 59.31 MB 0 B 59.31 MB -100.0%
customer.vortex 1.0 vortex-compact 3.29 MB 0 B 3.29 MB -100.0%
customer_address.vortex 1.0 vortex-compact 558.94 KB 0 B 558.94 KB -100.0%
customer_demographics.vortex 1.0 vortex-compact 648.99 KB 0 B 648.99 KB -100.0%
date_dim.vortex 1.0 vortex-compact 148.93 KB 0 B 148.93 KB -100.0%
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%
household_demographics.vortex 1.0 vortex-compact 10.23 KB 0 B 10.23 KB -100.0%
income_band.vortex 1.0 vortex-compact 5.51 KB 0 B 5.51 KB -100.0%
inventory.vortex 1.0 vortex-compact 16.07 MB 0 B 16.07 MB -100.0%
item.vortex 1.0 vortex-compact 994.19 KB 0 B 994.19 KB -100.0%
promotion.vortex 1.0 vortex-compact 51.26 KB 0 B 51.26 KB -100.0%
reason.vortex 1.0 vortex-compact 5.93 KB 0 B 5.93 KB -100.0%
ship_mode.vortex 1.0 vortex-compact 11.07 KB 0 B 11.07 KB -100.0%
store.vortex 1.0 vortex-compact 44.70 KB 0 B 44.70 KB -100.0%
store_returns.vortex 1.0 vortex-compact 9.31 MB 0 B 9.31 MB -100.0%
store_sales.vortex 1.0 vortex-compact 77.87 MB 0 B 77.87 MB -100.0%
time_dim.vortex 1.0 vortex-compact 96.84 KB 0 B 96.84 KB -100.0%
warehouse.vortex 1.0 vortex-compact 22.27 KB 0 B 22.27 KB -100.0%
web_page.vortex 1.0 vortex-compact 26.30 KB 0 B 26.30 KB -100.0%
web_returns.vortex 1.0 vortex-compact 2.99 MB 0 B 2.99 MB -100.0%
web_sales.vortex 1.0 vortex-compact 29.35 MB 0 B 29.35 MB -100.0%
web_site.vortex 1.0 vortex-compact 44.57 KB 0 B 44.57 KB -100.0%

Totals:

  • vortex-compact: 207.46 MB → 0 B (-100.0%)
  • vortex-file-compressed: 270.00 MB → 270.05 MB (+0.0%)

@codspeed-hq

This comment was marked as off-topic.

@github-actions

Copy link
Copy Markdown
Contributor

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

Benchmark Clickbench on NVME (base) failed! Check the workflow run for details.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: FineWeb S3 (base)

Verdict: Likely regression (environment too noisy confidence)
Attributed Vortex impact: +47.9%
Engines: DataFusion No clear signal (+34.7%, environment too noisy confidence) · DuckDB Likely regression (+62.3%, high confidence)
Vortex (geomean): 1.165x ➖
Parquet (geomean): 0.788x ➖
Shifts: Parquet (control) -21.2% · Median polish +4.5%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (1.025x ➖, 2↑ 5↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 🚀 34427411 61591611 0.56
fineweb_q01/datafusion:vortex-file-compressed 🚨 1054627430 718796633 1.47
fineweb_q02/datafusion:vortex-file-compressed 942277434 891623214 1.06
fineweb_q03/datafusion:vortex-file-compressed 🚨 1792076389 1177376971 1.52
fineweb_q04/datafusion:vortex-file-compressed 🚨 1773908258 1215080845 1.46
fineweb_q05/datafusion:vortex-file-compressed 🚨 1602025351 1150590828 1.39
fineweb_q06/datafusion:vortex-file-compressed 1864115618 1650854464 1.13
fineweb_q07/datafusion:vortex-file-compressed 🚨 2047808498 1175638626 1.74
fineweb_q08/datafusion:vortex-file-compressed 🚀 124183458 524543534 0.24
datafusion / parquet (0.761x ➖, 3↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 1528192896 1415671997 1.08
fineweb_q01/datafusion:parquet 1936606447 2291615030 0.85
fineweb_q02/datafusion:parquet 1711999457 2293208207 0.75
fineweb_q03/datafusion:parquet 1816543836 2145085433 0.85
fineweb_q04/datafusion:parquet 1769986844 2511685253 0.70
fineweb_q05/datafusion:parquet 🚀 1842223643 2696771617 0.68
fineweb_q06/datafusion:parquet 🚀 1684370037 2650099562 0.64
fineweb_q07/datafusion:parquet 🚀 1773145171 2709712133 0.65
fineweb_q08/datafusion:parquet 1880192059 2542065126 0.74
duckdb / vortex-file-compressed (1.325x ❌, 2↑ 6↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 🚀 82637250 126015043 0.66
fineweb_q01/duckdb:vortex-file-compressed 🚨 1821627371 781651029 2.33
fineweb_q02/duckdb:vortex-file-compressed 🚨 1953048855 668288525 2.92
fineweb_q03/duckdb:vortex-file-compressed 🚨 2251211856 1360069333 1.66
fineweb_q04/duckdb:vortex-file-compressed 🚨 2420267629 1479320496 1.64
fineweb_q05/duckdb:vortex-file-compressed 🚨 2612164724 1544600939 1.69
fineweb_q06/duckdb:vortex-file-compressed 2121224136 1807741456 1.17
fineweb_q07/duckdb:vortex-file-compressed 🚨 2135505303 1432644709 1.49
fineweb_q08/duckdb:vortex-file-compressed 🚀 243367500 691869368 0.35
duckdb / parquet (0.817x ➖, 0↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 1077719893 1321785737 0.82
fineweb_q01/duckdb:parquet 1342303986 1666826664 0.81
fineweb_q02/duckdb:parquet 1384725985 1681233461 0.82
fineweb_q03/duckdb:parquet 3704521647 4774405054 0.78
fineweb_q04/duckdb:parquet 1865336624 2170349505 0.86
fineweb_q05/duckdb:parquet 2091965935 2716414932 0.77
fineweb_q06/duckdb:parquet 4336259889 5273864186 0.82
fineweb_q07/duckdb:parquet 2574197480 3005392041 0.86
fineweb_q08/duckdb:parquet 1064614886 1290682629 0.82

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=10 on NVME (base)

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +4.5%
Engines: DataFusion No clear signal (-0.5%, low confidence) · DuckDB Likely regression (+13.8%, medium confidence)
Vortex (geomean): 1.087x ➖
Parquet (geomean): 1.023x ➖
Shifts: Parquet (control) +2.3% · Median polish +4.2%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (1.029x ➖, 2↑ 8↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 479095134 452679421 1.06
tpch_q02/datafusion:vortex-file-compressed 🚨 119956177 104986003 1.14
tpch_q03/datafusion:vortex-file-compressed 🚨 222206949 200453293 1.11
tpch_q04/datafusion:vortex-file-compressed 106376692 98724918 1.08
tpch_q05/datafusion:vortex-file-compressed 🚨 386714934 344145675 1.12
tpch_q06/datafusion:vortex-file-compressed 🚨 43158593 36556410 1.18
tpch_q07/datafusion:vortex-file-compressed 508022130 468253278 1.08
tpch_q08/datafusion:vortex-file-compressed 382282787 350331112 1.09
tpch_q09/datafusion:vortex-file-compressed 667373518 609208749 1.10
tpch_q10/datafusion:vortex-file-compressed 🚨 263014672 233713102 1.13
tpch_q11/datafusion:vortex-file-compressed 81013796 80692901 1.00
tpch_q12/datafusion:vortex-file-compressed 120761004 113596870 1.06
tpch_q13/datafusion:vortex-file-compressed 216786819 201958902 1.07
tpch_q14/datafusion:vortex-file-compressed 🚨 56965673 48436638 1.18
tpch_q15/datafusion:vortex-file-compressed 🚨 116655319 96434607 1.21
tpch_q16/datafusion:vortex-file-compressed 80732352 76644542 1.05
tpch_q17/datafusion:vortex-file-compressed 631297635 593591149 1.06
tpch_q18/datafusion:vortex-file-compressed 915225749 849030866 1.08
tpch_q19/datafusion:vortex-file-compressed 🚀 74282841 232026196 0.32
tpch_q20/datafusion:vortex-file-compressed 🚨 178727032 160472380 1.11
tpch_q21/datafusion:vortex-file-compressed 675240532 616472204 1.10
tpch_q22/datafusion:vortex-file-compressed 🚀 49640078 56988136 0.87
datafusion / parquet (1.035x ➖, 0↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 501724582 495125382 1.01
tpch_q02/datafusion:parquet 180074310 175933705 1.02
tpch_q03/datafusion:parquet 278001758 265312219 1.05
tpch_q04/datafusion:parquet 125664172 119253243 1.05
tpch_q05/datafusion:parquet 424065768 403247394 1.05
tpch_q06/datafusion:parquet 132353621 129295349 1.02
tpch_q07/datafusion:parquet 603822728 573802180 1.05
tpch_q08/datafusion:parquet 484033053 460766034 1.05
tpch_q09/datafusion:parquet 785320443 760491884 1.03
tpch_q10/datafusion:parquet 600613679 573180312 1.05
tpch_q11/datafusion:parquet 128992571 120024924 1.07
tpch_q12/datafusion:parquet 217789025 212281941 1.03
tpch_q13/datafusion:parquet 357526945 351236052 1.02
tpch_q14/datafusion:parquet 160525932 157712771 1.02
tpch_q15/datafusion:parquet 277026696 260696241 1.06
tpch_q16/datafusion:parquet 127606831 124861398 1.02
tpch_q17/datafusion:parquet 710829728 688062306 1.03
tpch_q18/datafusion:parquet 914046556 899616187 1.02
tpch_q19/datafusion:parquet 292964801 283615268 1.03
tpch_q20/datafusion:parquet 316414056 306545037 1.03
tpch_q21/datafusion:parquet 682934998 678223910 1.01
tpch_q22/datafusion:parquet 217468746 208889382 1.04
datafusion / arrow (1.031x ➖, 1↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/datafusion:arrow 752713277 717459515 1.05
tpch_q02/datafusion:arrow 119528327 114170350 1.05
tpch_q03/datafusion:arrow 547578117 517876487 1.06
tpch_q04/datafusion:arrow 409270376 383750394 1.07
tpch_q05/datafusion:arrow 806327963 770594411 1.05
tpch_q06/datafusion:arrow 352337699 338742592 1.04
tpch_q07/datafusion:arrow 1227623205 1167697482 1.05
tpch_q08/datafusion:arrow 1000463638 973343028 1.03
tpch_q09/datafusion:arrow 1163377385 1111379427 1.05
tpch_q10/datafusion:arrow 708211543 660734944 1.07
tpch_q11/datafusion:arrow 96698237 94284959 1.03
tpch_q12/datafusion:arrow 🚀 1024502591 1352812652 0.76
tpch_q13/datafusion:arrow 501879094 490300330 1.02
tpch_q14/datafusion:arrow 401399716 379284377 1.06
tpch_q15/datafusion:arrow 826416354 782514627 1.06
tpch_q16/datafusion:arrow 86567183 83651560 1.03
tpch_q17/datafusion:arrow 1033623141 992019665 1.04
tpch_q18/datafusion:arrow 1971146189 1886752382 1.04
tpch_q19/datafusion:arrow 589133132 566482065 1.04
tpch_q20/datafusion:arrow 556417199 522740596 1.06
tpch_q21/datafusion:arrow 3278472139 3179455869 1.03
tpch_q22/datafusion:arrow 88536730 84432406 1.05
duckdb / vortex-file-compressed (1.149x ❌, 0↑ 17↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 🚨 189379539 170122902 1.11
tpch_q02/duckdb:vortex-file-compressed 🚨 66453583 57588274 1.15
tpch_q03/duckdb:vortex-file-compressed 🚨 149643507 127352437 1.18
tpch_q04/duckdb:vortex-file-compressed 🚨 183262617 162628778 1.13
tpch_q05/duckdb:vortex-file-compressed 🚨 169658844 141073995 1.20
tpch_q06/duckdb:vortex-file-compressed 🚨 40420180 32042667 1.26
tpch_q07/duckdb:vortex-file-compressed 🚨 171313449 138633051 1.24
tpch_q08/duckdb:vortex-file-compressed 🚨 202405981 179996124 1.12
tpch_q09/duckdb:vortex-file-compressed 🚨 450484190 404520146 1.11
tpch_q10/duckdb:vortex-file-compressed 🚨 242058242 197896644 1.22
tpch_q11/duckdb:vortex-file-compressed 🚨 39630838 32640899 1.21
tpch_q12/duckdb:vortex-file-compressed 106950145 107164141 1.00
tpch_q13/duckdb:vortex-file-compressed 279777894 276586000 1.01
tpch_q14/duckdb:vortex-file-compressed 🚨 61543366 54540675 1.13
tpch_q15/duckdb:vortex-file-compressed 🚨 120308548 90315341 1.33
tpch_q16/duckdb:vortex-file-compressed 88225776 81648366 1.08
tpch_q17/duckdb:vortex-file-compressed 🚨 125275462 94920241 1.32
tpch_q18/duckdb:vortex-file-compressed 323600462 299657111 1.08
tpch_q19/duckdb:vortex-file-compressed 86124938 79651130 1.08
tpch_q20/duckdb:vortex-file-compressed 🚨 165790073 142767151 1.16
tpch_q21/duckdb:vortex-file-compressed 🚨 570009642 512836404 1.11
tpch_q22/duckdb:vortex-file-compressed 🚨 70815959 64149419 1.10
duckdb / parquet (1.010x ➖, 0↑ 1↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 263462756 269261723 0.98
tpch_q02/duckdb:parquet 101634287 103354713 0.98
tpch_q03/duckdb:parquet 217122992 215557335 1.01
tpch_q04/duckdb:parquet 141028922 138977771 1.01
tpch_q05/duckdb:parquet 229817521 228170277 1.01
tpch_q06/duckdb:parquet 74118094 75033669 0.99
tpch_q07/duckdb:parquet 189895036 189720522 1.00
tpch_q08/duckdb:parquet 270727038 266485457 1.02
tpch_q09/duckdb:parquet 489479652 479793939 1.02
tpch_q10/duckdb:parquet 634688557 629405104 1.01
tpch_q11/duckdb:parquet 62780156 63163855 0.99
tpch_q12/duckdb:parquet 135211824 133985386 1.01
tpch_q13/duckdb:parquet 🚨 451339658 399734036 1.13
tpch_q14/duckdb:parquet 182910991 180990409 1.01
tpch_q15/duckdb:parquet 107362706 106034476 1.01
tpch_q16/duckdb:parquet 168604099 163822542 1.03
tpch_q17/duckdb:parquet 182456362 183392494 0.99
tpch_q18/duckdb:parquet 372555287 365174138 1.02
tpch_q19/duckdb:parquet 291264159 288225261 1.01
tpch_q20/duckdb:parquet 232601897 234517409 0.99
tpch_q21/duckdb:parquet 582879408 570889632 1.02
tpch_q22/duckdb:parquet 294395316 298128135 0.99

File Size Changes (47 files changed, -44.5% overall, 12↑ 35↓)
File Scale Format Base HEAD Change %
orders_2.vortex 10.0 vortex-file-compressed 134.06 MB 134.69 MB +643.14 KB +0.5%
part_0.vortex 10.0 vortex-file-compressed 24.82 MB 24.91 MB +100.19 KB +0.4%
lineitem_4.vortex 10.0 vortex-file-compressed 129.47 MB 129.65 MB +183.08 KB +0.1%
orders_1.vortex 10.0 vortex-file-compressed 134.54 MB 134.67 MB +137.88 KB +0.1%
lineitem_8.vortex 10.0 vortex-file-compressed 129.20 MB 129.29 MB +93.62 KB +0.1%
lineitem_12.vortex 10.0 vortex-file-compressed 129.44 MB 129.53 MB +88.94 KB +0.1%
part_1.vortex 10.0 vortex-file-compressed 24.85 MB 24.86 MB +12.68 KB +0.0%
partsupp_1.vortex 10.0 vortex-file-compressed 119.72 MB 119.77 MB +49.07 KB +0.0%
lineitem_1.vortex 10.0 vortex-file-compressed 129.17 MB 129.20 MB +32.97 KB +0.0%
lineitem_7.vortex 10.0 vortex-file-compressed 129.36 MB 129.38 MB +20.39 KB +0.0%
lineitem_2.vortex 10.0 vortex-file-compressed 129.42 MB 129.44 MB +19.11 KB +0.0%
partsupp_0.vortex 10.0 vortex-file-compressed 119.77 MB 119.79 MB +15.22 KB +0.0%
lineitem_0.vortex 10.0 vortex-file-compressed 129.47 MB 129.46 MB 7.16 KB -0.0%
customer_0.vortex 10.0 vortex-file-compressed 88.52 MB 88.51 MB 12.46 KB -0.0%
lineitem_10.vortex 10.0 vortex-file-compressed 129.45 MB 129.41 MB 41.98 KB -0.0%
lineitem_6.vortex 10.0 vortex-file-compressed 129.35 MB 129.30 MB 44.13 KB -0.0%
orders_0.vortex 10.0 vortex-file-compressed 133.56 MB 133.43 MB 131.80 KB -0.1%
lineitem_11.vortex 10.0 vortex-file-compressed 129.26 MB 129.12 MB 148.36 KB -0.1%
lineitem_9.vortex 10.0 vortex-file-compressed 129.32 MB 129.16 MB 166.58 KB -0.1%
lineitem_3.vortex 10.0 vortex-file-compressed 129.39 MB 129.20 MB 193.91 KB -0.1%
lineitem_5.vortex 10.0 vortex-file-compressed 129.78 MB 129.52 MB 274.91 KB -0.2%
supplier_0.vortex 10.0 vortex-file-compressed 5.74 MB 5.72 MB 20.79 KB -0.4%
customer_0.vortex 10.0 vortex-compact 74.12 MB 0 B 74.12 MB -100.0%
duckdb.db 10.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%
lineitem_0.vortex 10.0 vortex-compact 100.59 MB 0 B 100.59 MB -100.0%
lineitem_1.vortex 10.0 vortex-compact 100.64 MB 0 B 100.64 MB -100.0%
lineitem_10.vortex 10.0 vortex-compact 100.62 MB 0 B 100.62 MB -100.0%
lineitem_11.vortex 10.0 vortex-compact 100.53 MB 0 B 100.53 MB -100.0%
lineitem_12.vortex 10.0 vortex-compact 100.62 MB 0 B 100.62 MB -100.0%
lineitem_2.vortex 10.0 vortex-compact 100.59 MB 0 B 100.59 MB -100.0%
lineitem_3.vortex 10.0 vortex-compact 100.62 MB 0 B 100.62 MB -100.0%
lineitem_4.vortex 10.0 vortex-compact 100.56 MB 0 B 100.56 MB -100.0%
lineitem_5.vortex 10.0 vortex-compact 100.70 MB 0 B 100.70 MB -100.0%
lineitem_6.vortex 10.0 vortex-compact 100.68 MB 0 B 100.68 MB -100.0%
lineitem_7.vortex 10.0 vortex-compact 100.58 MB 0 B 100.58 MB -100.0%
lineitem_8.vortex 10.0 vortex-compact 100.59 MB 0 B 100.59 MB -100.0%
lineitem_9.vortex 10.0 vortex-compact 100.46 MB 0 B 100.46 MB -100.0%
nation_0.vortex 10.0 vortex-compact 8.15 KB 0 B 8.15 KB -100.0%
orders_0.vortex 10.0 vortex-compact 114.79 MB 0 B 114.79 MB -100.0%
orders_1.vortex 10.0 vortex-compact 114.76 MB 0 B 114.76 MB -100.0%
orders_2.vortex 10.0 vortex-compact 114.78 MB 0 B 114.78 MB -100.0%
part_0.vortex 10.0 vortex-compact 16.81 MB 0 B 16.81 MB -100.0%
part_1.vortex 10.0 vortex-compact 17.02 MB 0 B 17.02 MB -100.0%
partsupp_0.vortex 10.0 vortex-compact 105.60 MB 0 B 105.60 MB -100.0%
partsupp_1.vortex 10.0 vortex-compact 105.52 MB 0 B 105.52 MB -100.0%
region_0.vortex 10.0 vortex-compact 5.80 KB 0 B 5.80 KB -100.0%
supplier_0.vortex 10.0 vortex-compact 4.73 MB 0 B 4.73 MB -100.0%

Totals:

  • vortex-compact: 1.93 GB → 0 B (-100.0%)
  • vortex-file-compressed: 2.41 GB → 2.41 GB (+0.0%)

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on S3 (base)

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +15.7%
Engines: DataFusion No clear signal (+15.3%, environment too noisy confidence) · DuckDB No clear signal (+16.1%, environment too noisy confidence)
Vortex (geomean): 0.966x ➖
Parquet (geomean): 0.834x ➖
Shifts: Parquet (control) -16.6% · Median polish -7.1%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

datafusion / vortex-file-compressed (0.918x ➖, 3↑ 2↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 255996236 307538950 0.83
tpch_q02/datafusion:vortex-file-compressed 624745792 669425744 0.93
tpch_q03/datafusion:vortex-file-compressed 547028288 497040105 1.10
tpch_q04/datafusion:vortex-file-compressed 342787670 354953292 0.97
tpch_q05/datafusion:vortex-file-compressed 🚀 485644081 801613910 0.61
tpch_q06/datafusion:vortex-file-compressed 🚀 185034044 470624349 0.39
tpch_q07/datafusion:vortex-file-compressed 541509334 616884580 0.88
tpch_q08/datafusion:vortex-file-compressed 664808411 667744026 1.00
tpch_q09/datafusion:vortex-file-compressed 539506822 500795510 1.08
tpch_q10/datafusion:vortex-file-compressed 445470531 577646006 0.77
tpch_q11/datafusion:vortex-file-compressed 421607385 366182940 1.15
tpch_q12/datafusion:vortex-file-compressed 🚀 283310856 462155683 0.61
tpch_q13/datafusion:vortex-file-compressed 159334919 226207891 0.70
tpch_q14/datafusion:vortex-file-compressed 257584542 261713324 0.98
tpch_q15/datafusion:vortex-file-compressed 🚨 696631164 452986048 1.54
tpch_q16/datafusion:vortex-file-compressed 284225442 231671224 1.23
tpch_q17/datafusion:vortex-file-compressed 366168178 471439744 0.78
tpch_q18/datafusion:vortex-file-compressed 367199529 315180114 1.17
tpch_q19/datafusion:vortex-file-compressed 426172894 568866925 0.75
tpch_q20/datafusion:vortex-file-compressed 549871032 465686855 1.18
tpch_q21/datafusion:vortex-file-compressed 601668075 580036656 1.04
tpch_q22/datafusion:vortex-file-compressed 🚨 248083126 178216037 1.39
datafusion / parquet (0.796x ➖, 5↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 🚀 196582304 292574958 0.67
tpch_q02/datafusion:parquet 443355289 463683169 0.96
tpch_q03/datafusion:parquet 🚀 326882322 734504661 0.45
tpch_q04/datafusion:parquet 🚀 153081522 360431745 0.42
tpch_q05/datafusion:parquet 432806944 571334637 0.76
tpch_q06/datafusion:parquet 172036013 185246650 0.93
tpch_q07/datafusion:parquet 471860901 548015320 0.86
tpch_q08/datafusion:parquet 640788272 733242443 0.87
tpch_q09/datafusion:parquet 465441296 537064997 0.87
tpch_q10/datafusion:parquet 471404482 560840464 0.84
tpch_q11/datafusion:parquet 374641144 415152744 0.90
tpch_q12/datafusion:parquet 260959331 303838324 0.86
tpch_q13/datafusion:parquet 432612320 465613510 0.93
tpch_q14/datafusion:parquet 190919805 223729499 0.85
tpch_q15/datafusion:parquet 314139627 315939533 0.99
tpch_q16/datafusion:parquet 169055340 173783409 0.97
tpch_q17/datafusion:parquet 433154760 437568017 0.99
tpch_q18/datafusion:parquet 447650095 496876668 0.90
tpch_q19/datafusion:parquet 327634940 437046775 0.75
tpch_q20/datafusion:parquet 🚀 323994344 503673812 0.64
tpch_q21/datafusion:parquet 🚀 547035681 832467183 0.66
tpch_q22/datafusion:parquet 212251795 253498366 0.84
duckdb / vortex-file-compressed (1.016x ➖, 1↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 319047263 318803070 1.00
tpch_q02/duckdb:vortex-file-compressed 1162069765 1026822217 1.13
tpch_q03/duckdb:vortex-file-compressed 722730723 736760365 0.98
tpch_q04/duckdb:vortex-file-compressed 495895114 497101293 1.00
tpch_q05/duckdb:vortex-file-compressed 952853060 921901566 1.03
tpch_q06/duckdb:vortex-file-compressed 362522093 368633415 0.98
tpch_q07/duckdb:vortex-file-compressed 1022933602 1037156830 0.99
tpch_q08/duckdb:vortex-file-compressed 1361124428 1212786003 1.12
tpch_q09/duckdb:vortex-file-compressed 1130603326 1053639563 1.07
tpch_q10/duckdb:vortex-file-compressed 942002034 758620164 1.24
tpch_q11/duckdb:vortex-file-compressed 669843572 596866643 1.12
tpch_q12/duckdb:vortex-file-compressed 🚀 483853355 788691095 0.61
tpch_q13/duckdb:vortex-file-compressed 390199133 516970227 0.75
tpch_q14/duckdb:vortex-file-compressed 467862473 516813161 0.91
tpch_q15/duckdb:vortex-file-compressed 353650519 323362888 1.09
tpch_q16/duckdb:vortex-file-compressed 476523397 395389614 1.21
tpch_q17/duckdb:vortex-file-compressed 773650435 751875133 1.03
tpch_q18/duckdb:vortex-file-compressed 689737409 670821848 1.03
tpch_q19/duckdb:vortex-file-compressed 534288919 541166986 0.99
tpch_q20/duckdb:vortex-file-compressed 894107737 856385863 1.04
tpch_q21/duckdb:vortex-file-compressed 1294383781 1204946906 1.07
tpch_q22/duckdb:vortex-file-compressed 347610624 296468778 1.17
duckdb / parquet (0.875x ➖, 0↑ 0↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 462224930 451246867 1.02
tpch_q02/duckdb:parquet 1036379175 1115769545 0.93
tpch_q03/duckdb:parquet 952124852 1087451846 0.88
tpch_q04/duckdb:parquet 555562381 758191421 0.73
tpch_q05/duckdb:parquet 1166695098 1463325321 0.80
tpch_q06/duckdb:parquet 419508513 470282749 0.89
tpch_q07/duckdb:parquet 1147982413 1306222508 0.88
tpch_q08/duckdb:parquet 1403779177 1543268735 0.91
tpch_q09/duckdb:parquet 1304754618 1490635696 0.88
tpch_q10/duckdb:parquet 1268516951 1381882523 0.92
tpch_q11/duckdb:parquet 683845154 787791007 0.87
tpch_q12/duckdb:parquet 676400791 745431733 0.91
tpch_q13/duckdb:parquet 849075194 965339494 0.88
tpch_q14/duckdb:parquet 698803891 722857262 0.97
tpch_q15/duckdb:parquet 471912959 541399848 0.87
tpch_q16/duckdb:parquet 566786098 686207791 0.83
tpch_q17/duckdb:parquet 735991517 940310051 0.78
tpch_q18/duckdb:parquet 860441856 946831179 0.91
tpch_q19/duckdb:parquet 789286088 949746124 0.83
tpch_q20/duckdb:parquet 1121324598 1260591078 0.89
tpch_q21/duckdb:parquet 1102319802 1259344746 0.88
tpch_q22/duckdb:parquet 538564161 633887845 0.85

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Statistical and Population Genetics (base)

Verdict: Likely regression (high confidence)
Attributed Vortex impact: +611.4%
Engines: DuckDB Likely regression (+611.4%, high confidence)
Vortex (geomean): 7.956x ❌
Parquet (geomean): 1.118x ❌
Shifts: Parquet (control) +11.8% · Median polish +228.3%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.

duckdb / vortex-file-compressed (7.956x ❌, 0↑ 11↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-file-compressed 🚨 40342756 11973181 3.37
statpopgen_q01/duckdb:vortex-file-compressed 🚨 1829182648 26342402 69.44
statpopgen_q02/duckdb:vortex-file-compressed 🚨 4379644703 520286947 8.42
statpopgen_q03/duckdb:vortex-file-compressed 🚨 11367938846 1021576351 11.13
statpopgen_q04/duckdb:vortex-file-compressed 🚨 11308851713 1052808022 10.74
statpopgen_q05/duckdb:vortex-file-compressed 🚨 4580104425 493437202 9.28
statpopgen_q06/duckdb:vortex-file-compressed 🚨 14413184061 1509488114 9.55
statpopgen_q07/duckdb:vortex-file-compressed 🚨 375425265 196397333 1.91
statpopgen_q08/duckdb:vortex-file-compressed 🚨 395805303 226569282 1.75
statpopgen_q09/duckdb:vortex-file-compressed 🚨 8576979729 786797107 10.90
statpopgen_q10/duckdb:vortex-file-compressed 🚨 27096615553 2544475921 10.65
duckdb / parquet (1.118x ❌, 0↑ 8↓)
name PR 9fc8a09 (ns) base de60638 (ns) ratio (PR/base)
statpopgen_q00/duckdb:parquet 317199268 301587721 1.05
statpopgen_q01/duckdb:parquet 406845282 375829568 1.08
statpopgen_q02/duckdb:parquet 838992042 763136359 1.10
statpopgen_q03/duckdb:parquet 🚨 1348858227 1189495012 1.13
statpopgen_q04/duckdb:parquet 🚨 1344846063 1175779067 1.14
statpopgen_q05/duckdb:parquet 🚨 909685739 804603253 1.13
statpopgen_q06/duckdb:parquet 🚨 1609952458 1426528965 1.13
statpopgen_q07/duckdb:parquet 🚨 921134513 834471234 1.10
statpopgen_q08/duckdb:parquet 🚨 962834422 850838523 1.13
statpopgen_q09/duckdb:parquet 🚨 1149212634 1004940604 1.14
statpopgen_q10/duckdb:parquet 🚨 2557159494 2210100646 1.16

File Size Changes (3 files changed, -32.3% overall, 0↑ 3↓)
File Scale Format Base HEAD Change %
gnomad.genomes.v3.1.2.hgdp_tgp.chr21.vortex 100000 vortex-file-compressed 1.96 GB 1.96 GB 189.47 KB -0.0%
duckdb.db 100000 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%
gnomad.genomes.v3.1.2.hgdp_tgp.chr21.vortex 100000 vortex-compact 959.32 MB 0 B 959.32 MB -100.0%

Totals:

  • vortex-compact: 959.58 MB → 0 B (-100.0%)
  • vortex-file-compressed: 1.96 GB → 1.96 GB (-0.0%)

gatesn added 2 commits June 19, 2026 23:37
Signed-off-by: Nicholas Gates <[email protected]>
Signed-off-by: Nicholas Gates <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant