Skip to content

Gate the writer's array context and compressors by the enabled editions - #9019

Draft
joseph-isaacs wants to merge 5 commits into
developfrom
claude/writer-conntext-array-encoding-gate-wipyib
Draft

Gate the writer's array context and compressors by the enabled editions#9019
joseph-isaacs wants to merge 5 commits into
developfrom
claude/writer-conntext-array-encoding-gate-wipyib

Conversation

@joseph-isaacs

Copy link
Copy Markdown
Contributor

Rationale for this change

The file writer could emit any encoding in ALLOWED_ENCODINGS regardless of which editions a session had enabled for writing. A core-only session could therefore put an unstable-family encoding into a file whose read-compatibility guarantee does not cover it — the edition machinery existed but nothing on the write path consulted it.

What changes are included in this PR?

The gate. EditionSessionExt::retain_writable_encodings (vortex-edition/src/session.rs), backed by a new EditionSession::declared_encodings. An encoding survives if an enabled edition includes it, or if no registered edition declares it at all.

That second clause is the design decision worth reviewing. A strict "enabled editions only" gate would break every session that registers an encoding outside the first-party declarations: vortex-geo declares no inclusion anywhere, and sessions built from array_session() register no editions at all and would be left unable to write anything. Undeclared means ungated; declared-but-not-enabled is removed.

Two application points:

  • VortexWriteOptions::write_internal builds its ArrayContext from the gated ids — both the pre-populated table and the with_allowed_ids permit set — so a gated-out encoding cannot be interned, and therefore cannot be serialized, even under a custom write strategy. Written files also stop listing gated-out ids in the footer.
  • WriteStrategyBuilder::with_session_editions narrows the allow-list, and build filters the BtrBlocks compressor's schemes to those whose output the allow-list covers. The filter runs on the finished builder, so schemes added later — including with_compact()'s Zstd/Pco — are covered too. Without this the compressor would produce an encoding the context validator then rejects, failing the write outright instead of falling back to the next-best scheme.

Two opt-ins that preserve existing behaviour. Both are places where the gate would otherwise silently remove capability:

  • enable_default_editions now also enables the unstable edition when experimental patched arrays are switched on. The compressor emits vortex.patched in that mode, and only the unstable family declares it — without the opt-in, gating it out would take BitPacking and ALP with it, since those schemes declare Patched output when the flag is on. That would be a silent compression regression.
  • The vortex-jni session enables the unstable edition, as it registers vortex.parquet.variant (declared in unstable2026.04.0).

Tests

New coverage in vortex-edition (gate semantics, including the ungated-session case), vortex-file (allow-list narrowing plus two end-to-end write tests), and vortex. I verified the key regression test bites: with the retain_allowed_encodings call removed from build, gated_editions_filter_the_compressor_rather_than_failing_the_write fails with a validation error rather than falling back to another scheme.

Checks run: cargo test for vortex-file, vortex-edition, vortex, vortex-btrblocks, vortex-parquet-variant; the same with --features unstable_encodings and with VORTEX_EXPERIMENTAL_PATCHED_ARRAY=1; doc tests; cargo +nightly fmt --all; cargo clippy --all-targets on the changed crates; and builds of vortex-jni, vortex-ffi, vortex-tui, vortex-compat.

Not run: cargo build --workspace fails on lance-encoding needing protoc in this environment — confirmed pre-existing against a stashed tree. The Java-side JNI tests were not exercised, so the parquet-variant write path there rests on the declaration plus the added edition opt-in rather than on execution.

What APIs are changed? Are there any user-facing changes?

New public API, all additive:

  • EditionSession::declared_encodings() -> Vec<Id>
  • EditionSessionExt::retain_writable_encodings(impl IntoIterator<Item = Id>) -> Vec<Id>
  • WriteStrategyBuilder::with_session_editions(&VortexSession)

Behavioural change for writers: a session whose enabled editions do not cover an encoding will no longer write that encoding, and the default write strategy's compressor will not select schemes producing it. Default sessions are unaffected — enable_default_editions covers the core encodings, and the two opt-ins above preserve the unstable paths that previously worked.

Callers that build a custom strategy and pass it to with_strategy (vortex-python, vortex-tui, vortex-bench, vortex-ffi, fuzz, compat-gen) get the context gate but not the compressor filtering. On a default session the only affected scheme is fastlanes.delta, which is already cfg'd off without unstable_encodings, so those sites are safe today. Adding .with_session_editions(&session) there would make that robust rather than incidental; I left it out as beyond the scope of this change.


Generated by Claude Code

@joseph-isaacs joseph-isaacs added action/benchmark Trigger full benchmarks to run on this PR changelog/fix A bug fix labels Jul 27, 2026 — with Claude
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Jul 27, 2026
@github-actions

github-actions Bot commented Jul 27, 2026

Copy link
Copy Markdown
Contributor

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done 12ca5ba 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: PolarSignals Profiling 📖

Vortex (geomean): 0.965x ➖

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.965x ➖, 1↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
polarsignals_q00/datafusion:vortex-file-compressed 🚀 93190765 120856117 0.77
polarsignals_q01/datafusion:vortex-file-compressed 248551348 273062369 0.91
polarsignals_q02/datafusion:vortex-file-compressed 22128885 23235812 0.95
polarsignals_q03/datafusion:vortex-file-compressed 254830491 276001370 0.92
polarsignals_q04/datafusion:vortex-file-compressed 10243829 10072336 1.02
polarsignals_q05/datafusion:vortex-file-compressed 15383099 15210647 1.01
polarsignals_q06/datafusion:vortex-file-compressed 20587184 20507864 1.00
polarsignals_q07/datafusion:vortex-file-compressed 15086711 14232284 1.06
polarsignals_q08/datafusion:vortex-file-compressed 409392370 395203447 1.04
polarsignals_q09/datafusion:vortex-file-compressed 10325260 10328831 1.00

No file size changes detected.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on NVME 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -1.0%
Engines: DataFusion No clear signal (-2.2%, environment too noisy confidence) · DuckDB No clear signal (+0.3%, low confidence)
Vortex (geomean): 1.034x ➖
Parquet (geomean): 1.043x ➖
Shifts: Parquet (control) +4.3% · Median polish +3.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.

datafusion / vortex-file-compressed (1.039x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 51366891 50121093 1.02
tpch_q02/datafusion:vortex-file-compressed 22434690 21520787 1.04
tpch_q03/datafusion:vortex-file-compressed 31570188 30870394 1.02
tpch_q04/datafusion:vortex-file-compressed 20096049 19167142 1.05
tpch_q05/datafusion:vortex-file-compressed 46265806 44702564 1.03
tpch_q06/datafusion:vortex-file-compressed 10154760 9474716 1.07
tpch_q07/datafusion:vortex-file-compressed 53337427 52026874 1.03
tpch_q08/datafusion:vortex-file-compressed 38846527 37585596 1.03
tpch_q09/datafusion:vortex-file-compressed 51078218 50336952 1.01
tpch_q10/datafusion:vortex-file-compressed 33894260 32493115 1.04
tpch_q11/datafusion:vortex-file-compressed 16508996 15587480 1.06
tpch_q12/datafusion:vortex-file-compressed 24026332 23347334 1.03
tpch_q13/datafusion:vortex-file-compressed 26324940 24687629 1.07
tpch_q14/datafusion:vortex-file-compressed 15186231 14679029 1.03
tpch_q15/datafusion:vortex-file-compressed 23391263 22266440 1.05
tpch_q16/datafusion:vortex-file-compressed 19561220 19292219 1.01
tpch_q17/datafusion:vortex-file-compressed 65150341 62394408 1.04
tpch_q18/datafusion:vortex-file-compressed 75008689 73923033 1.01
tpch_q19/datafusion:vortex-file-compressed 19865531 18789772 1.06
tpch_q20/datafusion:vortex-file-compressed 30329512 28362119 1.07
tpch_q21/datafusion:vortex-file-compressed 70073910 68539308 1.02
tpch_q22/datafusion:vortex-file-compressed 12279833 11915704 1.03
datafusion / vortex-compact (1.024x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 60487109 60121597 1.01
tpch_q02/datafusion:vortex-compact 25824190 24941201 1.04
tpch_q03/datafusion:vortex-compact 33968143 32590871 1.04
tpch_q04/datafusion:vortex-compact 23636095 23026155 1.03
tpch_q05/datafusion:vortex-compact 48987622 47478092 1.03
tpch_q06/datafusion:vortex-compact 12491272 12199958 1.02
tpch_q07/datafusion:vortex-compact 58145117 56623459 1.03
tpch_q08/datafusion:vortex-compact 43042075 41548495 1.04
tpch_q09/datafusion:vortex-compact 55650618 56372239 0.99
tpch_q10/datafusion:vortex-compact 38688931 38164770 1.01
tpch_q11/datafusion:vortex-compact 17981510 17062359 1.05
tpch_q12/datafusion:vortex-compact 32154457 31267096 1.03
tpch_q13/datafusion:vortex-compact 31036903 30566591 1.02
tpch_q14/datafusion:vortex-compact 19221329 18203271 1.06
tpch_q15/datafusion:vortex-compact 29904410 29254192 1.02
tpch_q16/datafusion:vortex-compact 23461391 23332973 1.01
tpch_q17/datafusion:vortex-compact 68820415 64435185 1.07
tpch_q18/datafusion:vortex-compact 79531188 78836002 1.01
tpch_q19/datafusion:vortex-compact 39318166 39080560 1.01
tpch_q20/datafusion:vortex-compact 35259405 35305428 1.00
tpch_q21/datafusion:vortex-compact 79441261 78552826 1.01
tpch_q22/datafusion:vortex-compact 13909601 13599295 1.02
datafusion / parquet (1.055x ➖, 0↑ 4↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 144596613 139891957 1.03
tpch_q02/datafusion:parquet 61920091 60354474 1.03
tpch_q03/datafusion:parquet 78514490 71768155 1.09
tpch_q04/datafusion:parquet 50703355 47126014 1.08
tpch_q05/datafusion:parquet 95745420 88709670 1.08
tpch_q06/datafusion:parquet 🚨 43647231 39388773 1.11
tpch_q07/datafusion:parquet 102670740 106064866 0.97
tpch_q08/datafusion:parquet 98316815 97602358 1.01
tpch_q09/datafusion:parquet 127458037 118368922 1.08
tpch_q10/datafusion:parquet 🚨 118110898 102221414 1.16
tpch_q11/datafusion:parquet 42893234 41396453 1.04
tpch_q12/datafusion:parquet 🚨 83711536 71972352 1.16
tpch_q13/datafusion:parquet 211159010 192531969 1.10
tpch_q14/datafusion:parquet 48336854 46386550 1.04
tpch_q15/datafusion:parquet 62429782 58432968 1.07
tpch_q16/datafusion:parquet 🚨 44848654 40309430 1.11
tpch_q17/datafusion:parquet 135381643 142586552 0.95
tpch_q18/datafusion:parquet 158012405 153329847 1.03
tpch_q19/datafusion:parquet 72835460 79561886 0.92
tpch_q20/datafusion:parquet 76825334 70636701 1.09
tpch_q21/datafusion:parquet 152446075 142197339 1.07
tpch_q22/datafusion:parquet 45111566 43187814 1.04
duckdb / vortex-file-compressed (1.042x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 28428275 27115907 1.05
tpch_q02/duckdb:vortex-file-compressed 25817493 24853754 1.04
tpch_q03/duckdb:vortex-file-compressed 33095095 31837894 1.04
tpch_q04/duckdb:vortex-file-compressed 28380573 28207364 1.01
tpch_q05/duckdb:vortex-file-compressed 35963980 35067120 1.03
tpch_q06/duckdb:vortex-file-compressed 9132204 8507993 1.07
tpch_q07/duckdb:vortex-file-compressed 35660293 33477074 1.07
tpch_q08/duckdb:vortex-file-compressed 39990469 38829330 1.03
tpch_q09/duckdb:vortex-file-compressed 58945910 55172066 1.07
tpch_q10/duckdb:vortex-file-compressed 41002528 40247915 1.02
tpch_q11/duckdb:vortex-file-compressed 14569917 13890042 1.05
tpch_q12/duckdb:vortex-file-compressed 24282732 22814600 1.06
tpch_q13/duckdb:vortex-file-compressed 41007294 39439198 1.04
tpch_q14/duckdb:vortex-file-compressed 20337614 19304177 1.05
tpch_q15/duckdb:vortex-file-compressed 16417102 16247657 1.01
tpch_q16/duckdb:vortex-file-compressed 28399806 27243448 1.04
tpch_q17/duckdb:vortex-file-compressed 23458049 22749269 1.03
tpch_q18/duckdb:vortex-file-compressed 52824405 51399680 1.03
tpch_q19/duckdb:vortex-file-compressed 27093810 25608288 1.06
tpch_q20/duckdb:vortex-file-compressed 32607082 31203161 1.04
tpch_q21/duckdb:vortex-file-compressed 104832746 97887990 1.07
tpch_q22/duckdb:vortex-file-compressed 16950885 16598500 1.02
duckdb / vortex-compact (1.030x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 39481031 38526305 1.02
tpch_q02/duckdb:vortex-compact 31842578 31719085 1.00
tpch_q03/duckdb:vortex-compact 36185185 34477609 1.05
tpch_q04/duckdb:vortex-compact 34868379 33916340 1.03
tpch_q05/duckdb:vortex-compact 41948051 39639162 1.06
tpch_q06/duckdb:vortex-compact 10189529 10739903 0.95
tpch_q07/duckdb:vortex-compact 43665178 41060628 1.06
tpch_q08/duckdb:vortex-compact 47523843 46455288 1.02
tpch_q09/duckdb:vortex-compact 68362862 66239492 1.03
tpch_q10/duckdb:vortex-compact 49357393 46425313 1.06
tpch_q11/duckdb:vortex-compact 16555504 16180463 1.02
tpch_q12/duckdb:vortex-compact 32897128 31862245 1.03
tpch_q13/duckdb:vortex-compact 46061477 45932236 1.00
tpch_q14/duckdb:vortex-compact 24994872 22845481 1.09
tpch_q15/duckdb:vortex-compact 19811379 19167435 1.03
tpch_q16/duckdb:vortex-compact 29779401 28820573 1.03
tpch_q17/duckdb:vortex-compact 28211290 27302374 1.03
tpch_q18/duckdb:vortex-compact 58732957 58314754 1.01
tpch_q19/duckdb:vortex-compact 30317761 30128082 1.01
tpch_q20/duckdb:vortex-compact 38275574 37457426 1.02
tpch_q21/duckdb:vortex-compact 117960902 114657253 1.03
tpch_q22/duckdb:vortex-compact 18593143 17681626 1.05
duckdb / parquet (1.031x ➖, 0↑ 2↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 81763639 80181546 1.02
tpch_q02/duckdb:parquet 41460346 40839460 1.02
tpch_q03/duckdb:parquet 72850774 72296079 1.01
tpch_q04/duckdb:parquet 52559040 53939731 0.97
tpch_q05/duckdb:parquet 70451592 70307215 1.00
tpch_q06/duckdb:parquet 23611281 23151310 1.02
tpch_q07/duckdb:parquet 🚨 80766506 71891921 1.12
tpch_q08/duckdb:parquet 85853921 84381356 1.02
tpch_q09/duckdb:parquet 🚨 160811706 139096490 1.16
tpch_q10/duckdb:parquet 143813189 135288324 1.06
tpch_q11/duckdb:parquet 23728586 23091941 1.03
tpch_q12/duckdb:parquet 52280690 54582094 0.96
tpch_q13/duckdb:parquet 270903365 253968251 1.07
tpch_q14/duckdb:parquet 52735602 51157031 1.03
tpch_q15/duckdb:parquet 27586155 26478182 1.04
tpch_q16/duckdb:parquet 61292455 59049108 1.04
tpch_q17/duckdb:parquet 54396905 58651451 0.93
tpch_q18/duckdb:parquet 122806339 121284750 1.01
tpch_q19/duckdb:parquet 85638133 78501242 1.09
tpch_q20/duckdb:parquet 67322783 66338452 1.01
tpch_q21/duckdb:parquet 194051263 181790813 1.07
tpch_q22/duckdb:parquet 57006132 55613072 1.03
duckdb / duckdb (1.029x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 18094316 17886094 1.01
tpch_q02/duckdb:duckdb 15006689 14774819 1.02
tpch_q03/duckdb:duckdb 24091507 22934856 1.05
tpch_q04/duckdb:duckdb 22264461 22334252 1.00
tpch_q05/duckdb:duckdb 24376518 23645872 1.03
tpch_q06/duckdb:duckdb 7138997 7059839 1.01
tpch_q07/duckdb:duckdb 26766101 25839159 1.04
tpch_q08/duckdb:duckdb 25221946 24042730 1.05
tpch_q09/duckdb:duckdb 62227195 58947252 1.06
tpch_q10/duckdb:duckdb 51675611 50748595 1.02
tpch_q11/duckdb:duckdb 7634317 7305507 1.05
tpch_q12/duckdb:duckdb 18650372 18630623 1.00
tpch_q13/duckdb:duckdb 41170058 39548351 1.04
tpch_q14/duckdb:duckdb 22816841 21606855 1.06
tpch_q15/duckdb:duckdb 14052613 13774154 1.02
tpch_q16/duckdb:duckdb 26943083 26122661 1.03
tpch_q17/duckdb:duckdb 16767592 16406566 1.02
tpch_q18/duckdb:duckdb 41638143 40935734 1.02
tpch_q19/duckdb:duckdb 32535078 31273001 1.04
tpch_q20/duckdb:duckdb 25613760 25485569 1.01
tpch_q21/duckdb:duckdb 65661129 61583239 1.07
tpch_q22/duckdb:duckdb 26710425 26148234 1.02

No file size changes detected.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: FineWeb NVMe 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +1.8%
Engines: DataFusion No clear signal (+0.8%, low confidence) · DuckDB No clear signal (+2.9%, environment too noisy confidence)
Vortex (geomean): 0.985x ➖
Parquet (geomean): 0.967x ➖
Shifts: Parquet (control) -3.3% · Median polish -2.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.975x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 4578040 4916728 0.93
fineweb_q01/datafusion:vortex-file-compressed 31590377 31312589 1.01
fineweb_q02/datafusion:vortex-file-compressed 35782633 37073503 0.97
fineweb_q03/datafusion:vortex-file-compressed 52678399 55258205 0.95
fineweb_q04/datafusion:vortex-file-compressed 244443346 245769294 0.99
fineweb_q05/datafusion:vortex-file-compressed 185860859 188026915 0.99
fineweb_q06/datafusion:vortex-file-compressed 48424029 48459756 1.00
fineweb_q07/datafusion:vortex-file-compressed 50620879 52584228 0.96
fineweb_q08/datafusion:vortex-file-compressed 19790085 20259085 0.98
datafusion / vortex-compact (0.986x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 5610388 5447208 1.03
fineweb_q01/datafusion:vortex-compact 94380453 100259504 0.94
fineweb_q02/datafusion:vortex-compact 106645976 110294768 0.97
fineweb_q03/datafusion:vortex-compact 848100449 870122255 0.97
fineweb_q04/datafusion:vortex-compact 911364740 918914723 0.99
fineweb_q05/datafusion:vortex-compact 817911699 814039331 1.00
fineweb_q06/datafusion:vortex-compact 458044431 466495527 0.98
fineweb_q07/datafusion:vortex-compact 481822942 484783557 0.99
fineweb_q08/datafusion:vortex-compact 18782198 18959846 0.99
datafusion / parquet (0.973x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 7352776 7827928 0.94
fineweb_q01/datafusion:parquet 288628677 295735302 0.98
fineweb_q02/datafusion:parquet 289011366 299203972 0.97
fineweb_q03/datafusion:parquet 291922652 294138706 0.99
fineweb_q04/datafusion:parquet 306327353 310088801 0.99
fineweb_q05/datafusion:parquet 297664813 313856982 0.95
fineweb_q06/datafusion:parquet 291003119 296684588 0.98
fineweb_q07/datafusion:parquet 283302662 286706689 0.99
fineweb_q08/datafusion:parquet 277872485 283405481 0.98
duckdb / vortex-file-compressed (0.993x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 🚨 4117089 3430583 1.20
fineweb_q01/duckdb:vortex-file-compressed 32979819 33774742 0.98
fineweb_q02/duckdb:vortex-file-compressed 37665767 38507114 0.98
fineweb_q03/duckdb:vortex-file-compressed 98949499 102840484 0.96
fineweb_q04/duckdb:vortex-file-compressed 238943238 245036184 0.98
fineweb_q05/duckdb:vortex-file-compressed 185372598 189406915 0.98
fineweb_q06/duckdb:vortex-file-compressed 51948460 55043103 0.94
fineweb_q07/duckdb:vortex-file-compressed 54638021 53824521 1.02
fineweb_q08/duckdb:vortex-file-compressed 20525349 22012065 0.93
duckdb / vortex-compact (0.986x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 3043117 3272600 0.93
fineweb_q01/duckdb:vortex-compact 113248197 109874872 1.03
fineweb_q02/duckdb:vortex-compact 109835371 114986580 0.96
fineweb_q03/duckdb:vortex-compact 847179505 859266887 0.99
fineweb_q04/duckdb:vortex-compact 900051772 910605767 0.99
fineweb_q05/duckdb:vortex-compact 798422868 808427005 0.99
fineweb_q06/duckdb:vortex-compact 465681462 471939540 0.99
fineweb_q07/duckdb:vortex-compact 481297002 485475269 0.99
fineweb_q08/duckdb:vortex-compact 20308697 19902249 1.02
duckdb / parquet (0.962x ➖, 1↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 🚀 31845782 37540397 0.85
fineweb_q01/duckdb:parquet 90880290 93923219 0.97
fineweb_q02/duckdb:parquet 88636850 92200577 0.96
fineweb_q03/duckdb:parquet 319520927 320740891 1.00
fineweb_q04/duckdb:parquet 447804829 453268284 0.99
fineweb_q05/duckdb:parquet 417369647 422977150 0.99
fineweb_q06/duckdb:parquet 205887504 211443327 0.97
fineweb_q07/duckdb:parquet 218689966 221025074 0.99
fineweb_q08/duckdb:parquet 37532352 39328462 0.95

No file size changes detected.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Vortex queries 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +0.5%
Engines: DataFusion No clear signal (-0.5%, low confidence) · DuckDB No clear signal (+1.4%, low confidence)
Vortex (geomean): 1.004x ➖
Parquet (geomean): 1.002x ➖
Shifts: Parquet (control) +0.2% · Median polish +0.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.996x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
vortex_q00/datafusion:vortex-file-compressed 48766437 48782124 1.00
vortex_q01/datafusion:vortex-file-compressed 61889995 62332304 0.99
datafusion / parquet (1.001x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
vortex_q00/datafusion:parquet 171986387 171815929 1.00
vortex_q01/datafusion:parquet 26336004 26300297 1.00
duckdb / vortex-file-compressed (1.017x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
vortex_q00/duckdb:vortex-file-compressed 61572557 60982512 1.01
vortex_q01/duckdb:vortex-file-compressed 39556595 38645573 1.02
duckdb / parquet (1.002x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
vortex_q00/duckdb:parquet 182651299 182340352 1.00
vortex_q01/duckdb:parquet 63512850 63332258 1.00

No file size changes detected.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-DS SF=1 on NVME 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -0.7%
Engines: DataFusion No clear signal (-0.8%, low confidence) · DuckDB No clear signal (-0.7%, low confidence)
Vortex (geomean): 1.007x ➖
Parquet (geomean): 1.013x ➖
Shifts: Parquet (control) +1.3% · Median polish +0.4%

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.002x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-file-compressed 23082447 23395667 0.99
tpcds_q02/datafusion:vortex-file-compressed 42324379 42914387 0.99
tpcds_q03/datafusion:vortex-file-compressed 14084337 13993738 1.01
tpcds_q04/datafusion:vortex-file-compressed 217093944 216915879 1.00
tpcds_q05/datafusion:vortex-file-compressed 42681197 42754201 1.00
tpcds_q06/datafusion:vortex-file-compressed 22640941 22148587 1.02
tpcds_q07/datafusion:vortex-file-compressed 41049494 42441800 0.97
tpcds_q08/datafusion:vortex-file-compressed 28512234 29279568 0.97
tpcds_q09/datafusion:vortex-file-compressed 30227493 31178246 0.97
tpcds_q10/datafusion:vortex-file-compressed 35769837 36733694 0.97
tpcds_q11/datafusion:vortex-file-compressed 126216111 127703885 0.99
tpcds_q12/datafusion:vortex-file-compressed 16736770 17776344 0.94
tpcds_q13/datafusion:vortex-file-compressed 42910743 42740003 1.00
tpcds_q14/datafusion:vortex-file-compressed 160279088 154911980 1.03
tpcds_q15/datafusion:vortex-file-compressed 24970499 24906899 1.00
tpcds_q16/datafusion:vortex-file-compressed 22814656 21242879 1.07
tpcds_q17/datafusion:vortex-file-compressed 59176606 57144274 1.04
tpcds_q18/datafusion:vortex-file-compressed 58017887 57449767 1.01
tpcds_q19/datafusion:vortex-file-compressed 20716823 21345862 0.97
tpcds_q20/datafusion:vortex-file-compressed 18797455 19323294 0.97
tpcds_q21/datafusion:vortex-file-compressed 37327194 35926638 1.04
tpcds_q22/datafusion:vortex-file-compressed 150563224 155198036 0.97
tpcds_q23/datafusion:vortex-file-compressed 146813852 145951266 1.01
tpcds_q24/datafusion:vortex-file-compressed 81227973 81377460 1.00
tpcds_q25/datafusion:vortex-file-compressed 62599115 59034113 1.06
tpcds_q26/datafusion:vortex-file-compressed 29815980 29384350 1.01
tpcds_q27/datafusion:vortex-file-compressed 91249622 90828251 1.00
tpcds_q28/datafusion:vortex-file-compressed 30774088 31806526 0.97
tpcds_q29/datafusion:vortex-file-compressed 59093620 57660492 1.02
tpcds_q30/datafusion:vortex-file-compressed 24981078 24433888 1.02
tpcds_q31/datafusion:vortex-file-compressed 67495241 67143311 1.01
tpcds_q32/datafusion:vortex-file-compressed 17381373 17138091 1.01
tpcds_q33/datafusion:vortex-file-compressed 28065464 28218348 0.99
tpcds_q34/datafusion:vortex-file-compressed 26229457 24078593 1.09
tpcds_q35/datafusion:vortex-file-compressed 44152833 41660784 1.06
tpcds_q36/datafusion:vortex-file-compressed 57286414 56309505 1.02
tpcds_q37/datafusion:vortex-file-compressed 18280212 19240197 0.95
tpcds_q38/datafusion:vortex-file-compressed 37332289 36942647 1.01
tpcds_q39/datafusion:vortex-file-compressed 104921141 103977626 1.01
tpcds_q40/datafusion:vortex-file-compressed 28599915 29611022 0.97
tpcds_q41/datafusion:vortex-file-compressed 19480811 20057520 0.97
tpcds_q42/datafusion:vortex-file-compressed 13178581 13173443 1.00
tpcds_q43/datafusion:vortex-file-compressed 17751526 18373614 0.97
tpcds_q44/datafusion:vortex-file-compressed 29246321 29055571 1.01
tpcds_q45/datafusion:vortex-file-compressed 24929007 24664332 1.01
tpcds_q46/datafusion:vortex-file-compressed 34852823 34922688 1.00
tpcds_q47/datafusion:vortex-file-compressed 136601376 138504151 0.99
tpcds_q48/datafusion:vortex-file-compressed 38205893 35918877 1.06
tpcds_q49/datafusion:vortex-file-compressed 58125709 58971544 0.99
tpcds_q50/datafusion:vortex-file-compressed 39505185 38594110 1.02
tpcds_q51/datafusion:vortex-file-compressed 91182113 88403888 1.03
tpcds_q52/datafusion:vortex-file-compressed 13515010 13693369 0.99
tpcds_q53/datafusion:vortex-file-compressed 21964488 21466170 1.02
tpcds_q54/datafusion:vortex-file-compressed 32922368 32017981 1.03
tpcds_q55/datafusion:vortex-file-compressed 13303002 12870627 1.03
tpcds_q56/datafusion:vortex-file-compressed 29620365 30084351 0.98
tpcds_q57/datafusion:vortex-file-compressed 88841735 90813595 0.98
tpcds_q58/datafusion:vortex-file-compressed 53685036 51732029 1.04
tpcds_q59/datafusion:vortex-file-compressed 56409985 57186608 0.99
tpcds_q60/datafusion:vortex-file-compressed 29321414 28213721 1.04
tpcds_q61/datafusion:vortex-file-compressed 39243478 39898278 0.98
tpcds_q62/datafusion:vortex-file-compressed 20983206 20960982 1.00
tpcds_q63/datafusion:vortex-file-compressed 22018288 21463999 1.03
tpcds_q64/datafusion:vortex-file-compressed 383329983 369055995 1.04
tpcds_q65/datafusion:vortex-file-compressed 50425833 49936348 1.01
tpcds_q66/datafusion:vortex-file-compressed 67595326 66615057 1.01
tpcds_q67/datafusion:vortex-file-compressed 145573324 149408654 0.97
tpcds_q68/datafusion:vortex-file-compressed 31798493 32785419 0.97
tpcds_q69/datafusion:vortex-file-compressed 33648222 33187297 1.01
tpcds_q70/datafusion:vortex-file-compressed 95155067 92281622 1.03
tpcds_q71/datafusion:vortex-file-compressed 21782018 21752733 1.00
tpcds_q72/datafusion:vortex-file-compressed 2079562593 2066140228 1.01
tpcds_q73/datafusion:vortex-file-compressed 24134912 22908100 1.05
tpcds_q74/datafusion:vortex-file-compressed 76429088 76525241 1.00
tpcds_q75/datafusion:vortex-file-compressed 104151602 105245815 0.99
tpcds_q76/datafusion:vortex-file-compressed 28651742 27808197 1.03
tpcds_q77/datafusion:vortex-file-compressed 35316031 35503201 0.99
tpcds_q78/datafusion:vortex-file-compressed 108051248 106788008 1.01
tpcds_q79/datafusion:vortex-file-compressed 28048148 28332988 0.99
tpcds_q80/datafusion:vortex-file-compressed 84456682 85005276 0.99
tpcds_q81/datafusion:vortex-file-compressed 24058683 24390368 0.99
tpcds_q82/datafusion:vortex-file-compressed 18844381 20463347 0.92
tpcds_q83/datafusion:vortex-file-compressed 34290907 34646701 0.99
tpcds_q84/datafusion:vortex-file-compressed 11623240 11680789 1.00
tpcds_q85/datafusion:vortex-file-compressed 84925926 85604993 0.99
tpcds_q86/datafusion:vortex-file-compressed 14324503 14249280 1.01
tpcds_q87/datafusion:vortex-file-compressed 37512193 38349099 0.98
tpcds_q88/datafusion:vortex-file-compressed 54214247 53174019 1.02
tpcds_q89/datafusion:vortex-file-compressed 24847003 24411314 1.02
tpcds_q90/datafusion:vortex-file-compressed 12890937 13468073 0.96
tpcds_q91/datafusion:vortex-file-compressed 18604625 18339385 1.01
tpcds_q92/datafusion:vortex-file-compressed 15020721 14904316 1.01
tpcds_q93/datafusion:vortex-file-compressed 29909005 30124181 0.99
tpcds_q94/datafusion:vortex-file-compressed 19740985 19707606 1.00
tpcds_q95/datafusion:vortex-file-compressed 55118371 55254216 1.00
tpcds_q96/datafusion:vortex-file-compressed 12406859 12266040 1.01
tpcds_q97/datafusion:vortex-file-compressed 27673842 26812292 1.03
tpcds_q98/datafusion:vortex-file-compressed 23354375 23699083 0.99
tpcds_q99/datafusion:vortex-file-compressed 23978921 26075101 0.92
datafusion / vortex-compact (1.008x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-compact 22938393 22971397 1.00
tpcds_q02/datafusion:vortex-compact 48509257 50305615 0.96
tpcds_q03/datafusion:vortex-compact 20643065 19035769 1.08
tpcds_q04/datafusion:vortex-compact 262448244 259918647 1.01
tpcds_q05/datafusion:vortex-compact 47224498 47524048 0.99
tpcds_q06/datafusion:vortex-compact 28984250 28961036 1.00
tpcds_q07/datafusion:vortex-compact 59017997 61156783 0.97
tpcds_q08/datafusion:vortex-compact 40047798 39532644 1.01
tpcds_q09/datafusion:vortex-compact 55164816 53668670 1.03
tpcds_q10/datafusion:vortex-compact 52688505 52970046 0.99
tpcds_q11/datafusion:vortex-compact 149628455 151527233 0.99
tpcds_q12/datafusion:vortex-compact 21351245 20634040 1.03
tpcds_q13/datafusion:vortex-compact 128756161 121504389 1.06
tpcds_q14/datafusion:vortex-compact 192028931 181966964 1.06
tpcds_q15/datafusion:vortex-compact 30331504 32718775 0.93
tpcds_q16/datafusion:vortex-compact 27812553 28207005 0.99
tpcds_q17/datafusion:vortex-compact 97276575 98350935 0.99
tpcds_q18/datafusion:vortex-compact 72452564 70647334 1.03
tpcds_q19/datafusion:vortex-compact 34879327 34305614 1.02
tpcds_q20/datafusion:vortex-compact 22903461 23821676 0.96
tpcds_q21/datafusion:vortex-compact 40258456 39960411 1.01
tpcds_q22/datafusion:vortex-compact 134961593 129791515 1.04
tpcds_q23/datafusion:vortex-compact 180737327 171940829 1.05
tpcds_q24/datafusion:vortex-compact 105578836 103212178 1.02
tpcds_q25/datafusion:vortex-compact 80728112 80203628 1.01
tpcds_q26/datafusion:vortex-compact 41789613 41364479 1.01
tpcds_q27/datafusion:vortex-compact 134363911 134305664 1.00
tpcds_q28/datafusion:vortex-compact 85705112 84795675 1.01
tpcds_q29/datafusion:vortex-compact 76983224 75785678 1.02
tpcds_q30/datafusion:vortex-compact 28905267 28355194 1.02
tpcds_q31/datafusion:vortex-compact 100625048 100369746 1.00
tpcds_q32/datafusion:vortex-compact 20868610 21473465 0.97
tpcds_q33/datafusion:vortex-compact 39252197 38548130 1.02
tpcds_q34/datafusion:vortex-compact 42453810 41512651 1.02
tpcds_q35/datafusion:vortex-compact 57423837 57887853 0.99
tpcds_q36/datafusion:vortex-compact 77820450 75469916 1.03
tpcds_q37/datafusion:vortex-compact 🚨 28795849 25476844 1.13
tpcds_q38/datafusion:vortex-compact 48495163 51252222 0.95
tpcds_q39/datafusion:vortex-compact 115666884 111904170 1.03
tpcds_q40/datafusion:vortex-compact 32083198 31394431 1.02
tpcds_q41/datafusion:vortex-compact 21890248 21527639 1.02
tpcds_q42/datafusion:vortex-compact 18609098 18239931 1.02
tpcds_q43/datafusion:vortex-compact 26008034 26323171 0.99
tpcds_q44/datafusion:vortex-compact 48163931 48158939 1.00
tpcds_q45/datafusion:vortex-compact 30003176 29754953 1.01
tpcds_q46/datafusion:vortex-compact 55062763 54298128 1.01
tpcds_q47/datafusion:vortex-compact 156554860 152088177 1.03
tpcds_q48/datafusion:vortex-compact 103168291 98560076 1.05
tpcds_q49/datafusion:vortex-compact 77223801 76132441 1.01
tpcds_q50/datafusion:vortex-compact 54907587 50903229 1.08
tpcds_q51/datafusion:vortex-compact 93470127 93738202 1.00
tpcds_q52/datafusion:vortex-compact 18690286 19035378 0.98
tpcds_q53/datafusion:vortex-compact 30327367 29493918 1.03
tpcds_q54/datafusion:vortex-compact 44153607 43149662 1.02
tpcds_q55/datafusion:vortex-compact 18251094 18504134 0.99
tpcds_q56/datafusion:vortex-compact 39804542 38837420 1.02
tpcds_q57/datafusion:vortex-compact 98495758 99915111 0.99
tpcds_q58/datafusion:vortex-compact 58387002 58332205 1.00
tpcds_q59/datafusion:vortex-compact 74353819 73276077 1.01
tpcds_q60/datafusion:vortex-compact 38459139 38857922 0.99
tpcds_q61/datafusion:vortex-compact 57648790 56738541 1.02
tpcds_q62/datafusion:vortex-compact 22822695 22758222 1.00
tpcds_q63/datafusion:vortex-compact 29938234 29488768 1.02
tpcds_q64/datafusion:vortex-compact 444501738 446234117 1.00
tpcds_q65/datafusion:vortex-compact 68537905 66076649 1.04
tpcds_q66/datafusion:vortex-compact 74937004 71928496 1.04
tpcds_q67/datafusion:vortex-compact 160349022 161293870 0.99
tpcds_q68/datafusion:vortex-compact 53557841 54892654 0.98
tpcds_q69/datafusion:vortex-compact 49475189 50730544 0.98
tpcds_q70/datafusion:vortex-compact 112622120 111378210 1.01
tpcds_q71/datafusion:vortex-compact 31931757 32896950 0.97
tpcds_q72/datafusion:vortex-compact 2137121140 2061574128 1.04
tpcds_q73/datafusion:vortex-compact 39356665 40185752 0.98
tpcds_q74/datafusion:vortex-compact 93226305 94616654 0.99
tpcds_q75/datafusion:vortex-compact 139775848 136589247 1.02
tpcds_q76/datafusion:vortex-compact 38083934 38570982 0.99
tpcds_q77/datafusion:vortex-compact 46414338 46208214 1.00
tpcds_q78/datafusion:vortex-compact 123153271 124179413 0.99
tpcds_q79/datafusion:vortex-compact 47436059 49140347 0.97
tpcds_q80/datafusion:vortex-compact 98148092 98879888 0.99
tpcds_q81/datafusion:vortex-compact 26243916 26907147 0.98
tpcds_q82/datafusion:vortex-compact 26986162 26842344 1.01
tpcds_q83/datafusion:vortex-compact 35822129 36163487 0.99
tpcds_q84/datafusion:vortex-compact 13961719 12851305 1.09
tpcds_q85/datafusion:vortex-compact 135266866 129214345 1.05
tpcds_q86/datafusion:vortex-compact 16447211 16417241 1.00
tpcds_q87/datafusion:vortex-compact 49443692 49432003 1.00
tpcds_q88/datafusion:vortex-compact 110513334 111096084 0.99
tpcds_q89/datafusion:vortex-compact 32066408 33595039 0.95
tpcds_q90/datafusion:vortex-compact 15128842 16223464 0.93
tpcds_q91/datafusion:vortex-compact 36522224 36365610 1.00
tpcds_q92/datafusion:vortex-compact 18675728 18401741 1.01
tpcds_q93/datafusion:vortex-compact 39648908 41523671 0.95
tpcds_q94/datafusion:vortex-compact 25187413 24749188 1.02
tpcds_q95/datafusion:vortex-compact 61222195 61340749 1.00
tpcds_q96/datafusion:vortex-compact 22274588 22691162 0.98
tpcds_q97/datafusion:vortex-compact 38186584 35633826 1.07
tpcds_q98/datafusion:vortex-compact 32100180 30235251 1.06
tpcds_q99/datafusion:vortex-compact 29626910 27954788 1.06
datafusion / parquet (1.013x ➖, 1↑ 3↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpcds_q01/datafusion:parquet 24108270 25642874 0.94
tpcds_q02/datafusion:parquet 41082385 44268143 0.93
tpcds_q03/datafusion:parquet 13831091 13806230 1.00
tpcds_q04/datafusion:parquet 311299415 306666808 1.02
tpcds_q05/datafusion:parquet 46704287 44593555 1.05
tpcds_q06/datafusion:parquet 22480615 22924313 0.98
tpcds_q07/datafusion:parquet 76882385 76544004 1.00
tpcds_q08/datafusion:parquet 28737689 28886537 0.99
tpcds_q09/datafusion:parquet 40947797 38744909 1.06
tpcds_q10/datafusion:parquet 🚨 80623728 70494676 1.14
tpcds_q11/datafusion:parquet 158781860 145239843 1.09
tpcds_q12/datafusion:parquet 19587823 17918656 1.09
tpcds_q13/datafusion:parquet 75212559 75366974 1.00
tpcds_q14/datafusion:parquet 157531337 160532795 0.98
tpcds_q15/datafusion:parquet 20899442 21414517 0.98
tpcds_q16/datafusion:parquet 28595848 30539293 0.94
tpcds_q17/datafusion:parquet 61171850 63804294 0.96
tpcds_q18/datafusion:parquet 108059387 108409263 1.00
tpcds_q19/datafusion:parquet 23560945 23665313 1.00
tpcds_q20/datafusion:parquet 17153354 16201986 1.06
tpcds_q21/datafusion:parquet 18241447 18519344 0.98
tpcds_q22/datafusion:parquet 162750695 155012675 1.05
tpcds_q23/datafusion:parquet 148190836 150887625 0.98
tpcds_q24/datafusion:parquet 92689146 90154796 1.03
tpcds_q25/datafusion:parquet 66198546 62931045 1.05
tpcds_q26/datafusion:parquet 68658369 63452067 1.08
tpcds_q27/datafusion:parquet 135878619 140949435 0.96
tpcds_q28/datafusion:parquet 46534899 44989045 1.03
tpcds_q29/datafusion:parquet 63916981 65100082 0.98
tpcds_q30/datafusion:parquet 34070386 32625873 1.04
tpcds_q31/datafusion:parquet 65721600 64828474 1.01
tpcds_q32/datafusion:parquet 16652080 16387336 1.02
tpcds_q33/datafusion:parquet 29113762 27318190 1.07
tpcds_q34/datafusion:parquet 22900454 22972040 1.00
tpcds_q35/datafusion:parquet 73137798 71189165 1.03
tpcds_q36/datafusion:parquet 58359590 57935525 1.01
tpcds_q37/datafusion:parquet 19771494 19181762 1.03
tpcds_q38/datafusion:parquet 42333992 40838534 1.04
tpcds_q39/datafusion:parquet 76514713 71837281 1.07
tpcds_q40/datafusion:parquet 23970770 22764613 1.05
tpcds_q41/datafusion:parquet 14577483 15478945 0.94
tpcds_q42/datafusion:parquet 11855095 11917607 0.99
tpcds_q43/datafusion:parquet 17041006 16690435 1.02
tpcds_q44/datafusion:parquet 32407904 31112594 1.04
tpcds_q45/datafusion:parquet 28862428 28949943 1.00
tpcds_q46/datafusion:parquet 33135778 32306400 1.03
tpcds_q47/datafusion:parquet 129074041 127138095 1.02
tpcds_q48/datafusion:parquet 69562378 69141239 1.01
tpcds_q49/datafusion:parquet 56996070 55161053 1.03
tpcds_q50/datafusion:parquet 42132112 41492051 1.02
tpcds_q51/datafusion:parquet 89874386 85109313 1.06
tpcds_q52/datafusion:parquet 12265183 11911369 1.03
tpcds_q53/datafusion:parquet 18013375 18577220 0.97
tpcds_q54/datafusion:parquet 32269370 32442446 0.99
tpcds_q55/datafusion:parquet 11828139 12123156 0.98
tpcds_q56/datafusion:parquet 27377212 28942987 0.95
tpcds_q57/datafusion:parquet 95771572 96325083 0.99
tpcds_q58/datafusion:parquet 56993835 55265057 1.03
tpcds_q59/datafusion:parquet 61456325 61889368 0.99
tpcds_q60/datafusion:parquet 27267722 28080318 0.97
tpcds_q61/datafusion:parquet 42717361 42587715 1.00
tpcds_q62/datafusion:parquet 🚨 24623218 19970744 1.23
tpcds_q63/datafusion:parquet 18068867 18207312 0.99
tpcds_q64/datafusion:parquet 301966407 303710304 0.99
tpcds_q65/datafusion:parquet 37999175 37263322 1.02
tpcds_q66/datafusion:parquet 70046845 71899736 0.97
tpcds_q67/datafusion:parquet 145520946 141024780 1.03
tpcds_q68/datafusion:parquet 32121483 32187807 1.00
tpcds_q69/datafusion:parquet 67771612 66454109 1.02
tpcds_q70/datafusion:parquet 32952285 33056308 1.00
tpcds_q71/datafusion:parquet 21853226 22639786 0.97
tpcds_q72/datafusion:parquet 596449857 573743944 1.04
tpcds_q73/datafusion:parquet 21422755 21012943 1.02
tpcds_q74/datafusion:parquet 88511359 83264314 1.06
tpcds_q75/datafusion:parquet 105273876 104125665 1.01
tpcds_q76/datafusion:parquet 30922371 30205299 1.02
tpcds_q77/datafusion:parquet 40289745 39678331 1.02
tpcds_q78/datafusion:parquet 108351603 105418153 1.03
tpcds_q79/datafusion:parquet 27199464 26813864 1.01
tpcds_q80/datafusion:parquet 76428930 82694683 0.92
tpcds_q81/datafusion:parquet 30071648 30928055 0.97
tpcds_q82/datafusion:parquet 18653248 19119829 0.98
tpcds_q83/datafusion:parquet 40797186 40399446 1.01
tpcds_q84/datafusion:parquet 40219856 39227067 1.03
tpcds_q85/datafusion:parquet 145341283 146782918 0.99
tpcds_q86/datafusion:parquet 🚀 13772408 15868238 0.87
tpcds_q87/datafusion:parquet 45416794 46087981 0.99
tpcds_q88/datafusion:parquet 61663841 60242392 1.02
tpcds_q89/datafusion:parquet 23639541 22696304 1.04
tpcds_q90/datafusion:parquet 14664361 13941190 1.05
tpcds_q91/datafusion:parquet 57423696 57115554 1.01
tpcds_q92/datafusion:parquet 18007745 17378056 1.04
tpcds_q93/datafusion:parquet 30225211 32106638 0.94
tpcds_q94/datafusion:parquet 20053642 19193698 1.04
tpcds_q95/datafusion:parquet 62884050 59032108 1.07
tpcds_q96/datafusion:parquet 13488778 12420801 1.09
tpcds_q97/datafusion:parquet 28895171 30668743 0.94
tpcds_q98/datafusion:parquet 22101483 21461105 1.03
tpcds_q99/datafusion:parquet 🚨 28919249 25421889 1.14
duckdb / vortex-file-compressed (1.008x ➖, 0↑ 4↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-file-compressed 🚨 25700535 22637688 1.14
tpcds_q02/duckdb:vortex-file-compressed 22308421 22388007 1.00
tpcds_q03/duckdb:vortex-file-compressed 19310915 18962380 1.02
tpcds_q04/duckdb:vortex-file-compressed 95597198 91889574 1.04
tpcds_q05/duckdb:vortex-file-compressed 34242556 33965662 1.01
tpcds_q06/duckdb:vortex-file-compressed 34212593 34544222 0.99
tpcds_q07/duckdb:vortex-file-compressed 28843155 28942491 1.00
tpcds_q08/duckdb:vortex-file-compressed 27838184 26744661 1.04
tpcds_q09/duckdb:vortex-file-compressed 🚨 17605457 15254870 1.15
tpcds_q10/duckdb:vortex-file-compressed 39538735 39421044 1.00
tpcds_q11/duckdb:vortex-file-compressed 72141886 70873573 1.02
tpcds_q12/duckdb:vortex-file-compressed 14419151 13980330 1.03
tpcds_q13/duckdb:vortex-file-compressed 35737693 34621980 1.03
tpcds_q14/duckdb:vortex-file-compressed 102676667 102855026 1.00
tpcds_q15/duckdb:vortex-file-compressed 27523003 26838022 1.03
tpcds_q16/duckdb:vortex-file-compressed 24341070 23552762 1.03
tpcds_q17/duckdb:vortex-file-compressed 49830805 47903373 1.04
tpcds_q18/duckdb:vortex-file-compressed 39186317 39218035 1.00
tpcds_q19/duckdb:vortex-file-compressed 37221328 34958722 1.06
tpcds_q20/duckdb:vortex-file-compressed 14411662 14084677 1.02
tpcds_q21/duckdb:vortex-file-compressed 16747381 16220946 1.03
tpcds_q22/duckdb:vortex-file-compressed 71323929 70399221 1.01
tpcds_q23/duckdb:vortex-file-compressed 87523771 88986704 0.98
tpcds_q24/duckdb:vortex-file-compressed 44462030 43783972 1.02
tpcds_q25/duckdb:vortex-file-compressed 37666178 35939398 1.05
tpcds_q26/duckdb:vortex-file-compressed 18122361 18199704 1.00
tpcds_q27/duckdb:vortex-file-compressed 28975376 29090492 1.00
tpcds_q28/duckdb:vortex-file-compressed 12328959 11684811 1.06
tpcds_q29/duckdb:vortex-file-compressed 45034964 46757548 0.96
tpcds_q30/duckdb:vortex-file-compressed 25475993 25896446 0.98
tpcds_q31/duckdb:vortex-file-compressed 30555332 30273039 1.01
tpcds_q32/duckdb:vortex-file-compressed 12868090 12909482 1.00
tpcds_q33/duckdb:vortex-file-compressed 24515479 25915397 0.95
tpcds_q34/duckdb:vortex-file-compressed 26727631 26952272 0.99
tpcds_q35/duckdb:vortex-file-compressed 68921745 68262833 1.01
tpcds_q36/duckdb:vortex-file-compressed 25491080 25961981 0.98
tpcds_q37/duckdb:vortex-file-compressed 19393025 19375098 1.00
tpcds_q38/duckdb:vortex-file-compressed 36891147 35305709 1.04
tpcds_q39/duckdb:vortex-file-compressed 28223039 29030396 0.97
tpcds_q40/duckdb:vortex-file-compressed 18134094 17820911 1.02
tpcds_q41/duckdb:vortex-file-compressed 12103626 12099963 1.00
tpcds_q42/duckdb:vortex-file-compressed 15285063 16322357 0.94
tpcds_q43/duckdb:vortex-file-compressed 17426904 18139429 0.96
tpcds_q44/duckdb:vortex-file-compressed 22015909 20956766 1.05
tpcds_q45/duckdb:vortex-file-compressed 29941395 30627988 0.98
tpcds_q46/duckdb:vortex-file-compressed 32636497 32422774 1.01
tpcds_q47/duckdb:vortex-file-compressed 52723772 52032488 1.01
tpcds_q48/duckdb:vortex-file-compressed 33228708 31565652 1.05
tpcds_q49/duckdb:vortex-file-compressed 37260190 34648456 1.08
tpcds_q50/duckdb:vortex-file-compressed 27128875 27012307 1.00
tpcds_q51/duckdb:vortex-file-compressed 107454898 105690900 1.02
tpcds_q52/duckdb:vortex-file-compressed 15414336 16037418 0.96
tpcds_q53/duckdb:vortex-file-compressed 23967752 24252183 0.99
tpcds_q54/duckdb:vortex-file-compressed 28709216 29972686 0.96
tpcds_q55/duckdb:vortex-file-compressed 15989485 14565330 1.10
tpcds_q56/duckdb:vortex-file-compressed 28827922 28898472 1.00
tpcds_q57/duckdb:vortex-file-compressed 🚨 40139809 36348583 1.10
tpcds_q58/duckdb:vortex-file-compressed 30776925 30722306 1.00
tpcds_q59/duckdb:vortex-file-compressed 39700378 38491228 1.03
tpcds_q60/duckdb:vortex-file-compressed 27752826 27255678 1.02
tpcds_q61/duckdb:vortex-file-compressed 32542099 31341025 1.04
tpcds_q62/duckdb:vortex-file-compressed 14612808 14808706 0.99
tpcds_q63/duckdb:vortex-file-compressed 22016528 21946268 1.00
tpcds_q64/duckdb:vortex-file-compressed 99484783 99763752 1.00
tpcds_q65/duckdb:vortex-file-compressed 23238719 24149441 0.96
tpcds_q66/duckdb:vortex-file-compressed 30100460 29614805 1.02
tpcds_q67/duckdb:vortex-file-compressed 138914908 143397263 0.97
tpcds_q68/duckdb:vortex-file-compressed 🚨 39740622 33423907 1.19
tpcds_q69/duckdb:vortex-file-compressed 42416068 44873390 0.95
tpcds_q70/duckdb:vortex-file-compressed 32738118 32680726 1.00
tpcds_q71/duckdb:vortex-file-compressed 22788510 22908692 0.99
tpcds_q72/duckdb:vortex-file-compressed 153870432 161994321 0.95
tpcds_q73/duckdb:vortex-file-compressed 27710501 28080273 0.99
tpcds_q74/duckdb:vortex-file-compressed 46076947 46115509 1.00
tpcds_q75/duckdb:vortex-file-compressed 49430325 49241831 1.00
tpcds_q76/duckdb:vortex-file-compressed 20581928 22138522 0.93
tpcds_q77/duckdb:vortex-file-compressed 25015899 23567749 1.06
tpcds_q78/duckdb:vortex-file-compressed 66421677 67538736 0.98
tpcds_q79/duckdb:vortex-file-compressed 27175292 27215174 1.00
tpcds_q80/duckdb:vortex-file-compressed 46875746 47095614 1.00
tpcds_q81/duckdb:vortex-file-compressed 29764845 29097809 1.02
tpcds_q82/duckdb:vortex-file-compressed 45685325 46392720 0.98
tpcds_q83/duckdb:vortex-file-compressed 27591666 27823315 0.99
tpcds_q84/duckdb:vortex-file-compressed 16681925 16629831 1.00
tpcds_q85/duckdb:vortex-file-compressed 43510418 43142443 1.01
tpcds_q86/duckdb:vortex-file-compressed 16106768 16648303 0.97
tpcds_q87/duckdb:vortex-file-compressed 38169718 37409284 1.02
tpcds_q88/duckdb:vortex-file-compressed 57635705 59098539 0.98
tpcds_q89/duckdb:vortex-file-compressed 21904569 23678515 0.93
tpcds_q90/duckdb:vortex-file-compressed 10895082 10708594 1.02
tpcds_q91/duckdb:vortex-file-compressed 21549019 22592950 0.95
tpcds_q92/duckdb:vortex-file-compressed 17144813 18184637 0.94
tpcds_q93/duckdb:vortex-file-compressed 28866450 27362712 1.05
tpcds_q94/duckdb:vortex-file-compressed 22022978 21375577 1.03
tpcds_q95/duckdb:vortex-file-compressed 122706522 122460461 1.00
tpcds_q96/duckdb:vortex-file-compressed 13444011 13671915 0.98
tpcds_q97/duckdb:vortex-file-compressed 36593407 36055597 1.01
tpcds_q98/duckdb:vortex-file-compressed 19350468 19696444 0.98
tpcds_q99/duckdb:vortex-file-compressed 19711806 18615712 1.06
duckdb / vortex-compact (1.009x ➖, 0↑ 4↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-compact 🚨 25756553 23274556 1.11
tpcds_q02/duckdb:vortex-compact 25494156 25581347 1.00
tpcds_q03/duckdb:vortex-compact 45603625 46396321 0.98
tpcds_q04/duckdb:vortex-compact 110167626 114266068 0.96
tpcds_q05/duckdb:vortex-compact 53151826 54271892 0.98
tpcds_q06/duckdb:vortex-compact 48702327 48480415 1.00
tpcds_q07/duckdb:vortex-compact 61909905 59793483 1.04
tpcds_q08/duckdb:vortex-compact 100550710 103073306 0.98
tpcds_q09/duckdb:vortex-compact 🚨 28039857 24845545 1.13
tpcds_q10/duckdb:vortex-compact 75239811 77281588 0.97
tpcds_q11/duckdb:vortex-compact 89151816 87782078 1.02
tpcds_q12/duckdb:vortex-compact 18860673 18289967 1.03
tpcds_q13/duckdb:vortex-compact 85682241 86068914 1.00
tpcds_q14/duckdb:vortex-compact 139581997 140636713 0.99
tpcds_q15/duckdb:vortex-compact 32471908 32256355 1.01
tpcds_q16/duckdb:vortex-compact 31930793 29100563 1.10
tpcds_q17/duckdb:vortex-compact 89306626 86898767 1.03
tpcds_q18/duckdb:vortex-compact 🚨 59260058 52476386 1.13
tpcds_q19/duckdb:vortex-compact 66599541 66977671 0.99
tpcds_q20/duckdb:vortex-compact 18379577 18318099 1.00
tpcds_q21/duckdb:vortex-compact 17369830 17434637 1.00
tpcds_q22/duckdb:vortex-compact 74815521 74942938 1.00
tpcds_q23/duckdb:vortex-compact 125880075 128817597 0.98
tpcds_q24/duckdb:vortex-compact 77425035 75451477 1.03
tpcds_q25/duckdb:vortex-compact 65689065 59997342 1.09
tpcds_q26/duckdb:vortex-compact 35074078 33714761 1.04
tpcds_q27/duckdb:vortex-compact 67098552 69212902 0.97
tpcds_q28/duckdb:vortex-compact 22324246 22020431 1.01
tpcds_q29/duckdb:vortex-compact 87404858 86327403 1.01
tpcds_q30/duckdb:vortex-compact 29291477 30030293 0.98
tpcds_q31/duckdb:vortex-compact 49599473 52449924 0.95
tpcds_q32/duckdb:vortex-compact 18075689 18233723 0.99
tpcds_q33/duckdb:vortex-compact 45940769 47075753 0.98
tpcds_q34/duckdb:vortex-compact 56332346 55364945 1.02
tpcds_q35/duckdb:vortex-compact 99587793 101436720 0.98
tpcds_q36/duckdb:vortex-compact 46757267 46602683 1.00
tpcds_q37/duckdb:vortex-compact 23630501 21825053 1.08
tpcds_q38/duckdb:vortex-compact 56356598 54664732 1.03
tpcds_q39/duckdb:vortex-compact 29773701 29819074 1.00
tpcds_q40/duckdb:vortex-compact 21382971 20783263 1.03
tpcds_q41/duckdb:vortex-compact 14316429 13515566 1.06
tpcds_q42/duckdb:vortex-compact 25451567 23772756 1.07
tpcds_q43/duckdb:vortex-compact 38867658 38457079 1.01
tpcds_q44/duckdb:vortex-compact 35058857 35061651 1.00
tpcds_q45/duckdb:vortex-compact 40192359 39549433 1.02
tpcds_q46/duckdb:vortex-compact 72809381 73001694 1.00
tpcds_q47/duckdb:vortex-compact 74870439 74528155 1.00
tpcds_q48/duckdb:vortex-compact 75195761 75854214 0.99
tpcds_q49/duckdb:vortex-compact 64269029 59194398 1.09
tpcds_q50/duckdb:vortex-compact 59559123 58947577 1.01
tpcds_q51/duckdb:vortex-compact 115113710 120841516 0.95
tpcds_q52/duckdb:vortex-compact 24457585 24577691 1.00
tpcds_q53/duckdb:vortex-compact 45959354 45229768 1.02
tpcds_q54/duckdb:vortex-compact 47817725 48462419 0.99
tpcds_q55/duckdb:vortex-compact 24584202 24845459 0.99
tpcds_q56/duckdb:vortex-compact 45951556 46374819 0.99
tpcds_q57/duckdb:vortex-compact 39836188 42701024 0.93
tpcds_q58/duckdb:vortex-compact 41920648 41942192 1.00
tpcds_q59/duckdb:vortex-compact 56814538 56889642 1.00
tpcds_q60/duckdb:vortex-compact 49245100 50015215 0.98
tpcds_q61/duckdb:vortex-compact 92356618 90769298 1.02
tpcds_q62/duckdb:vortex-compact 18106054 18850288 0.96
tpcds_q63/duckdb:vortex-compact 43239162 45284789 0.95
tpcds_q64/duckdb:vortex-compact 167048943 165629248 1.01
tpcds_q65/duckdb:vortex-compact 39853457 39739015 1.00
tpcds_q66/duckdb:vortex-compact 39813341 38464527 1.04
tpcds_q67/duckdb:vortex-compact 162477358 161545842 1.01
tpcds_q68/duckdb:vortex-compact 74604255 75840482 0.98
tpcds_q69/duckdb:vortex-compact 81397064 79377004 1.03
tpcds_q70/duckdb:vortex-compact 70567052 72583985 0.97
tpcds_q71/duckdb:vortex-compact 44349799 44366601 1.00
tpcds_q72/duckdb:vortex-compact 171580100 169338221 1.01
tpcds_q73/duckdb:vortex-compact 53646059 52584251 1.02
tpcds_q74/duckdb:vortex-compact 63424280 64243520 0.99
tpcds_q75/duckdb:vortex-compact 69283320 64733563 1.07
tpcds_q76/duckdb:vortex-compact 36653755 39498625 0.93
tpcds_q77/duckdb:vortex-compact 46129280 47378755 0.97
tpcds_q78/duckdb:vortex-compact 83333795 83253219 1.00
tpcds_q79/duckdb:vortex-compact 89771190 91895609 0.98
tpcds_q80/duckdb:vortex-compact 78541378 80056552 0.98
tpcds_q81/duckdb:vortex-compact 31251991 32425204 0.96
tpcds_q82/duckdb:vortex-compact 50217402 49378908 1.02
tpcds_q83/duckdb:vortex-compact 34969358 35751428 0.98
tpcds_q84/duckdb:vortex-compact 19977208 20125293 0.99
tpcds_q85/duckdb:vortex-compact 63164942 62346390 1.01
tpcds_q86/duckdb:vortex-compact 19931897 18328992 1.09
tpcds_q87/duckdb:vortex-compact 60749827 57976329 1.05
tpcds_q88/duckdb:vortex-compact 234789365 237087802 0.99
tpcds_q89/duckdb:vortex-compact 43629127 43618195 1.00
tpcds_q90/duckdb:vortex-compact 16575845 16289381 1.02
tpcds_q91/duckdb:vortex-compact 55387427 54825718 1.01
tpcds_q92/duckdb:vortex-compact 32723463 33235100 0.98
tpcds_q93/duckdb:vortex-compact 36642252 36291757 1.01
tpcds_q94/duckdb:vortex-compact 31639072 31221655 1.01
tpcds_q95/duckdb:vortex-compact 132787607 133625026 0.99
tpcds_q96/duckdb:vortex-compact 37569618 37070613 1.01
tpcds_q97/duckdb:vortex-compact 51616800 50498093 1.02
tpcds_q98/duckdb:vortex-compact 32538169 31722108 1.03
tpcds_q99/duckdb:vortex-compact 🚨 25698469 21584501 1.19
duckdb / parquet (1.013x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpcds_q01/duckdb:parquet 29125699 30350034 0.96
tpcds_q02/duckdb:parquet 24872935 24744651 1.01
tpcds_q03/duckdb:parquet 13711927 12729320 1.08
tpcds_q04/duckdb:parquet 175087068 170370017 1.03
tpcds_q05/duckdb:parquet 33656408 32050412 1.05
tpcds_q06/duckdb:parquet 35369441 34148177 1.04
tpcds_q07/duckdb:parquet 25166029 24433273 1.03
tpcds_q08/duckdb:parquet 30564630 30309049 1.01
tpcds_q09/duckdb:parquet 44708730 45451997 0.98
tpcds_q10/duckdb:parquet 39589063 39330542 1.01
tpcds_q11/duckdb:parquet 96015000 95015439 1.01
tpcds_q12/duckdb:parquet 16451908 16209009 1.01
tpcds_q13/duckdb:parquet 35865383 35550214 1.01
tpcds_q14/duckdb:parquet 107087041 101471247 1.06
tpcds_q15/duckdb:parquet 31715501 31067760 1.02
tpcds_q16/duckdb:parquet 23649031 23733319 1.00
tpcds_q17/duckdb:parquet 38874291 40725752 0.95
tpcds_q18/duckdb:parquet 50279247 47620231 1.06
tpcds_q19/duckdb:parquet 33351114 32059984 1.04
tpcds_q20/duckdb:parquet 17790750 16903675 1.05
tpcds_q21/duckdb:parquet 12581643 11646929 1.08
tpcds_q22/duckdb:parquet 76730790 73150737 1.05
tpcds_q23/duckdb:parquet 84267284 82205897 1.03
tpcds_q24/duckdb:parquet 49274924 47500725 1.04
tpcds_q25/duckdb:parquet 37280424 36044416 1.03
tpcds_q26/duckdb:parquet 41269420 40265153 1.02
tpcds_q27/duckdb:parquet 54934690 53629543 1.02
tpcds_q28/duckdb:parquet 44192811 43764649 1.01
tpcds_q29/duckdb:parquet 39560609 37135109 1.07
tpcds_q30/duckdb:parquet 37935761 37775393 1.00
tpcds_q31/duckdb:parquet 28115919 30183041 0.93
tpcds_q32/duckdb:parquet 13100433 12873817 1.02
tpcds_q33/duckdb:parquet 25497721 24741986 1.03
tpcds_q34/duckdb:parquet 23553031 24748292 0.95
tpcds_q35/duckdb:parquet 63246644 62390166 1.01
tpcds_q36/duckdb:parquet 22975784 23054496 1.00
tpcds_q37/duckdb:parquet 14680125 14362473 1.02
tpcds_q38/duckdb:parquet 37130829 37173606 1.00
tpcds_q39/duckdb:parquet 33323055 32739305 1.02
tpcds_q40/duckdb:parquet 20352045 19721659 1.03
tpcds_q41/duckdb:parquet 9056685 8829349 1.03
tpcds_q42/duckdb:parquet 12525640 12290368 1.02
tpcds_q43/duckdb:parquet 🚨 20375923 17137495 1.19
tpcds_q44/duckdb:parquet 27039802 26269111 1.03
tpcds_q45/duckdb:parquet 30248984 29773608 1.02
tpcds_q46/duckdb:parquet 49602800 47693019 1.04
tpcds_q47/duckdb:parquet 51847468 51710029 1.00
tpcds_q48/duckdb:parquet 33662738 33074138 1.02
tpcds_q49/duckdb:parquet 30153924 30411824 0.99
tpcds_q50/duckdb:parquet 26614680 26215986 1.02
tpcds_q51/duckdb:parquet 108494434 105136206 1.03
tpcds_q52/duckdb:parquet 13829282 12693280 1.09
tpcds_q53/duckdb:parquet 18296552 17275386 1.06
tpcds_q54/duckdb:parquet 29809077 28875731 1.03
tpcds_q55/duckdb:parquet 13289130 13111152 1.01
tpcds_q56/duckdb:parquet 24441966 24120515 1.01
tpcds_q57/duckdb:parquet 39450051 38164825 1.03
tpcds_q58/duckdb:parquet 25871440 26601118 0.97
tpcds_q59/duckdb:parquet 37070743 37217851 1.00
tpcds_q60/duckdb:parquet 25160566 25184802 1.00
tpcds_q61/duckdb:parquet 35262032 34205416 1.03
tpcds_q62/duckdb:parquet 12832160 12695894 1.01
tpcds_q63/duckdb:parquet 15525648 16454710 0.94
tpcds_q64/duckdb:parquet 80790215 77465332 1.04
tpcds_q65/duckdb:parquet 24040465 23386886 1.03
tpcds_q66/duckdb:parquet 30431352 32397723 0.94
tpcds_q67/duckdb:parquet 139167536 145264602 0.96
tpcds_q68/duckdb:parquet 39999409 39829861 1.00
tpcds_q69/duckdb:parquet 39199473 39435578 0.99
tpcds_q70/duckdb:parquet 23182623 22544050 1.03
tpcds_q71/duckdb:parquet 24096948 24472094 0.98
tpcds_q72/duckdb:parquet 168165687 168321083 1.00
tpcds_q73/duckdb:parquet 20771980 21152485 0.98
tpcds_q74/duckdb:parquet 127831991 125701417 1.02
tpcds_q75/duckdb:parquet 59491724 56560798 1.05
tpcds_q76/duckdb:parquet 22093320 22948994 0.96
tpcds_q77/duckdb:parquet 25461264 25633485 0.99
tpcds_q78/duckdb:parquet 77861793 77927922 1.00
tpcds_q79/duckdb:parquet 30852574 30598814 1.01
tpcds_q80/duckdb:parquet 44355012 44010246 1.01
tpcds_q81/duckdb:parquet 35720454 35229699 1.01
tpcds_q82/duckdb:parquet 17165755 16231270 1.06
tpcds_q83/duckdb:parquet 18882433 18151156 1.04
tpcds_q84/duckdb:parquet 20796535 20520921 1.01
tpcds_q85/duckdb:parquet 42884334 42668401 1.01
tpcds_q86/duckdb:parquet 13973391 14072178 0.99
tpcds_q87/duckdb:parquet 39664655 39546106 1.00
tpcds_q88/duckdb:parquet 55446445 54084024 1.03
tpcds_q89/duckdb:parquet 18914487 19360303 0.98
tpcds_q90/duckdb:parquet 8613063 8586695 1.00
tpcds_q91/duckdb:parquet 25011876 26362326 0.95
tpcds_q92/duckdb:parquet 13356358 13544852 0.99
tpcds_q93/duckdb:parquet 32657367 32237252 1.01
tpcds_q94/duckdb:parquet 17933633 18460848 0.97
tpcds_q95/duckdb:parquet 142777679 149835810 0.95
tpcds_q96/duckdb:parquet 10800761 11046418 0.98
tpcds_q97/duckdb:parquet 40888569 39095491 1.05
tpcds_q98/duckdb:parquet 21719586 21658959 1.00
tpcds_q99/duckdb:parquet 20265932 20544161 0.99
duckdb / duckdb (1.000x ➖, 1↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpcds_q01/duckdb:duckdb 22747840 23072776 0.99
tpcds_q02/duckdb:duckdb 19805045 19199038 1.03
tpcds_q03/duckdb:duckdb 10632894 10341118 1.03
tpcds_q04/duckdb:duckdb 177717065 177280277 1.00
tpcds_q05/duckdb:duckdb 20951871 21219440 0.99
tpcds_q06/duckdb:duckdb 28286697 28242101 1.00
tpcds_q07/duckdb:duckdb 40465168 40350330 1.00
tpcds_q08/duckdb:duckdb 120888647 120783507 1.00
tpcds_q09/duckdb:duckdb 20527385 20854071 0.98
tpcds_q10/duckdb:duckdb 27862168 27654446 1.01
tpcds_q11/duckdb:duckdb 97536614 97273967 1.00
tpcds_q12/duckdb:duckdb 12691990 12606937 1.01
tpcds_q13/duckdb:duckdb 26007775 26544485 0.98
tpcds_q14/duckdb:duckdb 94309801 96551304 0.98
tpcds_q15/duckdb:duckdb 25151708 25040770 1.00
tpcds_q16/duckdb:duckdb 19218778 19164283 1.00
tpcds_q17/duckdb:duckdb 24588523 25432003 0.97
tpcds_q18/duckdb:duckdb 48015043 47112139 1.02
tpcds_q19/duckdb:duckdb 20183253 20392963 0.99
tpcds_q20/duckdb:duckdb 13558751 13316286 1.02
tpcds_q21/duckdb:duckdb 7668733 7719306 0.99
tpcds_q22/duckdb:duckdb 60748629 60610581 1.00
tpcds_q23/duckdb:duckdb 79046848 78806290 1.00
tpcds_q24/duckdb:duckdb 25856008 25789454 1.00
tpcds_q25/duckdb:duckdb 18935789 18957137 1.00
tpcds_q26/duckdb:duckdb 28187623 28860641 0.98
tpcds_q27/duckdb:duckdb 41449652 41814126 0.99
tpcds_q28/duckdb:duckdb 25471190 27003478 0.94
tpcds_q29/duckdb:duckdb 23455726 24654544 0.95
tpcds_q30/duckdb:duckdb 31046155 30777962 1.01
tpcds_q31/duckdb:duckdb 51860583 50869658 1.02
tpcds_q32/duckdb:duckdb 8808295 8085758 1.09
tpcds_q33/duckdb:duckdb 15585512 15998998 0.97
tpcds_q34/duckdb:duckdb 18671249 18661806 1.00
tpcds_q35/duckdb:duckdb 37762153 37098226 1.02
tpcds_q36/duckdb:duckdb 71332484 70293369 1.01
tpcds_q37/duckdb:duckdb 8876207 8986805 0.99
tpcds_q38/duckdb:duckdb 33572728 33879887 0.99
tpcds_q39/duckdb:duckdb 27803406 28163478 0.99
tpcds_q40/duckdb:duckdb 14995654 14520029 1.03
tpcds_q41/duckdb:duckdb 9330126 9339375 1.00
tpcds_q42/duckdb:duckdb 10666381 9763175 1.09
tpcds_q43/duckdb:duckdb 15537156 15096407 1.03
tpcds_q44/duckdb:duckdb 15129748 15510447 0.98
tpcds_q45/duckdb:duckdb 18890975 18442745 1.02
tpcds_q46/duckdb:duckdb 39335061 39558606 0.99
tpcds_q47/duckdb:duckdb 46903401 46689955 1.00
tpcds_q48/duckdb:duckdb 25335341 25041078 1.01
tpcds_q49/duckdb:duckdb 20198934 20940251 0.96
tpcds_q50/duckdb:duckdb 16310335 16155221 1.01
tpcds_q51/duckdb:duckdb 100770310 99948247 1.01
tpcds_q52/duckdb:duckdb 🚀 9561686 10675634 0.90
tpcds_q53/duckdb:duckdb 15296561 15849361 0.97
tpcds_q54/duckdb:duckdb 19151878 19063766 1.00
tpcds_q55/duckdb:duckdb 9683546 9639099 1.00
tpcds_q56/duckdb:duckdb 16451392 17037588 0.97
tpcds_q57/duckdb:duckdb 37171024 36441900 1.02
tpcds_q58/duckdb:duckdb 16627232 17138164 0.97
tpcds_q59/duckdb:duckdb 37137323 36851901 1.01
tpcds_q60/duckdb:duckdb 18415303 19222270 0.96
tpcds_q61/duckdb:duckdb 16318996 16573072 0.98
tpcds_q62/duckdb:duckdb 9988653 9853680 1.01
tpcds_q63/duckdb:duckdb 14552017 14497934 1.00
tpcds_q64/duckdb:duckdb 58338593 59061938 0.99
tpcds_q65/duckdb:duckdb 37153574 36912787 1.01
tpcds_q66/duckdb:duckdb 26278776 27268744 0.96
tpcds_q67/duckdb:duckdb 135231689 132714831 1.02
tpcds_q68/duckdb:duckdb 27366334 26785748 1.02
tpcds_q69/duckdb:duckdb 28199249 28976329 0.97
tpcds_q70/duckdb:duckdb 17298845 17359695 1.00
tpcds_q71/duckdb:duckdb 17015996 17021374 1.00
tpcds_q72/duckdb:duckdb 48225296 47377681 1.02
tpcds_q73/duckdb:duckdb 13774299 14557832 0.95
tpcds_q74/duckdb:duckdb 146313158 144426031 1.01
tpcds_q75/duckdb:duckdb 46378019 46293215 1.00
tpcds_q76/duckdb:duckdb 15063302 14702088 1.02
tpcds_q77/duckdb:duckdb 15513110 15964061 0.97
tpcds_q78/duckdb:duckdb 65895247 65877050 1.00
tpcds_q79/duckdb:duckdb 20222042 20225246 1.00
tpcds_q80/duckdb:duckdb 31663790 31134660 1.02
tpcds_q81/duckdb:duckdb 40377844 40414252 1.00
tpcds_q82/duckdb:duckdb 10210930 10310218 0.99
tpcds_q83/duckdb:duckdb 10896800 10942279 1.00
tpcds_q84/duckdb:duckdb 15094961 14796130 1.02
tpcds_q85/duckdb:duckdb 25064317 26195516 0.96
tpcds_q86/duckdb:duckdb 12257377 12008174 1.02
tpcds_q87/duckdb:duckdb 36466359 35532022 1.03
tpcds_q88/duckdb:duckdb 28448771 30827235 0.92
tpcds_q89/duckdb:duckdb 17225009 17026399 1.01
tpcds_q90/duckdb:duckdb 6118850 6113509 1.00
tpcds_q91/duckdb:duckdb 15576966 14260328 1.09
tpcds_q92/duckdb:duckdb 9876950 9768787 1.01
tpcds_q93/duckdb:duckdb 23906322 24075402 0.99
tpcds_q94/duckdb:duckdb 14298041 14844155 0.96
tpcds_q95/duckdb:duckdb 🚨 132128391 111628535 1.18
tpcds_q96/duckdb:duckdb 6005069 5832832 1.03
tpcds_q97/duckdb:duckdb 32473834 32138099 1.01
tpcds_q98/duckdb:duckdb 17814430 18754483 0.95
tpcds_q99/duckdb:duckdb 16734629 16922615 0.99

No file size changes detected.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Statistical and Population Genetics 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +0.2%
Engines: DuckDB No clear signal (+0.2%, low confidence)
Vortex (geomean): 0.981x ➖
Parquet (geomean): 0.979x ➖
Shifts: Parquet (control) -2.1% · Median polish -3.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.

duckdb / vortex-file-compressed (0.992x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-file-compressed 12482345 12436031 1.00
statpopgen_q01/duckdb:vortex-file-compressed 13056812 12882610 1.01
statpopgen_q02/duckdb:vortex-file-compressed 510977526 530658283 0.96
statpopgen_q03/duckdb:vortex-file-compressed 1029043112 1031292957 1.00
statpopgen_q04/duckdb:vortex-file-compressed 1058893409 1044089694 1.01
statpopgen_q05/duckdb:vortex-file-compressed 456467469 465535800 0.98
statpopgen_q06/duckdb:vortex-file-compressed 1509956202 1530610014 0.99
statpopgen_q07/duckdb:vortex-file-compressed 195404473 198042043 0.99
statpopgen_q08/duckdb:vortex-file-compressed 224079835 224805642 1.00
statpopgen_q09/duckdb:vortex-file-compressed 817941372 838818756 0.98
statpopgen_q10/duckdb:vortex-file-compressed 2525952960 2546668044 0.99
duckdb / vortex-compact (0.971x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-compact 11600172 12191503 0.95
statpopgen_q01/duckdb:vortex-compact 15244264 15555963 0.98
statpopgen_q02/duckdb:vortex-compact 549809575 604307584 0.91
statpopgen_q03/duckdb:vortex-compact 1149270585 1166624727 0.99
statpopgen_q04/duckdb:vortex-compact 1173453216 1178532912 1.00
statpopgen_q05/duckdb:vortex-compact 553240608 571827034 0.97
statpopgen_q06/duckdb:vortex-compact 1483384338 1499246500 0.99
statpopgen_q07/duckdb:vortex-compact 846304998 873510639 0.97
statpopgen_q08/duckdb:vortex-compact 876702264 906905434 0.97
statpopgen_q09/duckdb:vortex-compact 913825404 945542932 0.97
statpopgen_q10/duckdb:vortex-compact 2596343912 2596868442 1.00
duckdb / parquet (0.979x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
statpopgen_q00/duckdb:parquet 326121100 340780553 0.96
statpopgen_q01/duckdb:parquet 410382554 419623788 0.98
statpopgen_q02/duckdb:parquet 789446129 804503642 0.98
statpopgen_q03/duckdb:parquet 1203440249 1234372993 0.97
statpopgen_q04/duckdb:parquet 1220527993 1230368889 0.99
statpopgen_q05/duckdb:parquet 847075820 849455899 1.00
statpopgen_q06/duckdb:parquet 1459021957 1443382991 1.01
statpopgen_q07/duckdb:parquet 873589521 907514802 0.96
statpopgen_q08/duckdb:parquet 883332654 914584804 0.97
statpopgen_q09/duckdb:parquet 1037299349 1049400024 0.99
statpopgen_q10/duckdb:parquet 2217096078 2296379043 0.97

No file size changes detected.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=10 on NVME 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -1.3%
Engines: DataFusion No clear signal (-1.3%, low confidence) · DuckDB No clear signal (-2.1%, low confidence)
Vortex (geomean): 0.931x ➖
Parquet (geomean): 0.949x ➖
Shifts: Parquet (control) -5.1% · Median polish -5.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.908x ➖, 8↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 451985034 463776743 0.97
tpch_q02/datafusion:vortex-file-compressed 105413552 114145959 0.92
tpch_q03/datafusion:vortex-file-compressed 🚀 193561066 215723579 0.90
tpch_q04/datafusion:vortex-file-compressed 99234956 105320548 0.94
tpch_q05/datafusion:vortex-file-compressed 🚀 336748987 375716762 0.90
tpch_q06/datafusion:vortex-file-compressed 39563823 42077916 0.94
tpch_q07/datafusion:vortex-file-compressed 455054608 498807655 0.91
tpch_q08/datafusion:vortex-file-compressed 349033457 383371056 0.91
tpch_q09/datafusion:vortex-file-compressed 🚀 598521919 674673775 0.89
tpch_q10/datafusion:vortex-file-compressed 220665084 242835793 0.91
tpch_q11/datafusion:vortex-file-compressed 76669380 84156433 0.91
tpch_q12/datafusion:vortex-file-compressed 112723760 123787262 0.91
tpch_q13/datafusion:vortex-file-compressed 191672072 207925257 0.92
tpch_q14/datafusion:vortex-file-compressed 🚀 49321231 55741984 0.88
tpch_q15/datafusion:vortex-file-compressed 🚀 99983739 111820870 0.89
tpch_q16/datafusion:vortex-file-compressed 🚀 72685536 82033290 0.89
tpch_q17/datafusion:vortex-file-compressed 585659039 648242584 0.90
tpch_q18/datafusion:vortex-file-compressed 813807415 893543292 0.91
tpch_q19/datafusion:vortex-file-compressed 76525323 79402821 0.96
tpch_q20/datafusion:vortex-file-compressed 156904809 172343932 0.91
tpch_q21/datafusion:vortex-file-compressed 🚀 582629510 666564649 0.87
tpch_q22/datafusion:vortex-file-compressed 🚀 49730686 60042409 0.83
datafusion / vortex-compact (0.924x ➖, 3↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 511086906 533772606 0.96
tpch_q02/datafusion:vortex-compact 108422523 118850731 0.91
tpch_q03/datafusion:vortex-compact 215890178 230173617 0.94
tpch_q04/datafusion:vortex-compact 126858208 135339929 0.94
tpch_q05/datafusion:vortex-compact 349164326 384837962 0.91
tpch_q06/datafusion:vortex-compact 62290473 64425100 0.97
tpch_q07/datafusion:vortex-compact 474574020 524816555 0.90
tpch_q08/datafusion:vortex-compact 🚀 349838210 405305220 0.86
tpch_q09/datafusion:vortex-compact 611405558 673532544 0.91
tpch_q10/datafusion:vortex-compact 264453544 285268968 0.93
tpch_q11/datafusion:vortex-compact 79543596 87468254 0.91
tpch_q12/datafusion:vortex-compact 172714007 183696520 0.94
tpch_q13/datafusion:vortex-compact 239518369 254504152 0.94
tpch_q14/datafusion:vortex-compact 69652670 71312358 0.98
tpch_q15/datafusion:vortex-compact 151091491 166689139 0.91
tpch_q16/datafusion:vortex-compact 80955862 85231959 0.95
tpch_q17/datafusion:vortex-compact 🚀 574468444 654703495 0.88
tpch_q18/datafusion:vortex-compact 🚀 847511224 952150962 0.89
tpch_q19/datafusion:vortex-compact 205825825 214014374 0.96
tpch_q20/datafusion:vortex-compact 180450693 193955266 0.93
tpch_q21/datafusion:vortex-compact 667344159 730259004 0.91
tpch_q22/datafusion:vortex-compact 57013093 62397657 0.91
datafusion / parquet (0.928x ➖, 4↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 471820602 500648565 0.94
tpch_q02/datafusion:parquet 166004131 184169090 0.90
tpch_q03/datafusion:parquet 253134233 277207781 0.91
tpch_q04/datafusion:parquet 117603205 121680156 0.97
tpch_q05/datafusion:parquet 🚀 388530678 432776464 0.90
tpch_q06/datafusion:parquet 128895567 139570382 0.92
tpch_q07/datafusion:parquet 🚀 538369253 613711963 0.88
tpch_q08/datafusion:parquet 445253492 481524996 0.92
tpch_q09/datafusion:parquet 🚀 703861810 782858581 0.90
tpch_q10/datafusion:parquet 534457607 581551959 0.92
tpch_q11/datafusion:parquet 117930235 129755074 0.91
tpch_q12/datafusion:parquet 214788036 216170651 0.99
tpch_q13/datafusion:parquet 353383428 357756259 0.99
tpch_q14/datafusion:parquet 155077160 170329874 0.91
tpch_q15/datafusion:parquet 264485405 285204149 0.93
tpch_q16/datafusion:parquet 117291142 123469931 0.95
tpch_q17/datafusion:parquet 670922418 741073583 0.91
tpch_q18/datafusion:parquet 🚀 858846512 968195294 0.89
tpch_q19/datafusion:parquet 290617236 300548327 0.97
tpch_q20/datafusion:parquet 300512006 331138502 0.91
tpch_q21/datafusion:parquet 659931404 698546096 0.94
tpch_q22/datafusion:parquet 219793183 227180438 0.97
duckdb / vortex-file-compressed (0.941x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 171027642 171518413 1.00
tpch_q02/duckdb:vortex-file-compressed 54442477 56555700 0.96
tpch_q03/duckdb:vortex-file-compressed 119702982 130419539 0.92
tpch_q04/duckdb:vortex-file-compressed 151905839 165937636 0.92
tpch_q05/duckdb:vortex-file-compressed 135924106 146199823 0.93
tpch_q06/duckdb:vortex-file-compressed 35562198 36896606 0.96
tpch_q07/duckdb:vortex-file-compressed 130943791 140116414 0.93
tpch_q08/duckdb:vortex-file-compressed 171164646 186210006 0.92
tpch_q09/duckdb:vortex-file-compressed 394752643 417281570 0.95
tpch_q10/duckdb:vortex-file-compressed 193998874 207438572 0.94
tpch_q11/duckdb:vortex-file-compressed 30932828 32748469 0.94
tpch_q12/duckdb:vortex-file-compressed 106626463 114061481 0.93
tpch_q13/duckdb:vortex-file-compressed 270933235 285304109 0.95
tpch_q14/duckdb:vortex-file-compressed 53863272 57630437 0.93
tpch_q15/duckdb:vortex-file-compressed 89786833 94674797 0.95
tpch_q16/duckdb:vortex-file-compressed 78200991 84276419 0.93
tpch_q17/duckdb:vortex-file-compressed 89041942 92888873 0.96
tpch_q18/duckdb:vortex-file-compressed 290679014 305386523 0.95
tpch_q19/duckdb:vortex-file-compressed 76339971 80553709 0.95
tpch_q20/duckdb:vortex-file-compressed 138933417 148924415 0.93
tpch_q21/duckdb:vortex-file-compressed 477917628 513290774 0.93
tpch_q22/duckdb:vortex-file-compressed 63794843 69546661 0.92
duckdb / vortex-compact (0.952x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 273737517 285382854 0.96
tpch_q02/duckdb:vortex-compact 60582003 64950461 0.93
tpch_q03/duckdb:vortex-compact 158192942 166104020 0.95
tpch_q04/duckdb:vortex-compact 214081876 230235715 0.93
tpch_q05/duckdb:vortex-compact 183033144 191733382 0.95
tpch_q06/duckdb:vortex-compact 58255637 59829731 0.97
tpch_q07/duckdb:vortex-compact 213942832 226023934 0.95
tpch_q08/duckdb:vortex-compact 215431847 230250427 0.94
tpch_q09/duckdb:vortex-compact 470212799 488273910 0.96
tpch_q10/duckdb:vortex-compact 256846772 267557226 0.96
tpch_q11/duckdb:vortex-compact 38063697 41118639 0.93
tpch_q12/duckdb:vortex-compact 192097871 200671664 0.96
tpch_q13/duckdb:vortex-compact 323252756 342477498 0.94
tpch_q14/duckdb:vortex-compact 74180977 76392584 0.97
tpch_q15/duckdb:vortex-compact 119266649 125085872 0.95
tpch_q16/duckdb:vortex-compact 80320279 86239677 0.93
tpch_q17/duckdb:vortex-compact 105226941 109374893 0.96
tpch_q18/duckdb:vortex-compact 353854485 364068379 0.97
tpch_q19/duckdb:vortex-compact 92590968 96303807 0.96
tpch_q20/duckdb:vortex-compact 182583633 189043970 0.97
tpch_q21/duckdb:vortex-compact 626809771 674463770 0.93
tpch_q22/duckdb:vortex-compact 71946259 74866692 0.96
duckdb / parquet (0.971x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 268679967 269113859 1.00
tpch_q02/duckdb:parquet 105194014 107962148 0.97
tpch_q03/duckdb:parquet 216863485 221107169 0.98
tpch_q04/duckdb:parquet 138348078 145317722 0.95
tpch_q05/duckdb:parquet 228733545 238061226 0.96
tpch_q06/duckdb:parquet 74577362 75884147 0.98
tpch_q07/duckdb:parquet 189305565 191246928 0.99
tpch_q08/duckdb:parquet 264112291 276957903 0.95
tpch_q09/duckdb:parquet 511234227 538006158 0.95
tpch_q10/duckdb:parquet 627799496 643444670 0.98
tpch_q11/duckdb:parquet 68506900 67296582 1.02
tpch_q12/duckdb:parquet 134154738 138956855 0.97
tpch_q13/duckdb:parquet 461346081 478333312 0.96
tpch_q14/duckdb:parquet 180604876 185417379 0.97
tpch_q15/duckdb:parquet 105017802 109775410 0.96
tpch_q16/duckdb:parquet 166132968 173613369 0.96
tpch_q17/duckdb:parquet 184186671 188964187 0.97
tpch_q18/duckdb:parquet 361264311 378079840 0.96
tpch_q19/duckdb:parquet 286102609 295480140 0.97
tpch_q20/duckdb:parquet 235775765 241518059 0.98
tpch_q21/duckdb:parquet 573561874 602992079 0.95
tpch_q22/duckdb:parquet 304701737 308269357 0.99
duckdb / duckdb (0.961x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 120772420 123421166 0.98
tpch_q02/duckdb:duckdb 49778123 54043838 0.92
tpch_q03/duckdb:duckdb 103637454 107659409 0.96
tpch_q04/duckdb:duckdb 138472419 146692100 0.94
tpch_q05/duckdb:duckdb 119959678 125782475 0.95
tpch_q06/duckdb:duckdb 44525786 45664390 0.98
tpch_q07/duckdb:duckdb 91193158 94668501 0.96
tpch_q08/duckdb:duckdb 119393518 123010285 0.97
tpch_q09/duckdb:duckdb 283650784 294864778 0.96
tpch_q10/duckdb:duckdb 212863876 224212143 0.95
tpch_q11/duckdb:duckdb 19077457 19741920 0.97
tpch_q12/duckdb:duckdb 90372624 92466017 0.98
tpch_q13/duckdb:duckdb 230122282 240633550 0.96
tpch_q14/duckdb:duckdb 77470939 80459785 0.96
tpch_q15/duckdb:duckdb 82072272 84394634 0.97
tpch_q16/duckdb:duckdb 75529266 81370552 0.93
tpch_q17/duckdb:duckdb 88468486 90063082 0.98
tpch_q18/duckdb:duckdb 235372646 246036989 0.96
tpch_q19/duckdb:duckdb 124471883 128994927 0.96
tpch_q20/duckdb:duckdb 117593826 119496833 0.98
tpch_q21/duckdb:duckdb 304336644 321583558 0.95
tpch_q22/duckdb:duckdb 67226352 69911173 0.96

No file size changes detected.

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: FineWeb S3 📖

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +9.6%
Engines: DataFusion No clear signal (+11.4%, environment too noisy confidence) · DuckDB No clear signal (+7.7%, low confidence)
Vortex (geomean): 1.053x ➖
Parquet (geomean): 0.962x ➖
Shifts: Parquet (control) -3.8% · Median polish -0.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.976x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 33970752 35595579 0.95
fineweb_q01/datafusion:vortex-file-compressed 504403732 559409679 0.90
fineweb_q02/datafusion:vortex-file-compressed 534624472 555024071 0.96
fineweb_q03/datafusion:vortex-file-compressed 1169555795 1123827712 1.04
fineweb_q04/datafusion:vortex-file-compressed 1125152026 1149159515 0.98
fineweb_q05/datafusion:vortex-file-compressed 1094803649 1074532047 1.02
fineweb_q06/datafusion:vortex-file-compressed 1276735678 1388633181 0.92
fineweb_q07/datafusion:vortex-file-compressed 1087173814 1085230158 1.00
fineweb_q08/datafusion:vortex-file-compressed 464552905 459482984 1.01
datafusion / vortex-compact (1.029x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 33782562 30582002 1.10
fineweb_q01/datafusion:vortex-compact 515178757 594640478 0.87
fineweb_q02/datafusion:vortex-compact 606426031 604665243 1.00
fineweb_q03/datafusion:vortex-compact 1323511432 1433032088 0.92
fineweb_q04/datafusion:vortex-compact 1542665721 1656225870 0.93
fineweb_q05/datafusion:vortex-compact 1340208551 1366105639 0.98
fineweb_q06/datafusion:vortex-compact 1464931050 1298689326 1.13
fineweb_q07/datafusion:vortex-compact 1146131613 1193110061 0.96
fineweb_q08/datafusion:vortex-compact 🚨 567274850 384574081 1.48
datafusion / parquet (0.899x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 1119466789 1377314173 0.81
fineweb_q01/datafusion:parquet 1695278719 2360146331 0.72
fineweb_q02/datafusion:parquet 1849776408 2095783153 0.88
fineweb_q03/datafusion:parquet 1690769836 1915170073 0.88
fineweb_q04/datafusion:parquet 1768008054 1806077750 0.98
fineweb_q05/datafusion:parquet 1901308964 2096227505 0.91
fineweb_q06/datafusion:parquet 2109846760 1945694077 1.08
fineweb_q07/datafusion:parquet 1784103331 1916078091 0.93
fineweb_q08/datafusion:parquet 1864284345 1978748863 0.94
duckdb / vortex-file-compressed (1.063x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 75854539 73491142 1.03
fineweb_q01/duckdb:vortex-file-compressed 589855059 545519321 1.08
fineweb_q02/duckdb:vortex-file-compressed 🚨 669371196 510663905 1.31
fineweb_q03/duckdb:vortex-file-compressed 1231310306 1185372891 1.04
fineweb_q04/duckdb:vortex-file-compressed 1331760518 1288087629 1.03
fineweb_q05/duckdb:vortex-file-compressed 1228519310 1280320349 0.96
fineweb_q06/duckdb:vortex-file-compressed 1407712191 1405081419 1.00
fineweb_q07/duckdb:vortex-file-compressed 1326963456 1219561682 1.09
fineweb_q08/duckdb:vortex-file-compressed 566155012 536107402 1.06
duckdb / vortex-compact (1.154x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 🚨 95376104 55762838 1.71
fineweb_q01/duckdb:vortex-compact 626199543 556567423 1.13
fineweb_q02/duckdb:vortex-compact 593055377 564351415 1.05
fineweb_q03/duckdb:vortex-compact 1725863648 1569641708 1.10
fineweb_q04/duckdb:vortex-compact 1908918026 1700483088 1.12
fineweb_q05/duckdb:vortex-compact 1717058836 1471917886 1.17
fineweb_q06/duckdb:vortex-compact 1560473914 1444836518 1.08
fineweb_q07/duckdb:vortex-compact 1502307444 1305513483 1.15
fineweb_q08/duckdb:vortex-compact 481424002 480845391 1.00
duckdb / parquet (1.028x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 1063340779 1043272551 1.02
fineweb_q01/duckdb:parquet 1335711869 1333688614 1.00
fineweb_q02/duckdb:parquet 1468167697 1307595642 1.12
fineweb_q03/duckdb:parquet 3592516304 3456391125 1.04
fineweb_q04/duckdb:parquet 1877959960 1864226556 1.01
fineweb_q05/duckdb:parquet 2147830795 2041811682 1.05
fineweb_q06/duckdb:parquet 4194269996 4289124954 0.98
fineweb_q07/duckdb:parquet 2566357455 2596168145 0.99
fineweb_q08/duckdb:parquet 1096678221 1041501138 1.05

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Clickbench Sorted on NVME 📖

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -15.0%
Engines: DataFusion No clear signal (-28.8%, environment too noisy confidence) · DuckDB No clear signal (+2.7%, low confidence)
Vortex (geomean): 1.057x ➖
Parquet (geomean): 1.223x ❌
Shifts: Parquet (control) +22.3% · Median polish +2.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.065x ➖, 1↑ 6↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench-sorted_q23/datafusion:vortex-file-compressed 🚀 431787989 568736344 0.76
clickbench-sorted_q24/datafusion:vortex-file-compressed 🚨 27638504 24591541 1.12
clickbench-sorted_q26/datafusion:vortex-file-compressed 🚨 23837335 20466865 1.16
clickbench-sorted_q36/datafusion:vortex-file-compressed 74463521 70836101 1.05
clickbench-sorted_q37/datafusion:vortex-file-compressed 🚨 51133378 45662213 1.12
clickbench-sorted_q38/datafusion:vortex-file-compressed 🚨 46690936 42200131 1.11
clickbench-sorted_q39/datafusion:vortex-file-compressed 119751231 119038066 1.01
clickbench-sorted_q40/datafusion:vortex-file-compressed 🚨 23604177 21269827 1.11
clickbench-sorted_q41/datafusion:vortex-file-compressed 23232606 21345646 1.09
clickbench-sorted_q42/datafusion:vortex-file-compressed 🚨 18108972 15206779 1.19
datafusion / parquet (1.496x ❌, 0↑ 9↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench-sorted_q23/datafusion:parquet 5056755178 4992673830 1.01
clickbench-sorted_q24/datafusion:parquet 🚨 64828233 28680113 2.26
clickbench-sorted_q26/datafusion:parquet 🚨 68557452 31158786 2.20
clickbench-sorted_q36/datafusion:parquet 🚨 218859921 188077318 1.16
clickbench-sorted_q37/datafusion:parquet 🚨 151751035 113811206 1.33
clickbench-sorted_q38/datafusion:parquet 🚨 202092866 175826918 1.15
clickbench-sorted_q39/datafusion:parquet 🚨 343819146 303950815 1.13
clickbench-sorted_q40/datafusion:parquet 🚨 107488551 67026637 1.60
clickbench-sorted_q41/datafusion:parquet 🚨 99233916 62893263 1.58
clickbench-sorted_q42/datafusion:parquet 🚨 69548742 31774433 2.19
duckdb / vortex-file-compressed (1.050x ➖, 0↑ 2↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench-sorted_q23/duckdb:vortex-file-compressed 🚨 199879197 179891955 1.11
clickbench-sorted_q24/duckdb:vortex-file-compressed 🚨 33072291 28814632 1.15
clickbench-sorted_q26/duckdb:vortex-file-compressed 49963667 48887887 1.02
clickbench-sorted_q36/duckdb:vortex-file-compressed 64800117 61470785 1.05
clickbench-sorted_q37/duckdb:vortex-file-compressed 47644671 46667007 1.02
clickbench-sorted_q38/duckdb:vortex-file-compressed 53952618 53217864 1.01
clickbench-sorted_q39/duckdb:vortex-file-compressed 114245422 109028237 1.05
clickbench-sorted_q40/duckdb:vortex-file-compressed 31666825 29929617 1.06
clickbench-sorted_q41/duckdb:vortex-file-compressed 30637220 30093372 1.02
clickbench-sorted_q42/duckdb:vortex-file-compressed 24969150 24713461 1.01
duckdb / parquet (1.000x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench-sorted_q23/duckdb:parquet 205906621 206369699 1.00
clickbench-sorted_q24/duckdb:parquet 29965352 30173246 0.99
clickbench-sorted_q26/duckdb:parquet 26094732 25252079 1.03
clickbench-sorted_q36/duckdb:parquet 110165702 111659344 0.99
clickbench-sorted_q37/duckdb:parquet 94303911 93959260 1.00
clickbench-sorted_q38/duckdb:parquet 99479599 100030804 0.99
clickbench-sorted_q39/duckdb:parquet 185784887 183402858 1.01
clickbench-sorted_q40/duckdb:parquet 41997839 41267487 1.02
clickbench-sorted_q41/duckdb:parquet 42245090 43472183 0.97
clickbench-sorted_q42/duckdb:parquet 29756802 29951056 0.99
duckdb / duckdb (1.006x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench-sorted_q23/duckdb:duckdb 298490233 296423207 1.01
clickbench-sorted_q24/duckdb:duckdb 46558916 45740945 1.02
clickbench-sorted_q26/duckdb:duckdb 43429389 42612448 1.02
clickbench-sorted_q36/duckdb:duckdb 89267424 91826004 0.97
clickbench-sorted_q37/duckdb:duckdb 81881907 80151154 1.02
clickbench-sorted_q38/duckdb:duckdb 66838434 66680172 1.00
clickbench-sorted_q39/duckdb:duckdb 123242792 123901459 0.99
clickbench-sorted_q40/duckdb:duckdb 45282530 44804230 1.01
clickbench-sorted_q41/duckdb:duckdb 44174498 43480326 1.02
clickbench-sorted_q42/duckdb:duckdb 36469258 36502413 1.00

File Size Changes (201 files changed, +0.0% overall, 109↑ 92↓)
File Scale Format Base HEAD Change %
hits_030.vortex 1.0 vortex-compact 98.37 MB 99.98 MB +1.61 MB +1.6%
hits_038.vortex 1.0 vortex-file-compressed 190.09 MB 192.98 MB +2.89 MB +1.5%
hits_098.vortex 1.0 vortex-compact 102.76 MB 104.05 MB +1.29 MB +1.3%
hits_041.vortex 1.0 vortex-compact 97.14 MB 98.35 MB +1.20 MB +1.2%
hits_050.vortex 1.0 vortex-file-compressed 159.36 MB 161.32 MB +1.96 MB +1.2%
hits_097.vortex 1.0 vortex-compact 140.17 MB 141.83 MB +1.65 MB +1.2%
hits_060.vortex 1.0 vortex-file-compressed 193.17 MB 195.20 MB +2.03 MB +1.1%
hits_087.vortex 1.0 vortex-compact 124.09 MB 125.37 MB +1.29 MB +1.0%
hits_002.vortex 1.0 vortex-compact 124.19 MB 125.31 MB +1.13 MB +0.9%
hits_075.vortex 1.0 vortex-compact 137.84 MB 139.07 MB +1.24 MB +0.9%
hits_084.vortex 1.0 vortex-compact 110.61 MB 111.60 MB +1014.24 KB +0.9%
hits_022.vortex 1.0 vortex-file-compressed 197.89 MB 199.59 MB +1.70 MB +0.9%
hits_076.vortex 1.0 vortex-file-compressed 159.66 MB 160.96 MB +1.30 MB +0.8%
hits_060.vortex 1.0 vortex-compact 140.14 MB 141.25 MB +1.11 MB +0.8%
hits_024.vortex 1.0 vortex-compact 124.37 MB 125.32 MB +971.33 KB +0.8%
hits_085.vortex 1.0 vortex-file-compressed 198.54 MB 199.76 MB +1.22 MB +0.6%
hits_096.vortex 1.0 vortex-file-compressed 198.33 MB 199.41 MB +1.08 MB +0.5%
hits_015.vortex 1.0 vortex-compact 97.24 MB 97.71 MB +484.10 KB +0.5%
hits_045.vortex 1.0 vortex-file-compressed 140.05 MB 140.73 MB +691.73 KB +0.5%
hits_009.vortex 1.0 vortex-file-compressed 101.26 MB 101.74 MB +494.29 KB +0.5%
hits_055.vortex 1.0 vortex-file-compressed 198.80 MB 199.74 MB +961.16 KB +0.5%
hits_020.vortex 1.0 vortex-compact 111.67 MB 112.19 MB +536.76 KB +0.5%
hits_061.vortex 1.0 vortex-compact 124.70 MB 125.27 MB +590.12 KB +0.5%
hits_056.vortex 1.0 vortex-compact 100.86 MB 101.33 MB +474.52 KB +0.5%
hits_078.vortex 1.0 vortex-compact 97.50 MB 97.94 MB +454.05 KB +0.5%
hits_035.vortex 1.0 vortex-file-compressed 102.70 MB 103.16 MB +475.77 KB +0.5%
hits_089.vortex 1.0 vortex-compact 98.96 MB 99.38 MB +428.31 KB +0.4%
hits_040.vortex 1.0 vortex-file-compressed 143.59 MB 144.17 MB +596.45 KB +0.4%
hits_080.vortex 1.0 vortex-compact 96.19 MB 96.57 MB +393.80 KB +0.4%
hits_024.vortex 1.0 vortex-file-compressed 160.45 MB 161.06 MB +629.24 KB +0.4%
hits_039.vortex 1.0 vortex-file-compressed 161.09 MB 161.67 MB +587.05 KB +0.4%
hits_026.vortex 1.0 vortex-compact 97.80 MB 98.12 MB +321.91 KB +0.3%
hits_056.vortex 1.0 vortex-file-compressed 135.80 MB 136.17 MB +384.09 KB +0.3%
hits_069.vortex 1.0 vortex-compact 99.50 MB 99.77 MB +273.69 KB +0.3%
hits_066.vortex 1.0 vortex-file-compressed 163.17 MB 163.57 MB +407.08 KB +0.2%
hits_063.vortex 1.0 vortex-file-compressed 131.68 MB 131.97 MB +295.86 KB +0.2%
hits_053.vortex 1.0 vortex-compact 138.56 MB 138.86 MB +306.80 KB +0.2%
hits_036.vortex 1.0 vortex-compact 133.30 MB 133.58 MB +285.11 KB +0.2%
hits_084.vortex 1.0 vortex-file-compressed 154.50 MB 154.81 MB +310.41 KB +0.2%
hits_031.vortex 1.0 vortex-compact 111.58 MB 111.80 MB +220.85 KB +0.2%
hits_023.vortex 1.0 vortex-file-compressed 195.51 MB 195.88 MB +384.59 KB +0.2%
hits_031.vortex 1.0 vortex-file-compressed 159.83 MB 160.12 MB +301.70 KB +0.2%
hits_099.vortex 1.0 vortex-file-compressed 171.31 MB 171.63 MB +321.36 KB +0.2%
hits_012.vortex 1.0 vortex-file-compressed 191.05 MB 191.38 MB +342.95 KB +0.2%
hits_010.vortex 1.0 vortex-file-compressed 168.90 MB 169.16 MB +266.41 KB +0.2%
hits_042.vortex 1.0 vortex-file-compressed 201.83 MB 202.13 MB +310.09 KB +0.2%
hits_007.vortex 1.0 vortex-compact 153.38 MB 153.59 MB +221.90 KB +0.1%
hits_021.vortex 1.0 vortex-file-compressed 154.29 MB 154.50 MB +222.01 KB +0.1%
hits_027.vortex 1.0 vortex-file-compressed 190.08 MB 190.34 MB +265.68 KB +0.1%
hits_033.vortex 1.0 vortex-compact 153.43 MB 153.64 MB +213.76 KB +0.1%
hits_046.vortex 1.0 vortex-file-compressed 101.31 MB 101.44 MB +131.22 KB +0.1%
hits_093.vortex 1.0 vortex-file-compressed 131.60 MB 131.77 MB +170.03 KB +0.1%
hits_091.vortex 1.0 vortex-file-compressed 146.90 MB 147.08 MB +186.15 KB +0.1%
hits_027.vortex 1.0 vortex-compact 139.20 MB 139.37 MB +175.97 KB +0.1%
hits_062.vortex 1.0 vortex-file-compressed 170.62 MB 170.83 MB +214.91 KB +0.1%
hits_059.vortex 1.0 vortex-file-compressed 199.05 MB 199.27 MB +229.30 KB +0.1%
hits_088.vortex 1.0 vortex-file-compressed 171.93 MB 172.12 MB +192.01 KB +0.1%
hits_026.vortex 1.0 vortex-file-compressed 131.32 MB 131.46 MB +144.50 KB +0.1%
hits_046.vortex 1.0 vortex-compact 74.91 MB 74.99 MB +81.96 KB +0.1%
hits_018.vortex 1.0 vortex-file-compressed 199.47 MB 199.68 MB +218.00 KB +0.1%
hits_080.vortex 1.0 vortex-file-compressed 126.88 MB 127.01 MB +134.31 KB +0.1%
hits_014.vortex 1.0 vortex-compact 133.92 MB 134.06 MB +137.88 KB +0.1%
hits_094.vortex 1.0 vortex-compact 110.71 MB 110.81 MB +106.33 KB +0.1%
hits_081.vortex 1.0 vortex-file-compressed 199.92 MB 200.09 MB +182.23 KB +0.1%
hits_072.vortex 1.0 vortex-file-compressed 102.34 MB 102.43 MB +92.55 KB +0.1%
hits_067.vortex 1.0 vortex-file-compressed 131.69 MB 131.81 MB +115.34 KB +0.1%
hits_049.vortex 1.0 vortex-compact 140.53 MB 140.65 MB +120.41 KB +0.1%
hits_036.vortex 1.0 vortex-file-compressed 171.42 MB 171.55 MB +133.49 KB +0.1%
hits_014.vortex 1.0 vortex-file-compressed 172.13 MB 172.25 MB +124.54 KB +0.1%
hits_030.vortex 1.0 vortex-file-compressed 131.76 MB 131.85 MB +91.41 KB +0.1%
hits_013.vortex 1.0 vortex-file-compressed 161.28 MB 161.39 MB +110.05 KB +0.1%
hits_058.vortex 1.0 vortex-compact 111.08 MB 111.16 MB +73.77 KB +0.1%
hits_000.vortex 1.0 vortex-file-compressed 131.60 MB 131.68 MB +86.89 KB +0.1%
hits_011.vortex 1.0 vortex-compact 152.88 MB 152.98 MB +98.40 KB +0.1%
hits_052.vortex 1.0 vortex-compact 97.98 MB 98.04 MB +57.48 KB +0.1%
hits_087.vortex 1.0 vortex-file-compressed 160.94 MB 161.03 MB +91.62 KB +0.1%
hits_007.vortex 1.0 vortex-file-compressed 200.13 MB 200.23 MB +101.26 KB +0.0%
hits_008.vortex 1.0 vortex-compact 105.66 MB 105.72 MB +52.29 KB +0.0%
hits_035.vortex 1.0 vortex-compact 75.93 MB 75.97 MB +37.17 KB +0.0%
hits_098.vortex 1.0 vortex-file-compressed 137.55 MB 137.61 MB +66.88 KB +0.0%
hits_074.vortex 1.0 vortex-compact 153.11 MB 153.17 MB +65.19 KB +0.0%
hits_054.vortex 1.0 vortex-compact 112.06 MB 112.11 MB +47.59 KB +0.0%
hits_078.vortex 1.0 vortex-file-compressed 130.97 MB 131.03 MB +55.09 KB +0.0%
hits_089.vortex 1.0 vortex-file-compressed 131.45 MB 131.50 MB +54.27 KB +0.0%
hits_061.vortex 1.0 vortex-file-compressed 160.88 MB 160.94 MB +59.34 KB +0.0%
hits_071.vortex 1.0 vortex-compact 106.17 MB 106.20 MB +38.89 KB +0.0%
hits_096.vortex 1.0 vortex-compact 153.25 MB 153.31 MB +55.77 KB +0.0%
hits_019.vortex 1.0 vortex-file-compressed 140.91 MB 140.96 MB +47.42 KB +0.0%
hits_092.vortex 1.0 vortex-file-compressed 199.64 MB 199.70 MB +66.80 KB +0.0%
hits_038.vortex 1.0 vortex-compact 139.52 MB 139.56 MB +39.58 KB +0.0%
hits_028.vortex 1.0 vortex-file-compressed 151.96 MB 152.00 MB +41.05 KB +0.0%
hits_032.vortex 1.0 vortex-compact 110.62 MB 110.64 MB +28.68 KB +0.0%
hits_037.vortex 1.0 vortex-file-compressed 177.17 MB 177.21 MB +43.63 KB +0.0%
hits_047.vortex 1.0 vortex-compact 110.48 MB 110.51 MB +26.70 KB +0.0%
hits_057.vortex 1.0 vortex-compact 111.72 MB 111.74 MB +26.48 KB +0.0%
hits_045.vortex 1.0 vortex-compact 106.07 MB 106.09 MB +23.80 KB +0.0%
hits_016.vortex 1.0 vortex-compact 127.41 MB 127.44 MB +25.49 KB +0.0%
hits_016.vortex 1.0 vortex-file-compressed 180.55 MB 180.59 MB +36.05 KB +0.0%
hits_033.vortex 1.0 vortex-file-compressed 200.12 MB 200.16 MB +35.34 KB +0.0%
hits_064.vortex 1.0 vortex-compact 140.14 MB 140.17 MB +22.59 KB +0.0%
hits_064.vortex 1.0 vortex-file-compressed 191.33 MB 191.36 MB +28.78 KB +0.0%
hits_094.vortex 1.0 vortex-file-compressed 158.74 MB 158.76 MB +22.72 KB +0.0%
hits_048.vortex 1.0 vortex-file-compressed 199.45 MB 199.47 MB +18.38 KB +0.0%
hits_005.vortex 1.0 vortex-file-compressed 167.86 MB 167.87 MB +14.96 KB +0.0%
hits_029.vortex 1.0 vortex-compact 153.49 MB 153.50 MB +9.43 KB +0.0%
hits_069.vortex 1.0 vortex-file-compressed 142.22 MB 142.22 MB +8.64 KB +0.0%
hits_058.vortex 1.0 vortex-file-compressed 155.16 MB 155.16 MB +4.34 KB +0.0%
hits_082.vortex 1.0 vortex-compact 106.24 MB 106.24 MB +1.31 KB +0.0%
hits_005.vortex 1.0 vortex-compact 115.85 MB 115.85 MB +800 B +0.0%
hits_004.vortex 1.0 vortex-file-compressed 131.31 MB 131.31 MB 224 B -0.0%
hits_009.vortex 1.0 vortex-compact 75.23 MB 75.23 MB 2.14 KB -0.0%
hits_072.vortex 1.0 vortex-compact 75.63 MB 75.63 MB 2.73 KB -0.0%
hits_077.vortex 1.0 vortex-file-compressed 172.47 MB 172.46 MB 9.61 KB -0.0%
hits_012.vortex 1.0 vortex-compact 138.75 MB 138.74 MB 7.88 KB -0.0%
hits_004.vortex 1.0 vortex-compact 97.65 MB 97.64 MB 6.24 KB -0.0%
hits_090.vortex 1.0 vortex-compact 141.27 MB 141.26 MB 12.41 KB -0.0%
hits_043.vortex 1.0 vortex-file-compressed 126.59 MB 126.58 MB 11.38 KB -0.0%
hits_003.vortex 1.0 vortex-file-compressed 136.61 MB 136.59 MB 17.23 KB -0.0%
hits_025.vortex 1.0 vortex-compact 133.88 MB 133.86 MB 17.57 KB -0.0%
hits_021.vortex 1.0 vortex-compact 110.64 MB 110.63 MB 14.52 KB -0.0%
hits_017.vortex 1.0 vortex-file-compressed 146.84 MB 146.82 MB 21.26 KB -0.0%
hits_055.vortex 1.0 vortex-compact 153.36 MB 153.34 MB 24.82 KB -0.0%
hits_044.vortex 1.0 vortex-file-compressed 200.04 MB 200.00 MB 38.26 KB -0.0%
hits_025.vortex 1.0 vortex-file-compressed 172.06 MB 172.02 MB 38.09 KB -0.0%
hits_032.vortex 1.0 vortex-file-compressed 154.75 MB 154.71 MB 41.22 KB -0.0%
hits_090.vortex 1.0 vortex-file-compressed 192.74 MB 192.68 MB 63.30 KB -0.0%
hits_073.vortex 1.0 vortex-file-compressed 172.80 MB 172.74 MB 57.68 KB -0.0%
hits_047.vortex 1.0 vortex-file-compressed 154.48 MB 154.43 MB 51.75 KB -0.0%
hits_051.vortex 1.0 vortex-compact 133.93 MB 133.89 MB 49.37 KB -0.0%
hits_066.vortex 1.0 vortex-compact 117.45 MB 117.41 MB 46.12 KB -0.0%
hits_006.vortex 1.0 vortex-file-compressed 126.37 MB 126.32 MB 54.20 KB -0.0%
hits_008.vortex 1.0 vortex-file-compressed 140.44 MB 140.37 MB 62.59 KB -0.0%
hits_002.vortex 1.0 vortex-file-compressed 161.13 MB 161.06 MB 72.06 KB -0.0%
hits_083.vortex 1.0 vortex-compact 109.99 MB 109.94 MB 50.55 KB -0.0%
hits_077.vortex 1.0 vortex-compact 134.42 MB 134.35 MB 64.84 KB -0.0%
hits_068.vortex 1.0 vortex-file-compressed 160.56 MB 160.48 MB 78.29 KB -0.0%
hits_059.vortex 1.0 vortex-compact 152.83 MB 152.75 MB 76.79 KB -0.0%
hits_068.vortex 1.0 vortex-compact 112.50 MB 112.44 MB 56.88 KB -0.0%
hits_099.vortex 1.0 vortex-compact 133.24 MB 133.17 MB 70.44 KB -0.1%
hits_042.vortex 1.0 vortex-compact 136.37 MB 136.29 MB 79.19 KB -0.1%
hits_074.vortex 1.0 vortex-file-compressed 199.44 MB 199.33 MB 119.55 KB -0.1%
hits_044.vortex 1.0 vortex-compact 153.67 MB 153.56 MB 109.70 KB -0.1%
hits_070.vortex 1.0 vortex-compact 153.77 MB 153.65 MB 114.09 KB -0.1%
hits_083.vortex 1.0 vortex-file-compressed 157.14 MB 157.03 MB 118.12 KB -0.1%
hits_076.vortex 1.0 vortex-compact 126.04 MB 125.95 MB 98.71 KB -0.1%
hits_003.vortex 1.0 vortex-compact 104.61 MB 104.52 MB 84.99 KB -0.1%
hits_075.vortex 1.0 vortex-file-compressed 189.62 MB 189.45 MB 172.55 KB -0.1%
hits_018.vortex 1.0 vortex-compact 153.00 MB 152.86 MB 144.26 KB -0.1%
hits_023.vortex 1.0 vortex-compact 142.75 MB 142.61 MB 143.98 KB -0.1%
hits_052.vortex 1.0 vortex-file-compressed 131.04 MB 130.91 MB 141.73 KB -0.1%
hits_051.vortex 1.0 vortex-file-compressed 172.72 MB 172.53 MB 196.87 KB -0.1%
hits_049.vortex 1.0 vortex-file-compressed 191.57 MB 191.35 MB 227.23 KB -0.1%
hits_040.vortex 1.0 vortex-compact 110.06 MB 109.94 MB 131.38 KB -0.1%
hits_041.vortex 1.0 vortex-file-compressed 131.36 MB 131.20 MB 167.24 KB -0.1%
hits_079.vortex 1.0 vortex-file-compressed 181.54 MB 181.30 MB 238.16 KB -0.1%
hits_092.vortex 1.0 vortex-compact 153.48 MB 153.28 MB 203.40 KB -0.1%
hits_065.vortex 1.0 vortex-file-compressed 161.42 MB 161.19 MB 236.91 KB -0.1%
hits_085.vortex 1.0 vortex-compact 153.33 MB 153.10 MB 233.23 KB -0.1%
hits_011.vortex 1.0 vortex-file-compressed 199.54 MB 199.23 MB 314.54 KB -0.2%
hits_095.vortex 1.0 vortex-file-compressed 154.61 MB 154.37 MB 244.88 KB -0.2%
hits_062.vortex 1.0 vortex-compact 132.85 MB 132.62 MB 234.79 KB -0.2%
hits_022.vortex 1.0 vortex-compact 153.22 MB 152.96 MB 273.28 KB -0.2%
hits_070.vortex 1.0 vortex-file-compressed 199.36 MB 199.01 MB 358.91 KB -0.2%
hits_010.vortex 1.0 vortex-compact 123.53 MB 123.31 MB 232.59 KB -0.2%
hits_088.vortex 1.0 vortex-compact 134.39 MB 134.14 MB 255.66 KB -0.2%
hits_015.vortex 1.0 vortex-file-compressed 131.38 MB 131.10 MB 292.14 KB -0.2%
hits_079.vortex 1.0 vortex-compact 128.18 MB 127.90 MB 291.79 KB -0.2%
hits_073.vortex 1.0 vortex-compact 134.52 MB 134.21 MB 312.09 KB -0.2%
hits_043.vortex 1.0 vortex-compact 94.43 MB 94.21 MB 221.81 KB -0.2%
hits_050.vortex 1.0 vortex-compact 125.51 MB 125.21 MB 306.23 KB -0.2%
hits_095.vortex 1.0 vortex-compact 110.98 MB 110.70 MB 283.91 KB -0.2%
hits_081.vortex 1.0 vortex-compact 153.31 MB 152.92 MB 402.57 KB -0.3%
hits_037.vortex 1.0 vortex-compact 132.68 MB 132.32 MB 367.33 KB -0.3%
hits_057.vortex 1.0 vortex-file-compressed 160.43 MB 159.97 MB 471.43 KB -0.3%
hits_054.vortex 1.0 vortex-file-compressed 147.45 MB 146.99 MB 464.06 KB -0.3%
hits_028.vortex 1.0 vortex-compact 115.67 MB 115.27 MB 410.12 KB -0.3%
hits_017.vortex 1.0 vortex-compact 112.15 MB 111.74 MB 418.59 KB -0.4%
hits_019.vortex 1.0 vortex-compact 106.64 MB 106.21 MB 435.27 KB -0.4%
hits_071.vortex 1.0 vortex-file-compressed 140.66 MB 140.01 MB 662.25 KB -0.5%
hits_020.vortex 1.0 vortex-file-compressed 161.02 MB 160.26 MB 771.55 KB -0.5%
hits_093.vortex 1.0 vortex-compact 99.68 MB 99.21 MB 478.57 KB -0.5%
hits_082.vortex 1.0 vortex-file-compressed 140.65 MB 139.97 MB 699.12 KB -0.5%
hits_091.vortex 1.0 vortex-compact 112.19 MB 111.61 MB 594.00 KB -0.5%
hits_048.vortex 1.0 vortex-compact 153.39 MB 152.50 MB 905.76 KB -0.6%
hits_029.vortex 1.0 vortex-file-compressed 199.86 MB 198.61 MB 1.24 MB -0.6%
hits_039.vortex 1.0 vortex-compact 125.18 MB 124.32 MB 883.97 KB -0.7%
hits_065.vortex 1.0 vortex-compact 125.21 MB 124.34 MB 895.71 KB -0.7%
hits_086.vortex 1.0 vortex-compact 140.72 MB 139.70 MB 1.02 MB -0.7%
hits_034.vortex 1.0 vortex-compact 133.38 MB 132.36 MB 1.02 MB -0.8%
hits_067.vortex 1.0 vortex-compact 100.06 MB 99.29 MB 786.02 KB -0.8%
hits_097.vortex 1.0 vortex-file-compressed 194.46 MB 192.91 MB 1.55 MB -0.8%
hits_000.vortex 1.0 vortex-compact 99.56 MB 98.73 MB 845.46 KB -0.8%
hits_053.vortex 1.0 vortex-file-compressed 191.57 MB 189.94 MB 1.63 MB -0.9%
hits_034.vortex 1.0 vortex-file-compressed 183.57 MB 181.89 MB 1.69 MB -0.9%
hits_006.vortex 1.0 vortex-compact 95.47 MB 94.07 MB 1.40 MB -1.5%
hits_013.vortex 1.0 vortex-compact 125.97 MB 123.97 MB 1.99 MB -1.6%
hits_086.vortex 1.0 vortex-file-compressed 195.53 MB 192.24 MB 3.29 MB -1.7%
hits_063.vortex 1.0 vortex-compact 99.61 MB 97.87 MB 1.74 MB -1.7%
hits_001.vortex 1.0 vortex-compact 140.47 MB 137.76 MB 2.72 MB -1.9%
hits_001.vortex 1.0 vortex-file-compressed 193.74 MB 189.08 MB 4.66 MB -2.4%
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%

Totals:

  • vortex-compact: 11.93 GB → 11.93 GB (-0.0%)
  • vortex-file-compressed: 15.97 GB → 15.97 GB (+0.0%)

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Clickbench on NVME 📖

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -18.9%
Engines: DataFusion No clear signal (-32.7%, environment too noisy confidence) · DuckDB No clear signal (-0.5%, low confidence)
Vortex (geomean): 1.017x ➖
Parquet (geomean): 1.249x ❌
Shifts: Parquet (control) +24.9% · 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 (1.049x ➖, 2↑ 6↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench_q00/datafusion:vortex-file-compressed 🚨 2946277 1670592 1.76
clickbench_q01/datafusion:vortex-file-compressed 🚀 17821846 20103251 0.89
clickbench_q02/datafusion:vortex-file-compressed 34794264 33137187 1.05
clickbench_q03/datafusion:vortex-file-compressed 38125934 36736787 1.04
clickbench_q04/datafusion:vortex-file-compressed 236356923 226777182 1.04
clickbench_q05/datafusion:vortex-file-compressed 301688939 302917768 1.00
clickbench_q06/datafusion:vortex-file-compressed 🚨 2360726 1621937 1.46
clickbench_q07/datafusion:vortex-file-compressed 🚨 28660595 21516987 1.33
clickbench_q08/datafusion:vortex-file-compressed 325566324 323346007 1.01
clickbench_q09/datafusion:vortex-file-compressed 452086885 446449526 1.01
clickbench_q10/datafusion:vortex-file-compressed 74021808 72481721 1.02
clickbench_q11/datafusion:vortex-file-compressed 83267213 81957405 1.02
clickbench_q12/datafusion:vortex-file-compressed 266601008 254609989 1.05
clickbench_q13/datafusion:vortex-file-compressed 416838228 414768679 1.00
clickbench_q14/datafusion:vortex-file-compressed 252670056 256593737 0.98
clickbench_q15/datafusion:vortex-file-compressed 278585497 275521210 1.01
clickbench_q16/datafusion:vortex-file-compressed 643859959 643520475 1.00
clickbench_q17/datafusion:vortex-file-compressed 631200303 635575747 0.99
clickbench_q18/datafusion:vortex-file-compressed 1333163649 1361084292 0.98
clickbench_q19/datafusion:vortex-file-compressed 🚨 29256142 25078999 1.17
clickbench_q20/datafusion:vortex-file-compressed 268318653 254928529 1.05
clickbench_q21/datafusion:vortex-file-compressed 342972882 346231945 0.99
clickbench_q22/datafusion:vortex-file-compressed 442311303 441828827 1.00
clickbench_q23/datafusion:vortex-file-compressed 599823938 572271320 1.05
clickbench_q24/datafusion:vortex-file-compressed 46909248 42701840 1.10
clickbench_q25/datafusion:vortex-file-compressed 76472296 70671891 1.08
clickbench_q26/datafusion:vortex-file-compressed 42978401 41393648 1.04
clickbench_q27/datafusion:vortex-file-compressed 374210092 369140824 1.01
clickbench_q28/datafusion:vortex-file-compressed 2318775737 2312193049 1.00
clickbench_q29/datafusion:vortex-file-compressed 🚀 46868770 53625261 0.87
clickbench_q30/datafusion:vortex-file-compressed 218069024 223004381 0.98
clickbench_q31/datafusion:vortex-file-compressed 236011191 244139171 0.97
clickbench_q32/datafusion:vortex-file-compressed 1017034532 1009305309 1.01
clickbench_q33/datafusion:vortex-file-compressed 1368129623 1338548727 1.02
clickbench_q34/datafusion:vortex-file-compressed 1356261218 1354127493 1.00
clickbench_q35/datafusion:vortex-file-compressed 238545352 237166939 1.01
clickbench_q36/datafusion:vortex-file-compressed 54741320 56274157 0.97
clickbench_q37/datafusion:vortex-file-compressed 26313241 24000855 1.10
clickbench_q38/datafusion:vortex-file-compressed 16012938 14990469 1.07
clickbench_q39/datafusion:vortex-file-compressed 123007408 118019359 1.04
clickbench_q40/datafusion:vortex-file-compressed 🚨 12643583 11492102 1.10
clickbench_q41/datafusion:vortex-file-compressed 🚨 12226044 11055689 1.11
clickbench_q42/datafusion:vortex-file-compressed 11694080 10914190 1.07
datafusion / parquet (1.559x ❌, 0↑ 29↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench_q00/datafusion:parquet 🚨 34268001 1512618 22.65
clickbench_q01/datafusion:parquet 🚨 52408446 19470677 2.69
clickbench_q02/datafusion:parquet 🚨 76132176 45420770 1.68
clickbench_q03/datafusion:parquet 🚨 66927332 35683220 1.88
clickbench_q04/datafusion:parquet 🚨 298991934 267274853 1.12
clickbench_q05/datafusion:parquet 🚨 353909737 313112657 1.13
clickbench_q06/datafusion:parquet 🚨 34802428 1516842 22.94
clickbench_q07/datafusion:parquet 🚨 55733240 20720400 2.69
clickbench_q08/datafusion:parquet 🚨 377335062 323179858 1.17
clickbench_q09/datafusion:parquet 490097238 477364949 1.03
clickbench_q10/datafusion:parquet 🚨 125337521 90163258 1.39
clickbench_q11/datafusion:parquet 🚨 151607418 114405057 1.33
clickbench_q12/datafusion:parquet 🚨 335587735 295484705 1.14
clickbench_q13/datafusion:parquet 🚨 513832811 466863562 1.10
clickbench_q14/datafusion:parquet 342735780 318933618 1.07
clickbench_q15/datafusion:parquet 🚨 314997144 275980254 1.14
clickbench_q16/datafusion:parquet 692821009 640508337 1.08
clickbench_q17/datafusion:parquet 686516743 638004405 1.08
clickbench_q18/datafusion:parquet 1408502943 1439533640 0.98
clickbench_q19/datafusion:parquet 🚨 73178501 28729372 2.55
clickbench_q20/datafusion:parquet 599194813 576431960 1.04
clickbench_q21/datafusion:parquet 652623761 613677083 1.06
clickbench_q22/datafusion:parquet 948393551 906042936 1.05
clickbench_q23/datafusion:parquet 4101955477 4028500837 1.02
clickbench_q24/datafusion:parquet 🚨 99047901 56185750 1.76
clickbench_q25/datafusion:parquet 🚨 162156037 124779245 1.30
clickbench_q26/datafusion:parquet 🚨 90212777 52824076 1.71
clickbench_q27/datafusion:parquet 682925267 634714013 1.08
clickbench_q28/datafusion:parquet 2462844510 2402566672 1.03
clickbench_q29/datafusion:parquet 🚨 83939410 50030970 1.68
clickbench_q30/datafusion:parquet 🚨 349691176 314275278 1.11
clickbench_q31/datafusion:parquet 🚨 389611537 344200077 1.13
clickbench_q32/datafusion:parquet 1135082565 1113124640 1.02
clickbench_q33/datafusion:parquet 1506464549 1476065542 1.02
clickbench_q34/datafusion:parquet 1528693610 1467338619 1.04
clickbench_q35/datafusion:parquet 🚨 290093613 245345680 1.18
clickbench_q36/datafusion:parquet 🚨 144699927 102693852 1.41
clickbench_q37/datafusion:parquet 🚨 80437686 43025023 1.87
clickbench_q38/datafusion:parquet 🚨 96672222 61235131 1.58
clickbench_q39/datafusion:parquet 🚨 247450679 209454490 1.18
clickbench_q40/datafusion:parquet 🚨 62094877 23088779 2.69
clickbench_q41/datafusion:parquet 🚨 59624295 21550732 2.77
clickbench_q42/datafusion:parquet 🚨 57442176 21567900 2.66
duckdb / vortex-file-compressed (0.986x ➖, 4↑ 2↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench_q00/duckdb:vortex-file-compressed 9065982 9336039 0.97
clickbench_q01/duckdb:vortex-file-compressed 16064076 15161751 1.06
clickbench_q02/duckdb:vortex-file-compressed 20870335 20868907 1.00
clickbench_q03/duckdb:vortex-file-compressed 26765756 26744985 1.00
clickbench_q04/duckdb:vortex-file-compressed 198961243 198854263 1.00
clickbench_q05/duckdb:vortex-file-compressed 184473763 184228799 1.00
clickbench_q06/duckdb:vortex-file-compressed 19324992 18472900 1.05
clickbench_q07/duckdb:vortex-file-compressed 19508964 19757857 0.99
clickbench_q08/duckdb:vortex-file-compressed 267018244 272011648 0.98
clickbench_q09/duckdb:vortex-file-compressed 350093524 361060618 0.97
clickbench_q10/duckdb:vortex-file-compressed 73284005 72557184 1.01
clickbench_q11/duckdb:vortex-file-compressed 84880369 86233961 0.98
clickbench_q12/duckdb:vortex-file-compressed 206025197 206637535 1.00
clickbench_q13/duckdb:vortex-file-compressed 419377201 409987919 1.02
clickbench_q14/duckdb:vortex-file-compressed 241520197 245323840 0.98
clickbench_q15/duckdb:vortex-file-compressed 249677736 256866782 0.97
clickbench_q16/duckdb:vortex-file-compressed 537567459 539293899 1.00
clickbench_q17/duckdb:vortex-file-compressed 431538382 438676916 0.98
clickbench_q18/duckdb:vortex-file-compressed 945152330 950600663 0.99
clickbench_q19/duckdb:vortex-file-compressed 20131734 20802107 0.97
clickbench_q20/duckdb:vortex-file-compressed 248688141 253862126 0.98
clickbench_q21/duckdb:vortex-file-compressed 329068146 343208300 0.96
clickbench_q22/duckdb:vortex-file-compressed 519719950 516629029 1.01
clickbench_q23/duckdb:vortex-file-compressed 🚀 150087193 169244482 0.89
clickbench_q24/duckdb:vortex-file-compressed 🚨 42409665 33149851 1.28
clickbench_q25/duckdb:vortex-file-compressed 81114796 81533164 0.99
clickbench_q26/duckdb:vortex-file-compressed 🚨 47098825 38533012 1.22
clickbench_q27/duckdb:vortex-file-compressed 223268722 221821061 1.01
clickbench_q28/duckdb:vortex-file-compressed 3023429721 3147918239 0.96
clickbench_q29/duckdb:vortex-file-compressed 26558640 26031746 1.02
clickbench_q30/duckdb:vortex-file-compressed 197180734 203499397 0.97
clickbench_q31/duckdb:vortex-file-compressed 293106799 294495783 1.00
clickbench_q32/duckdb:vortex-file-compressed 1121605232 1152703513 0.97
clickbench_q33/duckdb:vortex-file-compressed 1071474548 1141146236 0.94
clickbench_q34/duckdb:vortex-file-compressed 1161573472 1207549249 0.96
clickbench_q35/duckdb:vortex-file-compressed 370755181 371312255 1.00
clickbench_q36/duckdb:vortex-file-compressed 🚀 28800591 32054775 0.90
clickbench_q37/duckdb:vortex-file-compressed 20508358 21883792 0.94
clickbench_q38/duckdb:vortex-file-compressed 23064502 24803205 0.93
clickbench_q39/duckdb:vortex-file-compressed 43633664 44241699 0.99
clickbench_q40/duckdb:vortex-file-compressed 🚀 20286474 24344621 0.83
clickbench_q41/duckdb:vortex-file-compressed 🚀 18322944 21890394 0.84
clickbench_q42/duckdb:vortex-file-compressed 21532040 21698407 0.99
duckdb / parquet (1.000x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench_q00/duckdb:parquet 23652767 23771052 1.00
clickbench_q01/duckdb:parquet 31530871 31146097 1.01
clickbench_q02/duckdb:parquet 51161388 50071016 1.02
clickbench_q03/duckdb:parquet 40412923 40634293 0.99
clickbench_q04/duckdb:parquet 207995588 206158278 1.01
clickbench_q05/duckdb:parquet 258317245 259441099 1.00
clickbench_q06/duckdb:parquet 48214249 48725039 0.99
clickbench_q07/duckdb:parquet 32921322 32722191 1.01
clickbench_q08/duckdb:parquet 271474428 271853767 1.00
clickbench_q09/duckdb:parquet 395769014 402806544 0.98
clickbench_q10/duckdb:parquet 84845741 82888054 1.02
clickbench_q11/duckdb:parquet 101146335 103908765 0.97
clickbench_q12/duckdb:parquet 279167739 283904677 0.98
clickbench_q13/duckdb:parquet 475269343 474429894 1.00
clickbench_q14/duckdb:parquet 314901840 318255494 0.99
clickbench_q15/duckdb:parquet 261281823 260991113 1.00
clickbench_q16/duckdb:parquet 597550900 602884473 0.99
clickbench_q17/duckdb:parquet 498832928 500771523 1.00
clickbench_q18/duckdb:parquet 1031539200 1036231082 1.00
clickbench_q19/duckdb:parquet 30021666 28125837 1.07
clickbench_q20/duckdb:parquet 418627493 418865216 1.00
clickbench_q21/duckdb:parquet 536715333 541900999 0.99
clickbench_q22/duckdb:parquet 920106801 923533740 1.00
clickbench_q23/duckdb:parquet 270371627 264403612 1.02
clickbench_q24/duckdb:parquet 70288208 70549944 1.00
clickbench_q25/duckdb:parquet 166184832 165906968 1.00
clickbench_q26/duckdb:parquet 55648036 56680513 0.98
clickbench_q27/duckdb:parquet 472308633 469624962 1.01
clickbench_q28/duckdb:parquet 4769941151 4778408618 1.00
clickbench_q29/duckdb:parquet 42982763 43681051 0.98
clickbench_q30/duckdb:parquet 314412019 311939700 1.01
clickbench_q31/duckdb:parquet 372975161 374607789 1.00
clickbench_q32/duckdb:parquet 1108367118 1121846503 0.99
clickbench_q33/duckdb:parquet 1114272684 1105756842 1.01
clickbench_q34/duckdb:parquet 1157619776 1154753986 1.00
clickbench_q35/duckdb:parquet 372405853 377346041 0.99
clickbench_q36/duckdb:parquet 46860681 48389436 0.97
clickbench_q37/duckdb:parquet 36163696 35580748 1.02
clickbench_q38/duckdb:parquet 36695620 35925820 1.02
clickbench_q39/duckdb:parquet 🚨 91155813 81877295 1.11
clickbench_q40/duckdb:parquet 21674413 21545047 1.01
clickbench_q41/duckdb:parquet 21040551 22305899 0.94
clickbench_q42/duckdb:parquet 23281166 24688003 0.94
duckdb / duckdb (1.003x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
clickbench_q00/duckdb:duckdb 18628406 18445289 1.01
clickbench_q01/duckdb:duckdb 35763274 35188029 1.02
clickbench_q02/duckdb:duckdb 53286261 53324125 1.00
clickbench_q03/duckdb:duckdb 57356812 56840075 1.01
clickbench_q04/duckdb:duckdb 212786811 212472595 1.00
clickbench_q05/duckdb:duckdb 285948430 285065450 1.00
clickbench_q06/duckdb:duckdb 35454870 35040639 1.01
clickbench_q07/duckdb:duckdb 36232472 36499596 0.99
clickbench_q08/duckdb:duckdb 273647920 277373793 0.99
clickbench_q09/duckdb:duckdb 395969425 395460699 1.00
clickbench_q10/duckdb:duckdb 117817256 116947826 1.01
clickbench_q11/duckdb:duckdb 127103066 126509156 1.00
clickbench_q12/duckdb:duckdb 260191096 257666150 1.01
clickbench_q13/duckdb:duckdb 442065356 439289770 1.01
clickbench_q14/duckdb:duckdb 285436507 285953749 1.00
clickbench_q15/duckdb:duckdb 241997445 244892797 0.99
clickbench_q16/duckdb:duckdb 566409267 565439108 1.00
clickbench_q17/duckdb:duckdb 464624665 470959030 0.99
clickbench_q18/duckdb:duckdb 998914984 1029373890 0.97
clickbench_q19/duckdb:duckdb 35229114 35844234 0.98
clickbench_q20/duckdb:duckdb 468091854 484460859 0.97
clickbench_q21/duckdb:duckdb 481390226 461838281 1.04
clickbench_q22/duckdb:duckdb 539944168 539419014 1.00
clickbench_q23/duckdb:duckdb 257042352 252243134 1.02
clickbench_q24/duckdb:duckdb 62169569 64407194 0.97
clickbench_q25/duckdb:duckdb 148607910 149623024 0.99
clickbench_q26/duckdb:duckdb 63746686 63958822 1.00
clickbench_q27/duckdb:duckdb 421902928 408709283 1.03
clickbench_q28/duckdb:duckdb 4413078680 4465672517 0.99
clickbench_q29/duckdb:duckdb 51769896 51576430 1.00
clickbench_q30/duckdb:duckdb 277157763 280569560 0.99
clickbench_q31/duckdb:duckdb 364403773 366573132 0.99
clickbench_q32/duckdb:duckdb 1116303851 1114838975 1.00
clickbench_q33/duckdb:duckdb 1128852623 1115993519 1.01
clickbench_q34/duckdb:duckdb 1203301500 1191278420 1.01
clickbench_q35/duckdb:duckdb 294599139 306419069 0.96
clickbench_q36/duckdb:duckdb 🚨 59967471 49898080 1.20
clickbench_q37/duckdb:duckdb 29824903 29944833 1.00
clickbench_q38/duckdb:duckdb 34725584 35101892 0.99
clickbench_q39/duckdb:duckdb 86174152 84668109 1.02
clickbench_q40/duckdb:duckdb 28895535 29578280 0.98
clickbench_q41/duckdb:duckdb 28242613 28424771 0.99
clickbench_q42/duckdb:duckdb 30850534 30401738 1.01

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.11 GB → 7.11 GB (-0.0%)
  • vortex-file-compressed: 11.04 GB → 11.04 GB (0.0%)

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on S3 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +3.9%
Engines: DataFusion No clear signal (+9.7%, environment too noisy confidence) · DuckDB No clear signal (-1.6%, environment too noisy confidence)
Vortex (geomean): 1.028x ➖
Parquet (geomean): 0.990x ➖
Shifts: Parquet (control) -1.0% · Median polish +1.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 (1.068x ➖, 0↑ 3↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 251793961 266286496 0.95
tpch_q02/datafusion:vortex-file-compressed 407142513 428389899 0.95
tpch_q03/datafusion:vortex-file-compressed 380833417 420486287 0.91
tpch_q04/datafusion:vortex-file-compressed 195978866 205511037 0.95
tpch_q05/datafusion:vortex-file-compressed 355051851 342322899 1.04
tpch_q06/datafusion:vortex-file-compressed 288394129 291060677 0.99
tpch_q07/datafusion:vortex-file-compressed 439157402 398408174 1.10
tpch_q08/datafusion:vortex-file-compressed 491196046 472191139 1.04
tpch_q09/datafusion:vortex-file-compressed 366605683 355688214 1.03
tpch_q10/datafusion:vortex-file-compressed 420249372 426747868 0.98
tpch_q11/datafusion:vortex-file-compressed 262166233 309474561 0.85
tpch_q12/datafusion:vortex-file-compressed 379439788 386732974 0.98
tpch_q13/datafusion:vortex-file-compressed 🚨 213385052 162598870 1.31
tpch_q14/datafusion:vortex-file-compressed 234120871 237338130 0.99
tpch_q15/datafusion:vortex-file-compressed 420486058 433302235 0.97
tpch_q16/datafusion:vortex-file-compressed 211214362 185417448 1.14
tpch_q17/datafusion:vortex-file-compressed 315310563 375314662 0.84
tpch_q18/datafusion:vortex-file-compressed 260046317 263826212 0.99
tpch_q19/datafusion:vortex-file-compressed 535675107 473454882 1.13
tpch_q20/datafusion:vortex-file-compressed 438217251 375343080 1.17
tpch_q21/datafusion:vortex-file-compressed 🚨 1015296711 511598709 1.98
tpch_q22/datafusion:vortex-file-compressed 🚨 288477253 162092400 1.78
datafusion / vortex-compact (1.020x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 261164004 282003157 0.93
tpch_q02/datafusion:vortex-compact 435954514 395873460 1.10
tpch_q03/datafusion:vortex-compact 438410569 382984169 1.14
tpch_q04/datafusion:vortex-compact 204807206 246627692 0.83
tpch_q05/datafusion:vortex-compact 345446270 390245593 0.89
tpch_q06/datafusion:vortex-compact 293448672 300351922 0.98
tpch_q07/datafusion:vortex-compact 372117755 459613222 0.81
tpch_q08/datafusion:vortex-compact 487766307 489061263 1.00
tpch_q09/datafusion:vortex-compact 373559473 352284450 1.06
tpch_q10/datafusion:vortex-compact 411309916 402032221 1.02
tpch_q11/datafusion:vortex-compact 297471020 263377152 1.13
tpch_q12/datafusion:vortex-compact 393443451 371370497 1.06
tpch_q13/datafusion:vortex-compact 196355500 203314400 0.97
tpch_q14/datafusion:vortex-compact 243433626 236258717 1.03
tpch_q15/datafusion:vortex-compact 440765404 400517332 1.10
tpch_q16/datafusion:vortex-compact 187184735 175690395 1.07
tpch_q17/datafusion:vortex-compact 347213271 310124607 1.12
tpch_q18/datafusion:vortex-compact 292958935 256333268 1.14
tpch_q19/datafusion:vortex-compact 597791347 504343799 1.19
tpch_q20/datafusion:vortex-compact 451110734 435884324 1.03
tpch_q21/datafusion:vortex-compact 501161921 498308827 1.01
tpch_q22/datafusion:vortex-compact 133659359 139782667 0.96
datafusion / parquet (0.952x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 200568070 206202218 0.97
tpch_q02/datafusion:parquet 395892912 436376820 0.91
tpch_q03/datafusion:parquet 289048471 301086870 0.96
tpch_q04/datafusion:parquet 150044664 151138161 0.99
tpch_q05/datafusion:parquet 432169609 424827854 1.02
tpch_q06/datafusion:parquet 144719971 141244000 1.02
tpch_q07/datafusion:parquet 440289322 440114386 1.00
tpch_q08/datafusion:parquet 557543554 542863397 1.03
tpch_q09/datafusion:parquet 459550912 483960719 0.95
tpch_q10/datafusion:parquet 452644535 519884569 0.87
tpch_q11/datafusion:parquet 368330269 394085998 0.93
tpch_q12/datafusion:parquet 222160439 296053021 0.75
tpch_q13/datafusion:parquet 447085880 439004868 1.02
tpch_q14/datafusion:parquet 182649213 183620006 0.99
tpch_q15/datafusion:parquet 296692948 299656478 0.99
tpch_q16/datafusion:parquet 171656054 174841824 0.98
tpch_q17/datafusion:parquet 378421424 356965566 1.06
tpch_q18/datafusion:parquet 426553045 422128495 1.01
tpch_q19/datafusion:parquet 287259929 317555723 0.90
tpch_q20/datafusion:parquet 292314867 318819229 0.92
tpch_q21/datafusion:parquet 466436938 526672207 0.89
tpch_q22/datafusion:parquet 187394532 225185453 0.83
duckdb / vortex-file-compressed (1.006x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 255648677 255756703 1.00
tpch_q02/duckdb:vortex-file-compressed 917386343 953023472 0.96
tpch_q03/duckdb:vortex-file-compressed 606269087 554711247 1.09
tpch_q04/duckdb:vortex-file-compressed 328149912 387479023 0.85
tpch_q05/duckdb:vortex-file-compressed 795258908 754447639 1.05
tpch_q06/duckdb:vortex-file-compressed 327305518 331312394 0.99
tpch_q07/duckdb:vortex-file-compressed 848281451 829160582 1.02
tpch_q08/duckdb:vortex-file-compressed 1014250616 962652635 1.05
tpch_q09/duckdb:vortex-file-compressed 915893218 856658698 1.07
tpch_q10/duckdb:vortex-file-compressed 677727726 672646625 1.01
tpch_q11/duckdb:vortex-file-compressed 445025740 441295107 1.01
tpch_q12/duckdb:vortex-file-compressed 560414273 574153890 0.98
tpch_q13/duckdb:vortex-file-compressed 385013085 375256709 1.03
tpch_q14/duckdb:vortex-file-compressed 428348221 386976828 1.11
tpch_q15/duckdb:vortex-file-compressed 278774411 289283465 0.96
tpch_q16/duckdb:vortex-file-compressed 335032939 321573891 1.04
tpch_q17/duckdb:vortex-file-compressed 656850372 702208375 0.94
tpch_q18/duckdb:vortex-file-compressed 543053815 525550332 1.03
tpch_q19/duckdb:vortex-file-compressed 446241200 453564311 0.98
tpch_q20/duckdb:vortex-file-compressed 768547628 747881364 1.03
tpch_q21/duckdb:vortex-file-compressed 982591821 955781152 1.03
tpch_q22/duckdb:vortex-file-compressed 259668935 275832807 0.94
duckdb / vortex-compact (1.020x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 🚨 374118831 276171272 1.35
tpch_q02/duckdb:vortex-compact 902854976 870295356 1.04
tpch_q03/duckdb:vortex-compact 605692935 619699585 0.98
tpch_q04/duckdb:vortex-compact 355438300 352568692 1.01
tpch_q05/duckdb:vortex-compact 704809966 744966459 0.95
tpch_q06/duckdb:vortex-compact 318363658 353137424 0.90
tpch_q07/duckdb:vortex-compact 853556048 821246318 1.04
tpch_q08/duckdb:vortex-compact 1072843422 1025001015 1.05
tpch_q09/duckdb:vortex-compact 934497370 1006923009 0.93
tpch_q10/duckdb:vortex-compact 656149094 678613253 0.97
tpch_q11/duckdb:vortex-compact 449662788 433945507 1.04
tpch_q12/duckdb:vortex-compact 589560201 749899966 0.79
tpch_q13/duckdb:vortex-compact 342290086 310419412 1.10
tpch_q14/duckdb:vortex-compact 411411687 339625361 1.21
tpch_q15/duckdb:vortex-compact 282161531 265177909 1.06
tpch_q16/duckdb:vortex-compact 313136054 294313451 1.06
tpch_q17/duckdb:vortex-compact 573022090 594215857 0.96
tpch_q18/duckdb:vortex-compact 520759074 533002233 0.98
tpch_q19/duckdb:vortex-compact 447681038 402889141 1.11
tpch_q20/duckdb:vortex-compact 657674145 666179071 0.99
tpch_q21/duckdb:vortex-compact 959960571 924355001 1.04
tpch_q22/duckdb:vortex-compact 251479633 248994526 1.01
duckdb / parquet (1.029x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 412320986 378425976 1.09
tpch_q02/duckdb:parquet 978768494 973461716 1.01
tpch_q03/duckdb:parquet 894514377 890954992 1.00
tpch_q04/duckdb:parquet 592423340 548150939 1.08
tpch_q05/duckdb:parquet 1051613780 1135490561 0.93
tpch_q06/duckdb:parquet 362737535 395071993 0.92
tpch_q07/duckdb:parquet 1033163668 1011970210 1.02
tpch_q08/duckdb:parquet 1318202424 1329970680 0.99
tpch_q09/duckdb:parquet 1282271799 1160452051 1.10
tpch_q10/duckdb:parquet 1138935874 1128465762 1.01
tpch_q11/duckdb:parquet 661957516 686929391 0.96
tpch_q12/duckdb:parquet 710083431 597345177 1.19
tpch_q13/duckdb:parquet 869430380 844761811 1.03
tpch_q14/duckdb:parquet 705969025 643188194 1.10
tpch_q15/duckdb:parquet 487119993 444926097 1.09
tpch_q16/duckdb:parquet 610122219 553542131 1.10
tpch_q17/duckdb:parquet 695870126 683607507 1.02
tpch_q18/duckdb:parquet 814405879 766352290 1.06
tpch_q19/duckdb:parquet 742892044 685679031 1.08
tpch_q20/duckdb:parquet 1000588472 1051342318 0.95
tpch_q21/duckdb:parquet 957537215 999946667 0.96
tpch_q22/duckdb:parquet 512688890 517182716 0.99

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Random Access 📖

Vortex (geomean): 1.036x ➖
Parquet (geomean): 1.029x ➖

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.

unknown / unknown (1.030x ➖, 0↑ 2↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
random-access/feature-vectors/correlated/lance-tokio-local-disk 380538 378899 1.00
random-access/feature-vectors/correlated/lance-tokio-local-disk-footer 1036366 1046270 0.99
random-access/feature-vectors/correlated/parquet-tokio-local-disk 8393865780 8189587886 1.02
random-access/feature-vectors/correlated/parquet-tokio-local-disk-footer 8182295192 8240995226 0.99
random-access/feature-vectors/correlated/vortex-tokio-local-disk 3549083 3815834 0.93
random-access/feature-vectors/correlated/vortex-tokio-local-disk-footer 2820670 2566747 1.10
random-access/feature-vectors/uniform/lance-tokio-local-disk 1184640 1171007 1.01
random-access/feature-vectors/uniform/lance-tokio-local-disk-footer 1888551 1876990 1.01
random-access/feature-vectors/uniform/parquet-tokio-local-disk 8193210555 8183945258 1.00
random-access/feature-vectors/uniform/parquet-tokio-local-disk-footer 8272215763 8219797614 1.01
random-access/feature-vectors/uniform/vortex-tokio-local-disk 3487100 3457057 1.01
random-access/feature-vectors/uniform/vortex-tokio-local-disk-footer 5831418 5682864 1.03
random-access/lance-tokio-local-disk 679586 676757 1.00
random-access/lance-tokio-local-disk-footer 1359088 1342214 1.01
random-access/nested-lists/correlated/lance-tokio-local-disk 230045 230167 1.00
random-access/nested-lists/correlated/lance-tokio-local-disk-footer 571920 563507 1.01
random-access/nested-lists/correlated/parquet-tokio-local-disk 131925322 127330295 1.04
random-access/nested-lists/correlated/parquet-tokio-local-disk-footer 129763182 127891562 1.01
random-access/nested-lists/correlated/vortex-tokio-local-disk 342992 333790 1.03
random-access/nested-lists/correlated/vortex-tokio-local-disk-footer 437748 436200 1.00
random-access/nested-lists/uniform/lance-tokio-local-disk 1034909 1004596 1.03
random-access/nested-lists/uniform/lance-tokio-local-disk-footer 1395677 1363678 1.02
random-access/nested-lists/uniform/parquet-tokio-local-disk 133032310 128620418 1.03
random-access/nested-lists/uniform/parquet-tokio-local-disk-footer 130260989 126745886 1.03
random-access/nested-lists/uniform/vortex-tokio-local-disk 1848177 1831856 1.01
random-access/nested-lists/uniform/vortex-tokio-local-disk-footer 2011831 1919947 1.05
random-access/nested-structs/correlated/lance-tokio-local-disk 362476 358943 1.01
random-access/nested-structs/correlated/lance-tokio-local-disk-footer 549379 528689 1.04
random-access/nested-structs/correlated/parquet-tokio-local-disk 21356102 20110661 1.06
random-access/nested-structs/correlated/parquet-tokio-local-disk-footer 21377244 20182761 1.06
random-access/nested-structs/correlated/vortex-tokio-local-disk 423186 432810 0.98
random-access/nested-structs/correlated/vortex-tokio-local-disk-footer 🚨 651044 582204 1.12
random-access/nested-structs/uniform/lance-tokio-local-disk 2628801 2484696 1.06
random-access/nested-structs/uniform/lance-tokio-local-disk-footer 2966302 2735698 1.08
random-access/nested-structs/uniform/parquet-tokio-local-disk 21373881 20748204 1.03
random-access/nested-structs/uniform/parquet-tokio-local-disk-footer 21674494 20294443 1.07
random-access/nested-structs/uniform/vortex-tokio-local-disk 🚨 1384754 1110645 1.25
random-access/nested-structs/uniform/vortex-tokio-local-disk-footer 1575354 1445922 1.09
random-access/parquet-tokio-local-disk 169709117 165265832 1.03
random-access/parquet-tokio-local-disk-footer 170428855 165706078 1.03
random-access/taxi/correlated/lance-tokio-local-disk 996507 986187 1.01
random-access/taxi/correlated/lance-tokio-local-disk-footer 1919186 1858245 1.03
random-access/taxi/correlated/parquet-tokio-local-disk 256236534 247831495 1.03
random-access/taxi/correlated/parquet-tokio-local-disk-footer 255274162 247296308 1.03
random-access/taxi/correlated/vortex-tokio-local-disk 1085371 1098637 0.99
random-access/taxi/correlated/vortex-tokio-local-disk-footer 1674789 1630401 1.03
random-access/taxi/uniform/lance-tokio-local-disk 10515653 9852761 1.07
random-access/taxi/uniform/lance-tokio-local-disk-footer 10932045 10498635 1.04
random-access/taxi/uniform/parquet-tokio-local-disk 269064945 261749255 1.03
random-access/taxi/uniform/parquet-tokio-local-disk-footer 268263296 263986809 1.02
random-access/taxi/uniform/vortex-tokio-local-disk 4678146 4576000 1.02
random-access/taxi/uniform/vortex-tokio-local-disk-footer 5112514 5098263 1.00
random-access/vortex-tokio-local-disk 705650 676295 1.04
random-access/vortex-tokio-local-disk-footer 1131874 1112059 1.02

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Appian on NVME 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +0.3%
Engines: DataFusion No clear signal (+2.4%, low confidence) · DuckDB No clear signal (-0.8%, low confidence)
Vortex (geomean): 1.006x ➖
Parquet (geomean): 0.998x ➖
Shifts: Parquet (control) -0.2% · Median polish -0.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.018x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
appian_q01/datafusion:vortex-file-compressed 126429785 122362742 1.03
appian_q02/datafusion:vortex-file-compressed 582612588 580094012 1.00
appian_q03/datafusion:vortex-file-compressed 333546670 330438613 1.01
appian_q04/datafusion:vortex-file-compressed 44496942831 43595737709 1.02
appian_q05/datafusion:vortex-file-compressed 250980005 239633207 1.05
appian_q06/datafusion:vortex-file-compressed 340775642 331031530 1.03
appian_q07/datafusion:vortex-file-compressed 412354824 416684701 0.99
appian_q08/datafusion:vortex-file-compressed 1944583917 1919807625 1.01
datafusion / parquet (0.995x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
appian_q01/datafusion:parquet 123584782 129997506 0.95
appian_q02/datafusion:parquet 596732937 592817699 1.01
appian_q03/datafusion:parquet 328868399 329436575 1.00
appian_q04/datafusion:parquet 44162044985 43962909487 1.00
appian_q05/datafusion:parquet 273703668 272843065 1.00
appian_q06/datafusion:parquet 356171628 349995929 1.02
appian_q07/datafusion:parquet 431069402 435558717 0.99
appian_q08/datafusion:parquet 1906904691 1929666680 0.99
duckdb / vortex-file-compressed (0.995x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
appian_q01/duckdb:vortex-file-compressed 184771386 186752222 0.99
appian_q02/duckdb:vortex-file-compressed 595495655 599595517 0.99
appian_q03/duckdb:vortex-file-compressed 254334976 259036374 0.98
appian_q04/duckdb:vortex-file-compressed 1317697171 1314135065 1.00
appian_q05/duckdb:vortex-file-compressed 286294112 288732063 0.99
appian_q06/duckdb:vortex-file-compressed 800392149 795147247 1.01
appian_q07/duckdb:vortex-file-compressed 344496413 345403577 1.00
appian_q08/duckdb:vortex-file-compressed 1268935772 1273606967 1.00
duckdb / parquet (1.001x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
appian_q01/duckdb:parquet 200597880 203461476 0.99
appian_q02/duckdb:parquet 599380399 605760640 0.99
appian_q03/duckdb:parquet 290572576 292737834 0.99
appian_q04/duckdb:parquet 1333258323 1310976354 1.02
appian_q05/duckdb:parquet 318731057 314711606 1.01
appian_q06/duckdb:parquet 794953264 781600135 1.02
appian_q07/duckdb:parquet 365261487 366792181 1.00
appian_q08/duckdb:parquet 1272992306 1279747369 0.99
duckdb / duckdb (0.990x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
appian_q01/duckdb:duckdb 170264757 171679022 0.99
appian_q02/duckdb:duckdb 555814306 549369709 1.01
appian_q03/duckdb:duckdb 368177724 385120791 0.96
appian_q04/duckdb:duckdb 1287697436 1303774328 0.99
appian_q05/duckdb:duckdb 280078345 282032027 0.99
appian_q06/duckdb:duckdb 776771841 783306523 0.99
appian_q07/duckdb:duckdb 327355322 329139232 0.99
appian_q08/duckdb:duckdb 1219335017 1222844755 1.00

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: 271.91 MB → 271.65 MB (-0.1%)
  • vortex-file-compressed: 479.69 MB → 479.69 MB (0.0%)

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=10 on S3 📖

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -4.7%
Engines: DataFusion No clear signal (-4.7%, environment too noisy confidence) · DuckDB No clear signal (-4.8%, low confidence)
Vortex (geomean): 0.986x ➖
Parquet (geomean): 1.035x ➖
Shifts: Parquet (control) +3.5% · Median polish -0.9%

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.979x ➖, 0↑ 1↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 793949954 736933337 1.08
tpch_q02/datafusion:vortex-file-compressed 722927934 876013669 0.83
tpch_q03/datafusion:vortex-file-compressed 761982108 785672480 0.97
tpch_q04/datafusion:vortex-file-compressed 441622222 429742307 1.03
tpch_q05/datafusion:vortex-file-compressed 824288410 860198869 0.96
tpch_q06/datafusion:vortex-file-compressed 553679215 544865991 1.02
tpch_q07/datafusion:vortex-file-compressed 842772554 868831805 0.97
tpch_q08/datafusion:vortex-file-compressed 1103346190 1205359348 0.92
tpch_q09/datafusion:vortex-file-compressed 1153948670 1129293886 1.02
tpch_q10/datafusion:vortex-file-compressed 🚨 1143064576 873893120 1.31
tpch_q11/datafusion:vortex-file-compressed 438070510 455707135 0.96
tpch_q12/datafusion:vortex-file-compressed 659414421 704741287 0.94
tpch_q13/datafusion:vortex-file-compressed 383214509 398619647 0.96
tpch_q14/datafusion:vortex-file-compressed 457364980 479204967 0.95
tpch_q15/datafusion:vortex-file-compressed 847799848 819078562 1.04
tpch_q16/datafusion:vortex-file-compressed 395689551 397170617 1.00
tpch_q17/datafusion:vortex-file-compressed 1168079129 1178720470 0.99
tpch_q18/datafusion:vortex-file-compressed 1144098450 1172075219 0.98
tpch_q19/datafusion:vortex-file-compressed 816220282 786465979 1.04
tpch_q20/datafusion:vortex-file-compressed 750603586 937707175 0.80
tpch_q21/datafusion:vortex-file-compressed 1305053965 1401381423 0.93
tpch_q22/datafusion:vortex-file-compressed 330165399 345090125 0.96
datafusion / vortex-compact (0.968x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 736002576 779068408 0.94
tpch_q02/datafusion:vortex-compact 698737050 917044878 0.76
tpch_q03/datafusion:vortex-compact 667457912 705429079 0.95
tpch_q04/datafusion:vortex-compact 400271383 405211547 0.99
tpch_q05/datafusion:vortex-compact 784376466 816592141 0.96
tpch_q06/datafusion:vortex-compact 505361275 513308820 0.98
tpch_q07/datafusion:vortex-compact 861374925 864584596 1.00
tpch_q08/datafusion:vortex-compact 1108869745 1233855904 0.90
tpch_q09/datafusion:vortex-compact 1040677941 1133616207 0.92
tpch_q10/datafusion:vortex-compact 816164717 827335778 0.99
tpch_q11/datafusion:vortex-compact 409248654 398448878 1.03
tpch_q12/datafusion:vortex-compact 796534972 673221489 1.18
tpch_q13/datafusion:vortex-compact 423248021 399487075 1.06
tpch_q14/datafusion:vortex-compact 543179847 459870838 1.18
tpch_q15/datafusion:vortex-compact 842464284 817194847 1.03
tpch_q16/datafusion:vortex-compact 385576312 380483790 1.01
tpch_q17/datafusion:vortex-compact 1116982846 1217770706 0.92
tpch_q18/datafusion:vortex-compact 1087535374 1112284474 0.98
tpch_q19/datafusion:vortex-compact 877504398 908008133 0.97
tpch_q20/datafusion:vortex-compact 790643609 777074985 1.02
tpch_q21/datafusion:vortex-compact 1293711013 1349493762 0.96
tpch_q22/datafusion:vortex-compact 377814148 533163952 0.71
datafusion / parquet (1.021x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 872239245 840887144 1.04
tpch_q02/datafusion:parquet 792736369 768136081 1.03
tpch_q03/datafusion:parquet 875183519 893389450 0.98
tpch_q04/datafusion:parquet 434055896 426072337 1.02
tpch_q05/datafusion:parquet 1067704327 1136857541 0.94
tpch_q06/datafusion:parquet 502871513 531014578 0.95
tpch_q07/datafusion:parquet 1387638128 1240161588 1.12
tpch_q08/datafusion:parquet 1857517739 1548264594 1.20
tpch_q09/datafusion:parquet 2021628509 1784276292 1.13
tpch_q10/datafusion:parquet 2293859821 2029394748 1.13
tpch_q11/datafusion:parquet 612906791 523019001 1.17
tpch_q12/datafusion:parquet 824994894 672681277 1.23
tpch_q13/datafusion:parquet 718707448 868754119 0.83
tpch_q14/datafusion:parquet 832579077 754718350 1.10
tpch_q15/datafusion:parquet 1261813412 1372286408 0.92
tpch_q16/datafusion:parquet 362674467 353258896 1.03
tpch_q17/datafusion:parquet 1343853228 1385718993 0.97
tpch_q18/datafusion:parquet 1547635779 1708769291 0.91
tpch_q19/datafusion:parquet 941318761 956504755 0.98
tpch_q20/datafusion:parquet 1110831878 1110669708 1.00
tpch_q21/datafusion:parquet 1784298116 1879519367 0.95
tpch_q22/datafusion:parquet 717322773 749145399 0.96
duckdb / vortex-file-compressed (1.003x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 609315581 617118176 0.99
tpch_q02/duckdb:vortex-file-compressed 1112072640 1089507331 1.02
tpch_q03/duckdb:vortex-file-compressed 853736384 838095240 1.02
tpch_q04/duckdb:vortex-file-compressed 661324139 640508793 1.03
tpch_q05/duckdb:vortex-file-compressed 1118863000 1116925596 1.00
tpch_q06/duckdb:vortex-file-compressed 562130735 589724196 0.95
tpch_q07/duckdb:vortex-file-compressed 1164015235 1141554739 1.02
tpch_q08/duckdb:vortex-file-compressed 1435129562 1471521283 0.98
tpch_q09/duckdb:vortex-file-compressed 1552810295 1665549254 0.93
tpch_q10/duckdb:vortex-file-compressed 1403996626 1239174545 1.13
tpch_q11/duckdb:vortex-file-compressed 656773356 592752847 1.11
tpch_q12/duckdb:vortex-file-compressed 1191890334 1161183043 1.03
tpch_q13/duckdb:vortex-file-compressed 751737868 821050341 0.92
tpch_q14/duckdb:vortex-file-compressed 627357085 635082316 0.99
tpch_q15/duckdb:vortex-file-compressed 518111665 584698232 0.89
tpch_q16/duckdb:vortex-file-compressed 530008568 482817045 1.10
tpch_q17/duckdb:vortex-file-compressed 976141754 1003616569 0.97
tpch_q18/duckdb:vortex-file-compressed 867563453 872557419 0.99
tpch_q19/duckdb:vortex-file-compressed 761818624 727797360 1.05
tpch_q20/duckdb:vortex-file-compressed 1231597383 1196622156 1.03
tpch_q21/duckdb:vortex-file-compressed 1843621325 1959134133 0.94
tpch_q22/duckdb:vortex-file-compressed 389784176 383373212 1.02
duckdb / vortex-compact (0.993x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 663197381 617068661 1.07
tpch_q02/duckdb:vortex-compact 1127578904 1088232605 1.04
tpch_q03/duckdb:vortex-compact 864977442 820608816 1.05
tpch_q04/duckdb:vortex-compact 566115793 591456106 0.96
tpch_q05/duckdb:vortex-compact 1008881856 1100006572 0.92
tpch_q06/duckdb:vortex-compact 536009205 631080254 0.85
tpch_q07/duckdb:vortex-compact 1135878976 1110454745 1.02
tpch_q08/duckdb:vortex-compact 1395442797 1443032726 0.97
tpch_q09/duckdb:vortex-compact 1551820890 1554902446 1.00
tpch_q10/duckdb:vortex-compact 1333385836 1220545057 1.09
tpch_q11/duckdb:vortex-compact 650102438 649061866 1.00
tpch_q12/duckdb:vortex-compact 1073938520 1135061436 0.95
tpch_q13/duckdb:vortex-compact 714208085 782852443 0.91
tpch_q14/duckdb:vortex-compact 728905987 652250877 1.12
tpch_q15/duckdb:vortex-compact 525217448 578788104 0.91
tpch_q16/duckdb:vortex-compact 444174899 436164693 1.02
tpch_q17/duckdb:vortex-compact 854043839 912621789 0.94
tpch_q18/duckdb:vortex-compact 900712258 819326050 1.10
tpch_q19/duckdb:vortex-compact 730698643 762137693 0.96
tpch_q20/duckdb:vortex-compact 1156663113 1162808873 0.99
tpch_q21/duckdb:vortex-compact 1738870347 1819431139 0.96
tpch_q22/duckdb:vortex-compact 476757993 435103996 1.10
duckdb / parquet (1.048x ➖, 0↑ 0↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 788669853 712211109 1.11
tpch_q02/duckdb:parquet 1295706637 1205763726 1.07
tpch_q03/duckdb:parquet 1511571697 1480830010 1.02
tpch_q04/duckdb:parquet 929688530 849331244 1.09
tpch_q05/duckdb:parquet 1808477498 1920132680 0.94
tpch_q06/duckdb:parquet 677255808 674776128 1.00
tpch_q07/duckdb:parquet 1794369538 1564992435 1.15
tpch_q08/duckdb:parquet 2444781327 2183649089 1.12
tpch_q09/duckdb:parquet 2407205187 2299050745 1.05
tpch_q10/duckdb:parquet 2878077681 2832676288 1.02
tpch_q11/duckdb:parquet 838593786 803742828 1.04
tpch_q12/duckdb:parquet 1070881042 1001783348 1.07
tpch_q13/duckdb:parquet 1223561501 1197932522 1.02
tpch_q14/duckdb:parquet 1223713196 1146998658 1.07
tpch_q15/duckdb:parquet 856056456 873062235 0.98
tpch_q16/duckdb:parquet 830530332 818916279 1.01
tpch_q17/duckdb:parquet 1236988201 1174128567 1.05
tpch_q18/duckdb:parquet 1357087623 1256506476 1.08
tpch_q19/duckdb:parquet 1397978270 1360937016 1.03
tpch_q20/duckdb:parquet 1764963689 1716297342 1.03
tpch_q21/duckdb:parquet 1753391514 1623026678 1.08
tpch_q22/duckdb:parquet 1032652359 985961623 1.05

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Compression 📖

Vortex (geomean): 1.005x ➖
Parquet (geomean): 0.987x ➖

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.

unknown / unknown (0.983x ➖, 6↑ 3↓)
name PR 12ca5ba (ns) base 0a15781 (ns) ratio (PR/base)
compress time/Arade 1083388092 1106910056 0.98
compress time/Bimbo 5678454596 5742861556 0.99
compress time/CMSprovider 2656455628 2670576253 0.99
compress time/Euro2016 418523180 425723499 0.98
compress time/Food 339325536 368291949 0.92
compress time/HashTags 848971901 842361390 1.01
compress time/TPC-H l_comment canonical 1184981733 1251403462 0.95
compress time/TPC-H l_comment chunked 1214633777 1201787211 1.01
compress time/taxi 574944023 567734038 1.01
compress time/wide table cols=100 chunks=1 rows=1000 12803432 13528591 0.95
compress time/wide table cols=100 chunks=50 rows=1000 🚀 11717804 14583195 0.80
compress time/wide table cols=1000 chunks=1 rows=1000 132414704 144420158 0.92
compress time/wide table cols=1000 chunks=50 rows=1000 136025411 139605217 0.97
compress time/wide table cols=10000 chunks=1 rows=1000 1542089378 1554973432 0.99
compress time/wide table cols=10000 chunks=50 rows=1000 1562989211 1579459858 0.99
decompress time/Arade 25843029 26436854 0.98
decompress time/Bimbo 92897149 93554243 0.99
decompress time/CMSprovider 77166533 77463008 1.00
decompress time/Euro2016 20581813 20237894 1.02
decompress time/Food 8670127 9464696 0.92
decompress time/HashTags 95455186 93945333 1.02
decompress time/TPC-H l_comment canonical 42713325 45725796 0.93
decompress time/TPC-H l_comment chunked 43341397 44089290 0.98
decompress time/taxi 16304322 17187237 0.95
decompress time/wide table cols=100 chunks=1 rows=1000 2562978 2825699 0.91
decompress time/wide table cols=100 chunks=50 rows=1000 2667252 2952675 0.90
decompress time/wide table cols=1000 chunks=1 rows=1000 24548945 25720251 0.95
decompress time/wide table cols=1000 chunks=50 rows=1000 23852782 23124153 1.03
decompress time/wide table cols=10000 chunks=1 rows=1000 248619202 255521053 0.97
decompress time/wide table cols=10000 chunks=50 rows=1000 🚀 262928552 297484366 0.88
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 2618813046 2601157904 1.01
parquet_rs-zstd compress time/Bimbo 12891797129 12606669135 1.02
parquet_rs-zstd compress time/CMSprovider 6940291246 6878284704 1.01
parquet_rs-zstd compress time/Euro2016 1297431060 1322318412 0.98
parquet_rs-zstd compress time/Food 793301413 830106706 0.96
parquet_rs-zstd compress time/HashTags 🚀 2158192507 2404203994 0.90
parquet_rs-zstd compress time/TPC-H l_comment canonical 3203227575 3241804261 0.99
parquet_rs-zstd compress time/TPC-H l_comment chunked 3227205200 3271627590 0.99
parquet_rs-zstd compress time/taxi 1200990378 1188203013 1.01
parquet_rs-zstd compress time/wide table cols=100 chunks=1 rows=1000 🚀 6357352 7815623 0.81
parquet_rs-zstd compress time/wide table cols=100 chunks=50 rows=1000 🚀 6154784 7466268 0.82
parquet_rs-zstd compress time/wide table cols=1000 chunks=1 rows=1000 75463973 82676639 0.91
parquet_rs-zstd compress time/wide table cols=1000 chunks=50 rows=1000 75672735 81611305 0.93
parquet_rs-zstd compress time/wide table cols=10000 chunks=1 rows=1000 803616926 856320643 0.94
parquet_rs-zstd compress time/wide table cols=10000 chunks=50 rows=1000 782143266 844751409 0.93
parquet_rs-zstd decompress time/Arade 623423741 620538332 1.00
parquet_rs-zstd decompress time/Bimbo 1710350350 1698354923 1.01
parquet_rs-zstd decompress time/CMSprovider 1712505682 1695394895 1.01
parquet_rs-zstd decompress time/Euro2016 375030609 374245128 1.00
parquet_rs-zstd decompress time/Food 197255607 213648245 0.92
parquet_rs-zstd decompress time/HashTags 638589308 673132601 0.95
parquet_rs-zstd decompress time/TPC-H l_comment canonical 586678491 590228376 0.99
parquet_rs-zstd decompress time/TPC-H l_comment chunked 595606989 606729874 0.98
parquet_rs-zstd decompress time/taxi 246783112 244293502 1.01
parquet_rs-zstd decompress time/wide table cols=100 chunks=1 rows=1000 🚀 2789260 3317396 0.84
parquet_rs-zstd decompress time/wide table cols=100 chunks=50 rows=1000 2829826 3098306 0.91
parquet_rs-zstd decompress time/wide table cols=1000 chunks=1 rows=1000 32484248 35032541 0.93
parquet_rs-zstd decompress time/wide table cols=1000 chunks=50 rows=1000 33241794 35900028 0.93
parquet_rs-zstd decompress time/wide table cols=10000 chunks=1 rows=1000 347983385 362605497 0.96
parquet_rs-zstd decompress time/wide table cols=10000 chunks=50 rows=1000 346444334 361839738 0.96
vortex-file-compressed size/Arade 145358060 145358060 1.00
vortex-file-compressed size/Bimbo 467257556 467257556 1.00
vortex-file-compressed size/CMSprovider 417789364 417789356 1.00
vortex-file-compressed size/Euro2016 162142940 162142844 1.00
vortex-file-compressed size/Food 41977096 41977096 1.00
vortex-file-compressed size/HashTags 184887916 184887916 1.00
vortex-file-compressed size/TPC-H l_comment canonical 172639744 172639744 1.00
vortex-file-compressed size/TPC-H l_comment chunked 172639744 172639744 1.00
vortex-file-compressed size/taxi 52296276 52296276 1.00
vortex-file-compressed size/wide table cols=100 chunks=1 rows=1000 932512 932512 1.00
vortex-file-compressed size/wide table cols=100 chunks=50 rows=1000 932512 932512 1.00
vortex-file-compressed size/wide table cols=1000 chunks=1 rows=1000 9309712 9309712 1.00
vortex-file-compressed size/wide table cols=1000 chunks=50 rows=1000 9309712 9309712 1.00
vortex-file-compressed size/wide table cols=10000 chunks=1 rows=1000 93117712 93117712 1.00
vortex-file-compressed size/wide table cols=10000 chunks=50 rows=1000 93117712 93117712 1.00
vortex:parquet-zstd ratio compress time/Arade 0 0 0.97
vortex:parquet-zstd ratio compress time/Bimbo 0 0 0.97
vortex:parquet-zstd ratio compress time/CMSprovider 0 0 0.99
vortex:parquet-zstd ratio compress time/Euro2016 0 0 1.00
vortex:parquet-zstd ratio compress time/Food 0 0 0.96
vortex:parquet-zstd ratio compress time/HashTags 🚨 0 0 1.12
vortex:parquet-zstd ratio compress time/TPC-H l_comment canonical 0 0 0.96
vortex:parquet-zstd ratio compress time/TPC-H l_comment chunked 0 0 1.02
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 🚨 2 1 1.16
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=50 rows=1000 1 1 0.97
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=1 rows=1000 1 1 1.00
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=50 rows=1000 1 1 1.05
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=1 rows=1000 1 1 1.06
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=50 rows=1000 1 1 1.07
vortex:parquet-zstd ratio decompress time/Arade 0 0 0.97
vortex:parquet-zstd ratio decompress time/Bimbo 0 0 0.99
vortex:parquet-zstd ratio decompress time/CMSprovider 0 0 0.99
vortex:parquet-zstd ratio decompress time/Euro2016 0 0 1.01
vortex:parquet-zstd ratio decompress time/Food 0 0 0.99
vortex:parquet-zstd ratio decompress time/HashTags 0 0 1.07
vortex:parquet-zstd ratio decompress time/TPC-H l_comment canonical 0 0 0.94
vortex:parquet-zstd ratio decompress time/TPC-H l_comment chunked 0 0 1.00
vortex:parquet-zstd ratio decompress time/taxi 0 0 0.94
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=1 rows=1000 0 0 1.08
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=50 rows=1000 0 0 0.99
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=1 rows=1000 0 0 1.03
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=50 rows=1000 🚨 0 0 1.11
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=1 rows=1000 0 0 1.01
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=50 rows=1000 0 0 0.92
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 1 1 1.00
vortex:parquet-zstd size/wide table cols=100 chunks=50 rows=1000 1 1 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

Comment thread vortex-jni/src/session.rs
Comment on lines +26 to +31
// `vortex.parquet.variant` is declared by the `unstable` family, so the writer would gate it
// out of a core-only session. Registering the encoding here is the opt-in to writing it.
session
.enable_edition(DEFAULT_UNSTABLE_EDITION)
.map_err(|e| vortex_err!("{e}"))
.vortex_expect("default unstable edition is registered");

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.

@AdamGS @robert3005 what shall we do here?

joseph-isaacs and others added 2 commits July 28, 2026 09:10
The file writer could emit any encoding in `ALLOWED_ENCODINGS` regardless of
which editions a session had enabled for writing, so a core-only session could
still put an unstable-family encoding into a file whose compatibility guarantee
does not cover it.

Add `EditionSessionExt::retain_writable_encodings`, which drops every encoding a
registered edition declares but the session has not enabled. Encodings no
registered edition declares are left alone, so sessions outside the edition
system — and third-party encodings without an inclusion — are not gated.

Apply it in two places:

- `VortexWriteOptions::write_internal` builds its `ArrayContext` from the gated
  ids, for both the pre-populated table and the permitted set, so a gated-out
  encoding cannot be interned even under a custom write strategy.
- `WriteStrategyBuilder::with_session_editions` narrows the allow-list, and
  `build` now filters the BtrBlocks compressor's schemes to those whose output
  the allow-list covers. Filtering happens on the finished builder, so schemes
  added later — including the compact Zstd/Pco ones — are filtered too.
  Otherwise the compressor would produce an encoding the validator then rejects,
  failing the write instead of picking the next best scheme.

Two sessions opt into the unstable edition to keep behaviour they already had:
the default session when experimental patched arrays are switched on, since the
compressor then emits `vortex.patched`; and the JNI session, which registers
`vortex.parquet.variant`.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013prrhMhUESQfFucbDPjYAd
…tests

Gating the writer by the enabled editions makes the default session stop
listing `fastlanes.delta` in a file's array context. Two doctests in
`vortex-python/src/io.rs` assert exact file sizes, and both shrank by exactly
40 bytes as a result. Reproduced locally: `chonky.vortex` is 215900 bytes and
`tiny.vortex` is 55028.

The gate filters compression schemes by their declared `produced_encodings`,
so a scheme that under-declares would survive the filter, compress into a
gated encoding, and make the writer fail the file rather than fall back —
`LayoutStrategyEncodingValidator` normalizes with `Operation::Error`, and
nothing in the writer uses the `Operation::Execute` fallback. Add a test that
checks those declarations against what the schemes actually emit: it narrows a
real session to the baseline `core2025.05.0` edition, which predates Zstd,
Pco, FastLanes RLE and `vortex.masked`, then compresses primitive, float,
string and boolean data with the widest scheme set the writer ever uses and
asserts nothing outside the allow-list reaches the output. Removing the
`retain_allowed_encodings` call makes it fail on `vortex.pco`, so it bites.

Pin the gate's effect in both feature configurations, since neither is
otherwise covered:

- Without `unstable_encodings`, `fastlanes.delta` is the only allow-list entry
  no core edition declares, and its scheme is compiled out in that build, so
  no compression scheme is affected.
- With `unstable_encodings` — the configuration every benchmark builds with —
  the gate is a no-op, so it cannot change a byte the benchmarks write.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013prrhMhUESQfFucbDPjYAd
@joseph-isaacs
joseph-isaacs force-pushed the claude/writer-conntext-array-encoding-gate-wipyib branch from 64a0334 to 965957b Compare July 28, 2026 09:10
joseph-isaacs and others added 3 commits July 28, 2026 09:13
Extend `a_gated_compressor_never_emits_a_gated_encoding` to decimal, opaque
binary and a struct that mixes column types, so the check covers cascading
across schemes rather than a single scheme in isolation. Add an end-to-end
test that writes and reads back a file with the narrowed edition, exercising
the compressor filter, the array context and the leaf validator together.

Add an ignored test for a bug this PR introduces. `VortexWriteOptions::new`
resolves the writable set when the write options are built, but the writer's
array context resolves it again at write time. Narrowing the session between
those two points leaves the compressor filtered against the old, wider set
while the context enforces the new, narrower one, and the write fails with
`Array encoding vortex.sequence not permitted by ctx`.

Deriving the set at strategy-construction time is the wrong place for it:
`LayoutStrategy::write_stream` already receives the session, so the gate
belongs there, where it is enforced. Moving it would also remove the need for
`WriteStrategyBuilder::with_session_editions` and cover custom strategies
automatically. Left failing and ignored so the fix lands with a test that
already reproduces the problem.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013prrhMhUESQfFucbDPjYAd
…s built

`WriteStrategyBuilder::with_session_editions` resolved the writable set when
the strategy was built, but the writer's array context resolved it again at
write time. Enabling an edition mutates the session, so anything that narrowed
it between those two points left the compressor filtered against the old,
wider set while the context enforced the new, narrower one, and the write died
with `Array encoding vortex.sequence not permitted by ctx`.

Deriving the set from mutable session state at construction time is the wrong
place for it. `LayoutStrategy::write_stream` receives the session, which is
where the gate is actually enforced, so resolve it there:

- Drop `with_session_editions`. The builder no longer knows about sessions,
  and `VortexWriteOptions::new` goes back to a plain `build()`.
- Drop the build-time scheme filtering. Filtering by the static allow-list was
  a no-op, and filtering by the session's is what created the ordering hazard.
- Add `EditionGatedStrategy`, which wraps the flat leaf, resolves the writable
  set from the session inside `write_stream`, and normalizes each chunk with
  `Operation::Execute`. When the session's editions already cover the
  allow-list — every session by default — it skips the traversal entirely.

Two consequences worth noting. Strategies built through `WriteStrategyBuilder`
are now gated whether or not the caller opts in, so the `with_strategy`
callers that previously slipped past the compressor filter are covered; the
test that asserted a session-agnostic strategy fails now asserts it writes and
round-trips. And because gated encodings are executed back to an allowed
representation rather than rejected, a scheme whose output an edition does not
cover costs compression ratio on a narrowed session instead of failing the
file, which no longer makes the gate depend on `produced_encodings` being
exhaustive.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013prrhMhUESQfFucbDPjYAd
`cargo doc --document-private-items` runs with `-D warnings`, and the label
already resolves to the same path:

    error: redundant explicit link target
       --> vortex-file/src/strategy.rs:171:22
        | /// [`ArrayContext`](vortex_array::ArrayContext) enforces, ...
        |      --------------  ^^^^^^^^^^^^^^^^^^^^^^^^^^ explicit target is redundant

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_013prrhMhUESQfFucbDPjYAd
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/fix A bug fix

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant