Skip to content

Refactor struct layout expression partitioning into dedicated module - #9106

Draft
joseph-isaacs wants to merge 10 commits into
developfrom
claude/partitioning-structs-nullability-498zmg
Draft

Refactor struct layout expression partitioning into dedicated module#9106
joseph-isaacs wants to merge 10 commits into
developfrom
claude/partitioning-structs-nullability-498zmg

Conversation

@joseph-isaacs

Copy link
Copy Markdown
Contributor

Rationale for this change

This PR extracts the expression partitioning logic for struct layouts into a dedicated partition module, improving code organization and maintainability. The original reader.rs file contained ~900 lines mixing reader implementation with complex partitioning logic. By separating concerns, we make the partitioning algorithm more testable and easier to understand.

The new StructPartitioner is a specialized implementation that handles partitioning expressions over struct layout children (including the struct's own validity bitmap as a distinct partition slot), which differs from the generic vortex_array::expr::transform::partition that only handles field partitioning.

What changes are included in this PR?

  • New partition module (vortex-layout/src/layouts/struct_/partition/mod.rs):

    • StructPartitioner: Partitions expressions over struct layout children
    • StructSlot: Enum representing either the validity bitmap or a field
    • StructPartitioned: Result type for single vs. multi-partition expressions
    • Three-stage partitioning algorithm: flattening, splitting, and stepping down into child scopes
    • Comprehensive documentation explaining the design and rationale
  • Refactored reader module (vortex-layout/src/layouts/struct_/reader/mod.rs):

    • Simplified from ~900 lines to ~312 lines
    • Removed inline partitioning logic, now delegates to StructPartitioner
    • Cleaner separation between reader concerns and expression partitioning
    • Updated to use StructSlot for uniform handling of validity and field readers
  • Reorganized tests:

    • reader/tests/mod.rs: Test module organization
    • reader/tests/in_memory.rs: Reference semantics tests (in-memory struct arrays)
    • reader/tests/layout.rs: Layout-based expression evaluation tests
    • partition/tests.rs: Unit tests for the partitioning algorithm itself

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

No user-facing API changes. This is an internal refactoring of vortex-layout. The StructReader public interface remains unchanged; only its internal implementation is reorganized.

The new StructPartitioner is internal to the layout module and not exposed publicly.

https://claude.ai/code/session_01U3JLmrxBcAKz6yTkWYii21

A struct layout stores n + 1 children: the struct's own validity bitmap
(when nullable) followed by one child per field. Expression partitioning
only ever split over the fields, so `StructReader` had to reapply the
struct's validity to the partitioned result afterwards. That is unsound:
the validity was pushed down into the projected children, so the DType
did not round trip, `is_null($)` never consulted the struct's validity,
and `select` over a nullable struct lost the struct's own nullability.

Partition over all n + 1 children instead. This adds a struct-specific
copy of the partitioning logic under `layouts/struct_/partition`, which
extends it in three ways:

* Expressions are first flattened into a scope holding one field per
  child of the layout, making the struct's nullability explicit in the
  expression itself (`$.a` becomes `mask($.a, $.__validity)`). `root`,
  `get_item`, `select`, `is_null` and `is_not_null` over the root scope
  each have a rule; `root` is the sound catch-all, so anything else
  applied to the scope still partitions correctly.
* The splitter partitions over slots (validity or field) rather than
  fields, deduplicating identical sub-expressions and leaving a slot
  with a single sub-expression unpacked.
* Stepping a partition down into its child's scope is now a total
  rewrite that errors if a partition reaches the struct scope, rather
  than a best-effort substitution of `$.a` with `$`.

The reader no longer post-applies validity: the partitioned root
expression places it where the expression's semantics require.

Signed-off-by: "Claude" <noreply@anthropic.com>
@joseph-isaacs joseph-isaacs added the action/benchmark Trigger full benchmarks to run on this PR label Jul 31, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Jul 31, 2026
@joseph-isaacs joseph-isaacs added the changelog/fix A bug fix label Jul 31, 2026
@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=10 on S3 📖

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -2.0%
Engines: DataFusion No clear signal (+5.1%, environment too noisy confidence) · DuckDB No clear signal (-8.6%, environment too noisy confidence)
Vortex (geomean): 1.056x ➖
Parquet (geomean): 1.077x ➖
Shifts: Parquet (control) +7.7% · Median polish +3.7%

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

datafusion / vortex-file-compressed (1.036x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 537588966 545423656 0.99
tpch_q02/datafusion:vortex-file-compressed 680579819 781455725 0.87
tpch_q03/datafusion:vortex-file-compressed 553964866 665095905 0.83
tpch_q04/datafusion:vortex-file-compressed 323509636 273242163 1.18
tpch_q05/datafusion:vortex-file-compressed 677548829 700809781 0.97
tpch_q06/datafusion:vortex-file-compressed 310878957 294138095 1.06
tpch_q07/datafusion:vortex-file-compressed 721105781 727286119 0.99
tpch_q08/datafusion:vortex-file-compressed 907260184 855279587 1.06
tpch_q09/datafusion:vortex-file-compressed 944273729 866271657 1.09
tpch_q10/datafusion:vortex-file-compressed 761122170 722677950 1.05
tpch_q11/datafusion:vortex-file-compressed 405162781 404456178 1.00
tpch_q12/datafusion:vortex-file-compressed 581227367 568302095 1.02
tpch_q13/datafusion:vortex-file-compressed 305318527 246512483 1.24
tpch_q14/datafusion:vortex-file-compressed 491090778 434465740 1.13
tpch_q15/datafusion:vortex-file-compressed 767383820 765241114 1.00
tpch_q16/datafusion:vortex-file-compressed 328707364 308241923 1.07
tpch_q17/datafusion:vortex-file-compressed 860422477 827023873 1.04
tpch_q18/datafusion:vortex-file-compressed 920637596 890847674 1.03
tpch_q19/datafusion:vortex-file-compressed 577577822 527409337 1.10
tpch_q20/datafusion:vortex-file-compressed 636720095 596371927 1.07
tpch_q21/datafusion:vortex-file-compressed 1022834729 1113699535 0.92
tpch_q22/datafusion:vortex-file-compressed 345454056 290562417 1.19
datafusion / vortex-compact (1.164x ➖, 0↑ 4↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 582761526 574120698 1.02
tpch_q02/datafusion:vortex-compact 629756308 545631252 1.15
tpch_q03/datafusion:vortex-compact 🚨 781045429 485303604 1.61
tpch_q04/datafusion:vortex-compact 327896425 263399532 1.24
tpch_q05/datafusion:vortex-compact 848948301 661312070 1.28
tpch_q06/datafusion:vortex-compact 🚨 463660243 292892139 1.58
tpch_q07/datafusion:vortex-compact 🚨 929769160 702256329 1.32
tpch_q08/datafusion:vortex-compact 1027038517 838862851 1.22
tpch_q09/datafusion:vortex-compact 980836476 862286599 1.14
tpch_q10/datafusion:vortex-compact 830928489 670762374 1.24
tpch_q11/datafusion:vortex-compact 🚨 455003913 332382520 1.37
tpch_q12/datafusion:vortex-compact 605800128 511412928 1.18
tpch_q13/datafusion:vortex-compact 313275780 261342330 1.20
tpch_q14/datafusion:vortex-compact 369448479 284331754 1.30
tpch_q15/datafusion:vortex-compact 530662899 717188008 0.74
tpch_q16/datafusion:vortex-compact 305970089 282409260 1.08
tpch_q17/datafusion:vortex-compact 719140159 780277716 0.92
tpch_q18/datafusion:vortex-compact 885676181 906541159 0.98
tpch_q19/datafusion:vortex-compact 623378885 531806912 1.17
tpch_q20/datafusion:vortex-compact 678782950 615661748 1.10
tpch_q21/datafusion:vortex-compact 1016198910 976613287 1.04
tpch_q22/datafusion:vortex-compact 392080366 367738890 1.07
datafusion / parquet (1.045x ➖, 0↑ 1↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 425346949 412239729 1.03
tpch_q02/datafusion:parquet 715239977 592280608 1.21
tpch_q03/datafusion:parquet 747298652 586383570 1.27
tpch_q04/datafusion:parquet 🚨 449203437 332796951 1.35
tpch_q05/datafusion:parquet 841842223 756405097 1.11
tpch_q06/datafusion:parquet 217958718 223479004 0.98
tpch_q07/datafusion:parquet 877475117 926903589 0.95
tpch_q08/datafusion:parquet 933304592 1000836099 0.93
tpch_q09/datafusion:parquet 1279090491 1358490116 0.94
tpch_q10/datafusion:parquet 1777292642 1747782121 1.02
tpch_q11/datafusion:parquet 450921582 455849087 0.99
tpch_q12/datafusion:parquet 427988507 427707849 1.00
tpch_q13/datafusion:parquet 594829062 604222087 0.98
tpch_q14/datafusion:parquet 468787923 421854237 1.11
tpch_q15/datafusion:parquet 685769433 686390102 1.00
tpch_q16/datafusion:parquet 284454041 308457130 0.92
tpch_q17/datafusion:parquet 834301156 832740939 1.00
tpch_q18/datafusion:parquet 1248872872 1181986268 1.06
tpch_q19/datafusion:parquet 498017086 487087714 1.02
tpch_q20/datafusion:parquet 904824194 893432491 1.01
tpch_q21/datafusion:parquet 1261938721 1226816762 1.03
tpch_q22/datafusion:parquet 880047700 736983357 1.19
duckdb / vortex-file-compressed (1.006x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 712563552 618628616 1.15
tpch_q02/duckdb:vortex-file-compressed 798522855 816273492 0.98
tpch_q03/duckdb:vortex-file-compressed 811280151 785030213 1.03
tpch_q04/duckdb:vortex-file-compressed 682256354 665933280 1.02
tpch_q05/duckdb:vortex-file-compressed 1012108930 981056038 1.03
tpch_q06/duckdb:vortex-file-compressed 690187734 658395965 1.05
tpch_q07/duckdb:vortex-file-compressed 1050721802 1051749379 1.00
tpch_q08/duckdb:vortex-file-compressed 1412038543 1354405182 1.04
tpch_q09/duckdb:vortex-file-compressed 1504868127 1415656780 1.06
tpch_q10/duckdb:vortex-file-compressed 1349991030 1295312472 1.04
tpch_q11/duckdb:vortex-file-compressed 397601138 412382354 0.96
tpch_q12/duckdb:vortex-file-compressed 1216514072 1328808535 0.92
tpch_q13/duckdb:vortex-file-compressed 673420010 679795155 0.99
tpch_q14/duckdb:vortex-file-compressed 647832053 627155819 1.03
tpch_q15/duckdb:vortex-file-compressed 584753837 570964533 1.02
tpch_q16/duckdb:vortex-file-compressed 388451526 395716784 0.98
tpch_q17/duckdb:vortex-file-compressed 1064144141 1119982804 0.95
tpch_q18/duckdb:vortex-file-compressed 805159310 778137918 1.03
tpch_q19/duckdb:vortex-file-compressed 845735559 898915965 0.94
tpch_q20/duckdb:vortex-file-compressed 1103992259 1129491310 0.98
tpch_q21/duckdb:vortex-file-compressed 2041900099 2069400912 0.99
tpch_q22/duckdb:vortex-file-compressed 277043808 290099615 0.95
duckdb / vortex-compact (1.024x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 613281053 586546509 1.05
tpch_q02/duckdb:vortex-compact 798878178 698007011 1.14
tpch_q03/duckdb:vortex-compact 780175624 767802614 1.02
tpch_q04/duckdb:vortex-compact 651964709 585740719 1.11
tpch_q05/duckdb:vortex-compact 972558860 950313491 1.02
tpch_q06/duckdb:vortex-compact 669851965 640167149 1.05
tpch_q07/duckdb:vortex-compact 1074833192 1045065279 1.03
tpch_q08/duckdb:vortex-compact 1269455397 1267120540 1.00
tpch_q09/duckdb:vortex-compact 1333878960 1278271751 1.04
tpch_q10/duckdb:vortex-compact 1144753436 1120587528 1.02
tpch_q11/duckdb:vortex-compact 434455013 490394547 0.89
tpch_q12/duckdb:vortex-compact 1275993157 1121681322 1.14
tpch_q13/duckdb:vortex-compact 652771577 664854473 0.98
tpch_q14/duckdb:vortex-compact 615894279 592561386 1.04
tpch_q15/duckdb:vortex-compact 563246219 577945135 0.97
tpch_q16/duckdb:vortex-compact 305104219 310174800 0.98
tpch_q17/duckdb:vortex-compact 963635591 1022711183 0.94
tpch_q18/duckdb:vortex-compact 723427576 704820205 1.03
tpch_q19/duckdb:vortex-compact 820101431 801877478 1.02
tpch_q20/duckdb:vortex-compact 1146348878 1077613025 1.06
tpch_q21/duckdb:vortex-compact 1776862784 1679793087 1.06
tpch_q22/duckdb:vortex-compact 286633713 300282478 0.95
duckdb / parquet (1.110x ➖, 0↑ 2↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 450830147 396563026 1.14
tpch_q02/duckdb:parquet 898250719 800084033 1.12
tpch_q03/duckdb:parquet 1123916028 1050657206 1.07
tpch_q04/duckdb:parquet 🚨 796330197 600338827 1.33
tpch_q05/duckdb:parquet 1412680184 1146005437 1.23
tpch_q06/duckdb:parquet 🚨 586970520 354381351 1.66
tpch_q07/duckdb:parquet 1138252667 1143747013 1.00
tpch_q08/duckdb:parquet 1604244323 1237451078 1.30
tpch_q09/duckdb:parquet 1456651953 1314065718 1.11
tpch_q10/duckdb:parquet 2690992402 2409270335 1.12
tpch_q11/duckdb:parquet 588627149 520581019 1.13
tpch_q12/duckdb:parquet 759960401 886382720 0.86
tpch_q13/duckdb:parquet 1012067838 1078046574 0.94
tpch_q14/duckdb:parquet 726710040 686185320 1.06
tpch_q15/duckdb:parquet 494239318 431758220 1.14
tpch_q16/duckdb:parquet 734946199 689931698 1.07
tpch_q17/duckdb:parquet 697651921 650696301 1.07
tpch_q18/duckdb:parquet 896518342 857277106 1.05
tpch_q19/duckdb:parquet 898377454 903896615 0.99
tpch_q20/duckdb:parquet 1270045108 1320212472 0.96
tpch_q21/duckdb:parquet 1299461584 1044023105 1.24
tpch_q22/duckdb:parquet 954251610 888183551 1.07

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Statistical and Population Genetics 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -1.4%
Engines: DuckDB No clear signal (-1.4%, low confidence)
Vortex (geomean): 0.984x ➖
Parquet (geomean): 0.997x ➖
Shifts: Parquet (control) -0.3% · Median polish +0.0%

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.941x ➖, 5↑ 2↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-file-compressed 🚨 15937564 13959503 1.14
statpopgen_q01/duckdb:vortex-file-compressed 🚀 13053798 15312736 0.85
statpopgen_q02/duckdb:vortex-file-compressed 🚨 671276719 565764986 1.19
statpopgen_q03/duckdb:vortex-file-compressed 🚀 1209176251 1704762658 0.71
statpopgen_q04/duckdb:vortex-file-compressed 1209089636 1189518740 1.02
statpopgen_q05/duckdb:vortex-file-compressed 623886750 596070054 1.05
statpopgen_q06/duckdb:vortex-file-compressed 🚀 1830011955 2259311007 0.81
statpopgen_q07/duckdb:vortex-file-compressed 235325031 257335652 0.91
statpopgen_q08/duckdb:vortex-file-compressed 🚀 263366441 292731489 0.90
statpopgen_q09/duckdb:vortex-file-compressed 🚀 1024536581 1251684219 0.82
statpopgen_q10/duckdb:vortex-file-compressed 3075552424 2852359609 1.08
duckdb / vortex-compact (1.028x ➖, 1↑ 2↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-compact 14701479 13538746 1.09
statpopgen_q01/duckdb:vortex-compact 🚨 15629465 14043283 1.11
statpopgen_q02/duckdb:vortex-compact 680136883 644704770 1.05
statpopgen_q03/duckdb:vortex-compact 🚨 1841826825 1369264856 1.35
statpopgen_q04/duckdb:vortex-compact 1296231164 1305470963 0.99
statpopgen_q05/duckdb:vortex-compact 662335823 615000664 1.08
statpopgen_q06/duckdb:vortex-compact 2574779898 2406815047 1.07
statpopgen_q07/duckdb:vortex-compact 1047665833 1073141978 0.98
statpopgen_q08/duckdb:vortex-compact 1130677660 1129900939 1.00
statpopgen_q09/duckdb:vortex-compact 1108780792 1137946227 0.97
statpopgen_q10/duckdb:vortex-compact 🚀 3097307175 4259877405 0.73
duckdb / parquet (0.997x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
statpopgen_q00/duckdb:parquet 374889301 376179677 1.00
statpopgen_q01/duckdb:parquet 467490570 466828164 1.00
statpopgen_q02/duckdb:parquet 778184900 788505605 0.99
statpopgen_q03/duckdb:parquet 1050804282 1056370823 0.99
statpopgen_q04/duckdb:parquet 1046389788 1061003438 0.99
statpopgen_q05/duckdb:parquet 771282876 779307707 0.99
statpopgen_q06/duckdb:parquet 1027678027 1027418193 1.00
statpopgen_q07/duckdb:parquet 954925716 937721897 1.02
statpopgen_q08/duckdb:parquet 967847938 963984275 1.00
statpopgen_q09/duckdb:parquet 996513703 1003943341 0.99
statpopgen_q10/duckdb:parquet 1647054655 1648842508 1.00

No file size changes detected.

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done aafeee5 vortex-queries 1 Explore Profiling Data
🟢 Done aafeee5 clickbench-sorted-nvme 1 Explore Profiling Data
🟢 Done aafeee5 tpch-s3-10 1 Explore Profiling Data
🟢 Done aafeee5 statpopgen 1 Explore Profiling Data
🟢 Done aafeee5 clickbench-nvme 1 Explore Profiling Data
🟢 Done aafeee5 fineweb-s3 1 Explore Profiling Data
🟢 Done aafeee5 appian-nvme 1 Explore Profiling Data
🟢 Done aafeee5 tpch-nvme-10 1 Explore Profiling Data
🟢 Done aafeee5 random-access-bench 1 Explore Profiling Data
🟢 Done aafeee5 polarsignals 1 Explore Profiling Data
🟢 Done aafeee5 fineweb 1 Explore Profiling Data
🟢 Done aafeee5 compress-bench 1 Explore Profiling Data
🟢 Done aafeee5 tpcds-nvme 1 Explore Profiling Data
🟢 Done aafeee5 tpch-s3 1 Explore Profiling Data
🟢 Done aafeee5 tpch-nvme 1 Explore Profiling Data
Previous Runs (15)
Status Commit Job Attempt Link
🟢 Done 36fe75d vortex-queries 1 Explore Profiling Data
🟢 Done 36fe75d clickbench-sorted-nvme 1 Explore Profiling Data
🟢 Done 36fe75d clickbench-nvme 1 Explore Profiling Data
🟢 Done 36fe75d statpopgen 1 Explore Profiling Data
🟢 Done 36fe75d tpch-nvme-10 1 Explore Profiling Data
🟢 Done 36fe75d random-access-bench 1 Explore Profiling Data
🟢 Done 36fe75d tpcds-nvme 1 Explore Profiling Data
🟢 Done 36fe75d tpch-s3-10 1 Explore Profiling Data
🟢 Done 36fe75d appian-nvme 1 Explore Profiling Data
🟢 Done 36fe75d fineweb 1 Explore Profiling Data
🟢 Done 36fe75d tpch-s3 1 Explore Profiling Data
🟢 Done 36fe75d tpch-nvme 1 Explore Profiling Data
🟢 Done 36fe75d fineweb-s3 1 Explore Profiling Data
🟢 Done 36fe75d compress-bench 1 Explore Profiling Data
🟢 Done 36fe75d polarsignals 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: PolarSignals Profiling 📖

Vortex (geomean): 0.984x ➖

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.984x ➖, 1↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
polarsignals_q00/datafusion:vortex-file-compressed 🚀 123401418 137299149 0.90
polarsignals_q01/datafusion:vortex-file-compressed 165404021 167710733 0.99
polarsignals_q02/datafusion:vortex-file-compressed 25228108 26197497 0.96
polarsignals_q03/datafusion:vortex-file-compressed 168805146 170663968 0.99
polarsignals_q04/datafusion:vortex-file-compressed 12479271 12517861 1.00
polarsignals_q05/datafusion:vortex-file-compressed 19407649 19313572 1.00
polarsignals_q06/datafusion:vortex-file-compressed 25364901 24896252 1.02
polarsignals_q07/datafusion:vortex-file-compressed 18050652 18121288 1.00
polarsignals_q08/datafusion:vortex-file-compressed 275365887 278926834 0.99
polarsignals_q09/datafusion:vortex-file-compressed 12268461 12173233 1.01

No file size changes detected.

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on NVME 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -0.1%
Engines: DataFusion No clear signal (-0.0%, environment too noisy confidence) · DuckDB No clear signal (-0.1%, low confidence)
Vortex (geomean): 1.004x ➖
Parquet (geomean): 1.005x ➖
Shifts: Parquet (control) +0.5% · 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.006x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 46425908 47488388 0.98
tpch_q02/datafusion:vortex-file-compressed 24570743 23843260 1.03
tpch_q03/datafusion:vortex-file-compressed 33494168 33469400 1.00
tpch_q04/datafusion:vortex-file-compressed 20759476 20893062 0.99
tpch_q05/datafusion:vortex-file-compressed 52600459 51894343 1.01
tpch_q06/datafusion:vortex-file-compressed 11678872 11207608 1.04
tpch_q07/datafusion:vortex-file-compressed 60563269 60198493 1.01
tpch_q08/datafusion:vortex-file-compressed 50356006 49183532 1.02
tpch_q09/datafusion:vortex-file-compressed 57070926 57528713 0.99
tpch_q10/datafusion:vortex-file-compressed 34378464 34142590 1.01
tpch_q11/datafusion:vortex-file-compressed 18587078 18307813 1.02
tpch_q12/datafusion:vortex-file-compressed 31557634 30588787 1.03
tpch_q13/datafusion:vortex-file-compressed 25789164 25312896 1.02
tpch_q14/datafusion:vortex-file-compressed 18725785 18980429 0.99
tpch_q15/datafusion:vortex-file-compressed 27999095 27539411 1.02
tpch_q16/datafusion:vortex-file-compressed 23303172 22843924 1.02
tpch_q17/datafusion:vortex-file-compressed 61302285 62085175 0.99
tpch_q18/datafusion:vortex-file-compressed 72005616 72567661 0.99
tpch_q19/datafusion:vortex-file-compressed 24065017 24712127 0.97
tpch_q20/datafusion:vortex-file-compressed 33586231 32882331 1.02
tpch_q21/datafusion:vortex-file-compressed 72686687 72843946 1.00
tpch_q22/datafusion:vortex-file-compressed 13004462 13067818 1.00
datafusion / vortex-compact (1.009x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 54383749 55109353 0.99
tpch_q02/datafusion:vortex-compact 27183755 27049167 1.00
tpch_q03/datafusion:vortex-compact 35675352 35074576 1.02
tpch_q04/datafusion:vortex-compact 24545000 24169559 1.02
tpch_q05/datafusion:vortex-compact 54276553 53591212 1.01
tpch_q06/datafusion:vortex-compact 13380750 12850995 1.04
tpch_q07/datafusion:vortex-compact 62824968 61965050 1.01
tpch_q08/datafusion:vortex-compact 53723766 52632553 1.02
tpch_q09/datafusion:vortex-compact 60183917 59079469 1.02
tpch_q10/datafusion:vortex-compact 39167716 39462254 0.99
tpch_q11/datafusion:vortex-compact 20506087 20219633 1.01
tpch_q12/datafusion:vortex-compact 35754372 35292534 1.01
tpch_q13/datafusion:vortex-compact 29840406 29596800 1.01
tpch_q14/datafusion:vortex-compact 21839891 21108755 1.03
tpch_q15/datafusion:vortex-compact 32719949 32064896 1.02
tpch_q16/datafusion:vortex-compact 27752314 27393664 1.01
tpch_q17/datafusion:vortex-compact 64356775 63680700 1.01
tpch_q18/datafusion:vortex-compact 74278739 75049466 0.99
tpch_q19/datafusion:vortex-compact 40218678 40124453 1.00
tpch_q20/datafusion:vortex-compact 36344951 37326315 0.97
tpch_q21/datafusion:vortex-compact 77884214 76766845 1.01
tpch_q22/datafusion:vortex-compact 14469852 14732583 0.98
datafusion / parquet (1.008x ➖, 1↑ 2↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 112541382 116999582 0.96
tpch_q02/datafusion:parquet 71473468 70679775 1.01
tpch_q03/datafusion:parquet 97725382 97176172 1.01
tpch_q04/datafusion:parquet 50509754 51586092 0.98
tpch_q05/datafusion:parquet 129279129 124429869 1.04
tpch_q06/datafusion:parquet 48932389 46544854 1.05
tpch_q07/datafusion:parquet 134801233 130878892 1.03
tpch_q08/datafusion:parquet 127117379 130223173 0.98
tpch_q09/datafusion:parquet 156878371 148182553 1.06
tpch_q10/datafusion:parquet 120624629 118619578 1.02
tpch_q11/datafusion:parquet 50169245 50380851 1.00
tpch_q12/datafusion:parquet 🚀 93492345 104939401 0.89
tpch_q13/datafusion:parquet 225716772 227189207 0.99
tpch_q14/datafusion:parquet 🚨 54924052 48492271 1.13
tpch_q15/datafusion:parquet 71543738 69911912 1.02
tpch_q16/datafusion:parquet 49403235 50557050 0.98
tpch_q17/datafusion:parquet 🚨 163474685 147346323 1.11
tpch_q18/datafusion:parquet 178524664 184659397 0.97
tpch_q19/datafusion:parquet 74722440 75931645 0.98
tpch_q20/datafusion:parquet 91319162 93054211 0.98
tpch_q21/datafusion:parquet 176295551 177482272 0.99
tpch_q22/datafusion:parquet 56267253 54976620 1.02
duckdb / vortex-file-compressed (1.007x ➖, 1↑ 1↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 24372954 24314670 1.00
tpch_q02/duckdb:vortex-file-compressed 34853425 33849434 1.03
tpch_q03/duckdb:vortex-file-compressed 39432888 40370969 0.98
tpch_q04/duckdb:vortex-file-compressed 33929555 33992006 1.00
tpch_q05/duckdb:vortex-file-compressed 44473868 43469636 1.02
tpch_q06/duckdb:vortex-file-compressed 14670242 15757087 0.93
tpch_q07/duckdb:vortex-file-compressed 45766123 44649157 1.03
tpch_q08/duckdb:vortex-file-compressed 54248549 55810742 0.97
tpch_q09/duckdb:vortex-file-compressed 62364549 64638945 0.96
tpch_q10/duckdb:vortex-file-compressed 57277954 57112902 1.00
tpch_q11/duckdb:vortex-file-compressed 🚨 19753447 17661617 1.12
tpch_q12/duckdb:vortex-file-compressed 33280677 30505255 1.09
tpch_q13/duckdb:vortex-file-compressed 44403407 43916878 1.01
tpch_q14/duckdb:vortex-file-compressed 24185767 24387865 0.99
tpch_q15/duckdb:vortex-file-compressed 22072313 21351965 1.03
tpch_q16/duckdb:vortex-file-compressed 35545106 34329304 1.04
tpch_q17/duckdb:vortex-file-compressed 🚀 34055701 38565704 0.88
tpch_q18/duckdb:vortex-file-compressed 54650068 52718174 1.04
tpch_q19/duckdb:vortex-file-compressed 41158924 38618928 1.07
tpch_q20/duckdb:vortex-file-compressed 41001761 39978252 1.03
tpch_q21/duckdb:vortex-file-compressed 125671892 128254249 0.98
tpch_q22/duckdb:vortex-file-compressed 23012868 23531216 0.98
duckdb / vortex-compact (0.995x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 33650024 31836023 1.06
tpch_q02/duckdb:vortex-compact 41671916 40561058 1.03
tpch_q03/duckdb:vortex-compact 42562892 42853469 0.99
tpch_q04/duckdb:vortex-compact 35232664 35500540 0.99
tpch_q05/duckdb:vortex-compact 45330937 45167175 1.00
tpch_q06/duckdb:vortex-compact 16285912 17988904 0.91
tpch_q07/duckdb:vortex-compact 47845236 47209388 1.01
tpch_q08/duckdb:vortex-compact 58682006 58992860 0.99
tpch_q09/duckdb:vortex-compact 67495826 66264123 1.02
tpch_q10/duckdb:vortex-compact 58365368 59486704 0.98
tpch_q11/duckdb:vortex-compact 21424307 21857019 0.98
tpch_q12/duckdb:vortex-compact 35336648 36578935 0.97
tpch_q13/duckdb:vortex-compact 46167733 47891429 0.96
tpch_q14/duckdb:vortex-compact 27144357 27691515 0.98
tpch_q15/duckdb:vortex-compact 22643366 21402889 1.06
tpch_q16/duckdb:vortex-compact 35563021 36321567 0.98
tpch_q17/duckdb:vortex-compact 36624923 36842327 0.99
tpch_q18/duckdb:vortex-compact 58011118 57353390 1.01
tpch_q19/duckdb:vortex-compact 42041585 43018081 0.98
tpch_q20/duckdb:vortex-compact 43774147 43490219 1.01
tpch_q21/duckdb:vortex-compact 124684957 129635106 0.96
tpch_q22/duckdb:vortex-compact 23901325 23195943 1.03
duckdb / parquet (1.003x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 81589791 81776864 1.00
tpch_q02/duckdb:parquet 45915277 46333725 0.99
tpch_q03/duckdb:parquet 80810767 81224791 0.99
tpch_q04/duckdb:parquet 58408109 57791572 1.01
tpch_q05/duckdb:parquet 77967262 78769235 0.99
tpch_q06/duckdb:parquet 24991797 25025747 1.00
tpch_q07/duckdb:parquet 80633757 80035812 1.01
tpch_q08/duckdb:parquet 96573304 96488320 1.00
tpch_q09/duckdb:parquet 148768846 148432584 1.00
tpch_q10/duckdb:parquet 141763778 141762160 1.00
tpch_q11/duckdb:parquet 25463620 25228053 1.01
tpch_q12/duckdb:parquet 53604787 53380776 1.00
tpch_q13/duckdb:parquet 287744214 284463859 1.01
tpch_q14/duckdb:parquet 56067532 55821786 1.00
tpch_q15/duckdb:parquet 30845219 30493116 1.01
tpch_q16/duckdb:parquet 66707716 67034418 1.00
tpch_q17/duckdb:parquet 57912264 57395323 1.01
tpch_q18/duckdb:parquet 125546605 126684345 0.99
tpch_q19/duckdb:parquet 78256395 77632510 1.01
tpch_q20/duckdb:parquet 77218478 76685257 1.01
tpch_q21/duckdb:parquet 190694688 187431238 1.02
tpch_q22/duckdb:parquet 64091865 63964631 1.00
duckdb / duckdb (1.003x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 11904736 12412905 0.96
tpch_q02/duckdb:duckdb 16730602 17296831 0.97
tpch_q03/duckdb:duckdb 22283626 22075893 1.01
tpch_q04/duckdb:duckdb 22116291 22450174 0.99
tpch_q05/duckdb:duckdb 24425081 23375529 1.04
tpch_q06/duckdb:duckdb 5865098 5453987 1.08
tpch_q07/duckdb:duckdb 26849483 26959386 1.00
tpch_q08/duckdb:duckdb 27242922 26752024 1.02
tpch_q09/duckdb:duckdb 60361561 59032954 1.02
tpch_q10/duckdb:duckdb 53075943 53416560 0.99
tpch_q11/duckdb:duckdb 8344566 8424197 0.99
tpch_q12/duckdb:duckdb 16476849 16802849 0.98
tpch_q13/duckdb:duckdb 43991389 43705698 1.01
tpch_q14/duckdb:duckdb 21188359 21003219 1.01
tpch_q15/duckdb:duckdb 12541955 12568636 1.00
tpch_q16/duckdb:duckdb 28662720 28602987 1.00
tpch_q17/duckdb:duckdb 18533357 18855386 0.98
tpch_q18/duckdb:duckdb 33759559 34041479 0.99
tpch_q19/duckdb:duckdb 27877041 28514229 0.98
tpch_q20/duckdb:duckdb 27013650 26121620 1.03
tpch_q21/duckdb:duckdb 68504571 67338518 1.02
tpch_q22/duckdb:duckdb 30666867 30354426 1.01

No file size changes detected.

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: FineWeb NVMe 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -0.7%
Engines: DataFusion No clear signal (-0.2%, low confidence) · DuckDB No clear signal (-1.3%, low confidence)
Vortex (geomean): 0.984x ➖
Parquet (geomean): 0.992x ➖
Shifts: Parquet (control) -0.8% · Median polish -1.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.971x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 6560293 6543540 1.00
fineweb_q01/datafusion:vortex-file-compressed 33268385 33838551 0.98
fineweb_q02/datafusion:vortex-file-compressed 37608137 37886095 0.99
fineweb_q03/datafusion:vortex-file-compressed 41088308 42431602 0.97
fineweb_q04/datafusion:vortex-file-compressed 203663892 209219711 0.97
fineweb_q05/datafusion:vortex-file-compressed 150245560 155673292 0.97
fineweb_q06/datafusion:vortex-file-compressed 39448421 39790865 0.99
fineweb_q07/datafusion:vortex-file-compressed 40305417 42282879 0.95
fineweb_q08/datafusion:vortex-file-compressed 17247518 18996252 0.91
datafusion / vortex-compact (1.009x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 6892699 6851289 1.01
fineweb_q01/datafusion:vortex-compact 108791177 105345658 1.03
fineweb_q02/datafusion:vortex-compact 108848015 105122289 1.04
fineweb_q03/datafusion:vortex-compact 530834129 531128940 1.00
fineweb_q04/datafusion:vortex-compact 582495943 556510532 1.05
fineweb_q05/datafusion:vortex-compact 497996098 502867294 0.99
fineweb_q06/datafusion:vortex-compact 289722088 289288491 1.00
fineweb_q07/datafusion:vortex-compact 299996687 296022937 1.01
fineweb_q08/datafusion:vortex-compact 17017427 17817920 0.96
datafusion / parquet (0.992x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 9702992 9271173 1.05
fineweb_q01/datafusion:parquet 197995067 196629938 1.01
fineweb_q02/datafusion:parquet 197353252 206063648 0.96
fineweb_q03/datafusion:parquet 188403139 192485352 0.98
fineweb_q04/datafusion:parquet 205669764 208431300 0.99
fineweb_q05/datafusion:parquet 202696917 205218403 0.99
fineweb_q06/datafusion:parquet 199490787 199983935 1.00
fineweb_q07/datafusion:parquet 189836016 197502954 0.96
fineweb_q08/datafusion:parquet 188426688 187790143 1.00
duckdb / vortex-file-compressed (0.986x ➖, 2↑ 1↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 🚨 5651668 3970300 1.42
fineweb_q01/duckdb:vortex-file-compressed 🚀 39089071 44490417 0.88
fineweb_q02/duckdb:vortex-file-compressed 🚀 41825125 51019662 0.82
fineweb_q03/duckdb:vortex-file-compressed 77960771 73549960 1.06
fineweb_q04/duckdb:vortex-file-compressed 296284298 290502755 1.02
fineweb_q05/duckdb:vortex-file-compressed 215227282 224108331 0.96
fineweb_q06/duckdb:vortex-file-compressed 69618297 74395798 0.94
fineweb_q07/duckdb:vortex-file-compressed 71245255 76035104 0.94
fineweb_q08/duckdb:vortex-file-compressed 32852967 34714183 0.95
duckdb / vortex-compact (0.972x ➖, 1↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 🚀 3530478 5429301 0.65
fineweb_q01/duckdb:vortex-compact 115615722 116622640 0.99
fineweb_q02/duckdb:vortex-compact 119680417 116447863 1.03
fineweb_q03/duckdb:vortex-compact 351722890 347084454 1.01
fineweb_q04/duckdb:vortex-compact 382951349 377048053 1.02
fineweb_q05/duckdb:vortex-compact 339204472 334363710 1.01
fineweb_q06/duckdb:vortex-compact 227384599 226035677 1.01
fineweb_q07/duckdb:vortex-compact 233524287 226572289 1.03
fineweb_q08/duckdb:vortex-compact 27013210 25006627 1.08
duckdb / parquet (0.992x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 38839535 37112759 1.05
fineweb_q01/duckdb:parquet 75436769 77542865 0.97
fineweb_q02/duckdb:parquet 77225067 76826499 1.01
fineweb_q03/duckdb:parquet 200600013 208084083 0.96
fineweb_q04/duckdb:parquet 224528777 232338598 0.97
fineweb_q05/duckdb:parquet 194634068 202274987 0.96
fineweb_q06/duckdb:parquet 138355158 143305678 0.97
fineweb_q07/duckdb:parquet 139107152 142112505 0.98
fineweb_q08/duckdb:parquet 41342026 38650321 1.07

No file size changes detected.

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-DS SF=1 on NVME 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -0.5%
Engines: DataFusion No clear signal (-1.1%, low confidence) · DuckDB No clear signal (-0.1%, environment too noisy confidence)
Vortex (geomean): 0.999x ➖
Parquet (geomean): 1.005x ➖
Shifts: Parquet (control) +0.5% · Median polish -0.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.996x ➖, 0↑ 3↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-file-compressed 29358133 28647084 1.02
tpcds_q02/datafusion:vortex-file-compressed 51493918 54801411 0.94
tpcds_q03/datafusion:vortex-file-compressed 15798875 15940910 0.99
tpcds_q04/datafusion:vortex-file-compressed 230858209 228309884 1.01
tpcds_q05/datafusion:vortex-file-compressed 66948277 67536246 0.99
tpcds_q06/datafusion:vortex-file-compressed 29859007 28681095 1.04
tpcds_q07/datafusion:vortex-file-compressed 45985812 47030839 0.98
tpcds_q08/datafusion:vortex-file-compressed 35252840 35224828 1.00
tpcds_q09/datafusion:vortex-file-compressed 32470757 32270507 1.01
tpcds_q10/datafusion:vortex-file-compressed 38053894 39926655 0.95
tpcds_q11/datafusion:vortex-file-compressed 118775485 126437039 0.94
tpcds_q12/datafusion:vortex-file-compressed 21693256 22002502 0.99
tpcds_q13/datafusion:vortex-file-compressed 49884869 50845080 0.98
tpcds_q14/datafusion:vortex-file-compressed 219352843 218541045 1.00
tpcds_q15/datafusion:vortex-file-compressed 30089424 30228716 1.00
tpcds_q16/datafusion:vortex-file-compressed 27142544 26626647 1.02
tpcds_q17/datafusion:vortex-file-compressed 73747213 75876741 0.97
tpcds_q18/datafusion:vortex-file-compressed 91400122 92461802 0.99
tpcds_q19/datafusion:vortex-file-compressed 23140044 23493319 0.98
tpcds_q20/datafusion:vortex-file-compressed 🚨 28055919 24892809 1.13
tpcds_q21/datafusion:vortex-file-compressed 36964430 35902281 1.03
tpcds_q22/datafusion:vortex-file-compressed 🚨 134755312 121872810 1.11
tpcds_q23/datafusion:vortex-file-compressed 136913950 138835336 0.99
tpcds_q24/datafusion:vortex-file-compressed 98755987 100792121 0.98
tpcds_q25/datafusion:vortex-file-compressed 75801366 78151732 0.97
tpcds_q26/datafusion:vortex-file-compressed 38400180 38793656 0.99
tpcds_q27/datafusion:vortex-file-compressed 95947627 95070378 1.01
tpcds_q28/datafusion:vortex-file-compressed 🚨 40261366 35480505 1.13
tpcds_q29/datafusion:vortex-file-compressed 71870324 73564696 0.98
tpcds_q30/datafusion:vortex-file-compressed 29520943 30626093 0.96
tpcds_q31/datafusion:vortex-file-compressed 82510900 82889488 1.00
tpcds_q32/datafusion:vortex-file-compressed 20620140 20278497 1.02
tpcds_q33/datafusion:vortex-file-compressed 34414009 35022589 0.98
tpcds_q34/datafusion:vortex-file-compressed 28160765 27203195 1.04
tpcds_q35/datafusion:vortex-file-compressed 46292132 48938567 0.95
tpcds_q36/datafusion:vortex-file-compressed 69789548 66510702 1.05
tpcds_q37/datafusion:vortex-file-compressed 19546928 20292677 0.96
tpcds_q38/datafusion:vortex-file-compressed 41748248 43787331 0.95
tpcds_q39/datafusion:vortex-file-compressed 114324834 113476315 1.01
tpcds_q40/datafusion:vortex-file-compressed 34870255 34233107 1.02
tpcds_q41/datafusion:vortex-file-compressed 25243102 25464823 0.99
tpcds_q42/datafusion:vortex-file-compressed 15177657 15301618 0.99
tpcds_q43/datafusion:vortex-file-compressed 19500491 19213950 1.01
tpcds_q44/datafusion:vortex-file-compressed 37440879 39121046 0.96
tpcds_q45/datafusion:vortex-file-compressed 34257641 35063433 0.98
tpcds_q46/datafusion:vortex-file-compressed 36988049 37736678 0.98
tpcds_q47/datafusion:vortex-file-compressed 134656566 136116947 0.99
tpcds_q48/datafusion:vortex-file-compressed 42784044 44211848 0.97
tpcds_q49/datafusion:vortex-file-compressed 72164001 76791410 0.94
tpcds_q50/datafusion:vortex-file-compressed 47380367 47237324 1.00
tpcds_q51/datafusion:vortex-file-compressed 79357954 81170916 0.98
tpcds_q52/datafusion:vortex-file-compressed 15305893 15543639 0.98
tpcds_q53/datafusion:vortex-file-compressed 25404837 25516580 1.00
tpcds_q54/datafusion:vortex-file-compressed 39469511 40166707 0.98
tpcds_q55/datafusion:vortex-file-compressed 15086399 15302140 0.99
tpcds_q56/datafusion:vortex-file-compressed 37808599 35411906 1.07
tpcds_q57/datafusion:vortex-file-compressed 107186870 107273576 1.00
tpcds_q58/datafusion:vortex-file-compressed 66230502 66311306 1.00
tpcds_q59/datafusion:vortex-file-compressed 53580538 53700852 1.00
tpcds_q60/datafusion:vortex-file-compressed 34801558 34357713 1.01
tpcds_q61/datafusion:vortex-file-compressed 39071859 39257684 1.00
tpcds_q62/datafusion:vortex-file-compressed 25343790 25736267 0.98
tpcds_q63/datafusion:vortex-file-compressed 26020375 25712170 1.01
tpcds_q64/datafusion:vortex-file-compressed 466714130 466988814 1.00
tpcds_q65/datafusion:vortex-file-compressed 73535612 78604472 0.94
tpcds_q66/datafusion:vortex-file-compressed 82972109 82210155 1.01
tpcds_q67/datafusion:vortex-file-compressed 120388443 123655321 0.97
tpcds_q68/datafusion:vortex-file-compressed 36162514 36108090 1.00
tpcds_q69/datafusion:vortex-file-compressed 37464232 36379086 1.03
tpcds_q70/datafusion:vortex-file-compressed 113155394 114439111 0.99
tpcds_q71/datafusion:vortex-file-compressed 25237611 25061856 1.01
tpcds_q72/datafusion:vortex-file-compressed 1472481795 1512313160 0.97
tpcds_q73/datafusion:vortex-file-compressed 25469160 25994318 0.98
tpcds_q74/datafusion:vortex-file-compressed 84913046 83519263 1.02
tpcds_q75/datafusion:vortex-file-compressed 151028267 152824609 0.99
tpcds_q76/datafusion:vortex-file-compressed 45313809 45465569 1.00
tpcds_q77/datafusion:vortex-file-compressed 47267664 47218322 1.00
tpcds_q78/datafusion:vortex-file-compressed 113085043 118858286 0.95
tpcds_q79/datafusion:vortex-file-compressed 30530442 30396589 1.00
tpcds_q80/datafusion:vortex-file-compressed 104034509 102969734 1.01
tpcds_q81/datafusion:vortex-file-compressed 30241787 30719902 0.98
tpcds_q82/datafusion:vortex-file-compressed 20768799 20975895 0.99
tpcds_q83/datafusion:vortex-file-compressed 47472897 45068958 1.05
tpcds_q84/datafusion:vortex-file-compressed 13112412 13503308 0.97
tpcds_q85/datafusion:vortex-file-compressed 116320992 115538538 1.01
tpcds_q86/datafusion:vortex-file-compressed 20161718 18906047 1.07
tpcds_q87/datafusion:vortex-file-compressed 45873124 45628765 1.01
tpcds_q88/datafusion:vortex-file-compressed 55952651 55513115 1.01
tpcds_q89/datafusion:vortex-file-compressed 28803841 29610926 0.97
tpcds_q90/datafusion:vortex-file-compressed 15085135 14408419 1.05
tpcds_q91/datafusion:vortex-file-compressed 20475938 21271806 0.96
tpcds_q92/datafusion:vortex-file-compressed 18533023 18229245 1.02
tpcds_q93/datafusion:vortex-file-compressed 33844914 32681742 1.04
tpcds_q94/datafusion:vortex-file-compressed 24316886 24136067 1.01
tpcds_q95/datafusion:vortex-file-compressed 64122032 66165461 0.97
tpcds_q96/datafusion:vortex-file-compressed 12469111 13591431 0.92
tpcds_q97/datafusion:vortex-file-compressed 31018094 33573902 0.92
tpcds_q98/datafusion:vortex-file-compressed 26124248 26355820 0.99
tpcds_q99/datafusion:vortex-file-compressed 30795870 29615783 1.04
datafusion / vortex-compact (0.992x ➖, 0↑ 2↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-compact 27747589 26525869 1.05
tpcds_q02/datafusion:vortex-compact 60100103 61592468 0.98
tpcds_q03/datafusion:vortex-compact 19304820 20048386 0.96
tpcds_q04/datafusion:vortex-compact 263485049 263768329 1.00
tpcds_q05/datafusion:vortex-compact 69214297 68785242 1.01
tpcds_q06/datafusion:vortex-compact 32514344 32171767 1.01
tpcds_q07/datafusion:vortex-compact 58918659 59854604 0.98
tpcds_q08/datafusion:vortex-compact 43956686 44620164 0.99
tpcds_q09/datafusion:vortex-compact 47846368 48322153 0.99
tpcds_q10/datafusion:vortex-compact 55444091 57322819 0.97
tpcds_q11/datafusion:vortex-compact 150345597 144025061 1.04
tpcds_q12/datafusion:vortex-compact 26755027 26644388 1.00
tpcds_q13/datafusion:vortex-compact 117839114 120793257 0.98
tpcds_q14/datafusion:vortex-compact 242367000 242619535 1.00
tpcds_q15/datafusion:vortex-compact 34830783 34635391 1.01
tpcds_q16/datafusion:vortex-compact 34781446 35648247 0.98
tpcds_q17/datafusion:vortex-compact 111707382 115120752 0.97
tpcds_q18/datafusion:vortex-compact 106910294 107160703 1.00
tpcds_q19/datafusion:vortex-compact 32168181 33131115 0.97
tpcds_q20/datafusion:vortex-compact 28980722 31313553 0.93
tpcds_q21/datafusion:vortex-compact 39374674 41117753 0.96
tpcds_q22/datafusion:vortex-compact 142767948 132240901 1.08
tpcds_q23/datafusion:vortex-compact 149139543 149277186 1.00
tpcds_q24/datafusion:vortex-compact 116840015 120268051 0.97
tpcds_q25/datafusion:vortex-compact 85134379 89974320 0.95
tpcds_q26/datafusion:vortex-compact 51460528 51553154 1.00
tpcds_q27/datafusion:vortex-compact 121281687 120992549 1.00
tpcds_q28/datafusion:vortex-compact 61168757 67963993 0.90
tpcds_q29/datafusion:vortex-compact 86179833 87402190 0.99
tpcds_q30/datafusion:vortex-compact 35841052 36047569 0.99
tpcds_q31/datafusion:vortex-compact 106175460 112060016 0.95
tpcds_q32/datafusion:vortex-compact 26153641 25411837 1.03
tpcds_q33/datafusion:vortex-compact 42650434 41463631 1.03
tpcds_q34/datafusion:vortex-compact 39773121 39951381 1.00
tpcds_q35/datafusion:vortex-compact 63560559 69630327 0.91
tpcds_q36/datafusion:vortex-compact 80710038 77499395 1.04
tpcds_q37/datafusion:vortex-compact 26260433 27334659 0.96
tpcds_q38/datafusion:vortex-compact 51468323 56311411 0.91
tpcds_q39/datafusion:vortex-compact 113414090 113738373 1.00
tpcds_q40/datafusion:vortex-compact 37983679 39421714 0.96
tpcds_q41/datafusion:vortex-compact 28812867 29008600 0.99
tpcds_q42/datafusion:vortex-compact 18715766 19497822 0.96
tpcds_q43/datafusion:vortex-compact 24519941 25167808 0.97
tpcds_q44/datafusion:vortex-compact 51046097 53568276 0.95
tpcds_q45/datafusion:vortex-compact 39758306 39022156 1.02
tpcds_q46/datafusion:vortex-compact 50591956 50107017 1.01
tpcds_q47/datafusion:vortex-compact 146455187 151933557 0.96
tpcds_q48/datafusion:vortex-compact 🚨 107339577 95185079 1.13
tpcds_q49/datafusion:vortex-compact 90679068 90938720 1.00
tpcds_q50/datafusion:vortex-compact 57766646 57780288 1.00
tpcds_q51/datafusion:vortex-compact 85364468 87123750 0.98
tpcds_q52/datafusion:vortex-compact 20280501 19876129 1.02
tpcds_q53/datafusion:vortex-compact 30884298 31003272 1.00
tpcds_q54/datafusion:vortex-compact 48614960 50176513 0.97
tpcds_q55/datafusion:vortex-compact 18804938 18592524 1.01
tpcds_q56/datafusion:vortex-compact 43142091 42740644 1.01
tpcds_q57/datafusion:vortex-compact 118626875 119918498 0.99
tpcds_q58/datafusion:vortex-compact 72635260 71624546 1.01
tpcds_q59/datafusion:vortex-compact 66720561 66009959 1.01
tpcds_q60/datafusion:vortex-compact 41203078 43755919 0.94
tpcds_q61/datafusion:vortex-compact 51535882 50971121 1.01
tpcds_q62/datafusion:vortex-compact 27620395 27916595 0.99
tpcds_q63/datafusion:vortex-compact 31129236 32534061 0.96
tpcds_q64/datafusion:vortex-compact 538751385 534270905 1.01
tpcds_q65/datafusion:vortex-compact 86076564 89173048 0.97
tpcds_q66/datafusion:vortex-compact 87224494 84927062 1.03
tpcds_q67/datafusion:vortex-compact 130862795 129335659 1.01
tpcds_q68/datafusion:vortex-compact 🚨 54224201 48959915 1.11
tpcds_q69/datafusion:vortex-compact 54398623 53893746 1.01
tpcds_q70/datafusion:vortex-compact 120136566 121864934 0.99
tpcds_q71/datafusion:vortex-compact 31080071 32464343 0.96
tpcds_q72/datafusion:vortex-compact 1505768557 1480800368 1.02
tpcds_q73/datafusion:vortex-compact 36918616 36737844 1.00
tpcds_q74/datafusion:vortex-compact 92193685 93490297 0.99
tpcds_q75/datafusion:vortex-compact 162093142 166112832 0.98
tpcds_q76/datafusion:vortex-compact 51642297 50792326 1.02
tpcds_q77/datafusion:vortex-compact 54223272 52932341 1.02
tpcds_q78/datafusion:vortex-compact 130251189 129947432 1.00
tpcds_q79/datafusion:vortex-compact 41617828 41333787 1.01
tpcds_q80/datafusion:vortex-compact 109327849 113510654 0.96
tpcds_q81/datafusion:vortex-compact 32483270 33484064 0.97
tpcds_q82/datafusion:vortex-compact 29292638 31551447 0.93
tpcds_q83/datafusion:vortex-compact 42676254 44560042 0.96
tpcds_q84/datafusion:vortex-compact 14855077 14883089 1.00
tpcds_q85/datafusion:vortex-compact 162183155 164733000 0.98
tpcds_q86/datafusion:vortex-compact 21627802 23163125 0.93
tpcds_q87/datafusion:vortex-compact 55744170 57184317 0.97
tpcds_q88/datafusion:vortex-compact 85403799 86722294 0.98
tpcds_q89/datafusion:vortex-compact 35452284 36406416 0.97
tpcds_q90/datafusion:vortex-compact 17563815 17272670 1.02
tpcds_q91/datafusion:vortex-compact 42625384 42268259 1.01
tpcds_q92/datafusion:vortex-compact 22972969 21594057 1.06
tpcds_q93/datafusion:vortex-compact 40913145 40628884 1.01
tpcds_q94/datafusion:vortex-compact 29701583 29588655 1.00
tpcds_q95/datafusion:vortex-compact 72948302 74549623 0.98
tpcds_q96/datafusion:vortex-compact 19274019 19067483 1.01
tpcds_q97/datafusion:vortex-compact 40396205 37276466 1.08
tpcds_q98/datafusion:vortex-compact 32217344 32161637 1.00
tpcds_q99/datafusion:vortex-compact 34721883 32952736 1.05
datafusion / parquet (1.006x ➖, 0↑ 2↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpcds_q01/datafusion:parquet 30828578 30509111 1.01
tpcds_q02/datafusion:parquet 52855978 51979734 1.02
tpcds_q03/datafusion:parquet 17320303 17716602 0.98
tpcds_q04/datafusion:parquet 338627702 336181861 1.01
tpcds_q05/datafusion:parquet 80552032 81843693 0.98
tpcds_q06/datafusion:parquet 30747069 31248371 0.98
tpcds_q07/datafusion:parquet 97467829 98443425 0.99
tpcds_q08/datafusion:parquet 38287648 40326536 0.95
tpcds_q09/datafusion:parquet 37551109 38260654 0.98
tpcds_q10/datafusion:parquet 89855533 88751751 1.01
tpcds_q11/datafusion:parquet 168227805 161893738 1.04
tpcds_q12/datafusion:parquet 22741324 24025453 0.95
tpcds_q13/datafusion:parquet 100691216 99184290 1.02
tpcds_q14/datafusion:parquet 273219223 275319250 0.99
tpcds_q15/datafusion:parquet 37961385 37341428 1.02
tpcds_q16/datafusion:parquet 47592580 48520088 0.98
tpcds_q17/datafusion:parquet 111301899 110439645 1.01
tpcds_q18/datafusion:parquet 132222744 133762502 0.99
tpcds_q19/datafusion:parquet 28854680 28928627 1.00
tpcds_q20/datafusion:parquet 23175864 24756004 0.94
tpcds_q21/datafusion:parquet 23026095 22739849 1.01
tpcds_q22/datafusion:parquet 🚨 140854505 106665745 1.32
tpcds_q23/datafusion:parquet 171352488 171008358 1.00
tpcds_q24/datafusion:parquet 139866598 136428229 1.03
tpcds_q25/datafusion:parquet 115877645 108637047 1.07
tpcds_q26/datafusion:parquet 84198130 86439486 0.97
tpcds_q27/datafusion:parquet 165962277 156973641 1.06
tpcds_q28/datafusion:parquet 42776919 41054449 1.04
tpcds_q29/datafusion:parquet 107128125 109792792 0.98
tpcds_q30/datafusion:parquet 43871738 42363226 1.04
tpcds_q31/datafusion:parquet 93209601 94210851 0.99
tpcds_q32/datafusion:parquet 24113242 23621390 1.02
tpcds_q33/datafusion:parquet 37220609 37462651 0.99
tpcds_q34/datafusion:parquet 30231602 29693808 1.02
tpcds_q35/datafusion:parquet 91615573 91761073 1.00
tpcds_q36/datafusion:parquet 70185501 67262132 1.04
tpcds_q37/datafusion:parquet 24291586 23986906 1.01
tpcds_q38/datafusion:parquet 57793539 57517460 1.00
tpcds_q39/datafusion:parquet 82238968 84353979 0.97
tpcds_q40/datafusion:parquet 32923092 34014398 0.97
tpcds_q41/datafusion:parquet 19377279 19051946 1.02
tpcds_q42/datafusion:parquet 16568743 16847909 0.98
tpcds_q43/datafusion:parquet 22720121 23663856 0.96
tpcds_q44/datafusion:parquet 42410194 39973762 1.06
tpcds_q45/datafusion:parquet 45353547 44474678 1.02
tpcds_q46/datafusion:parquet 41562864 42038123 0.99
tpcds_q47/datafusion:parquet 149917427 152412396 0.98
tpcds_q48/datafusion:parquet 87169910 87551323 1.00
tpcds_q49/datafusion:parquet 73797623 77301551 0.95
tpcds_q50/datafusion:parquet 70346391 71836048 0.98
tpcds_q51/datafusion:parquet 88523255 81837863 1.08
tpcds_q52/datafusion:parquet 16708020 17094349 0.98
tpcds_q53/datafusion:parquet 25796839 25659311 1.01
tpcds_q54/datafusion:parquet 46150103 45793880 1.01
tpcds_q55/datafusion:parquet 16092665 16057208 1.00
tpcds_q56/datafusion:parquet 36377791 37899900 0.96
tpcds_q57/datafusion:parquet 130718099 126043411 1.04
tpcds_q58/datafusion:parquet 84204749 84436213 1.00
tpcds_q59/datafusion:parquet 74575904 74922707 1.00
tpcds_q60/datafusion:parquet 36806499 37308774 0.99
tpcds_q61/datafusion:parquet 46972064 45059852 1.04
tpcds_q62/datafusion:parquet 🚨 33284283 28917895 1.15
tpcds_q63/datafusion:parquet 25528332 25479243 1.00
tpcds_q64/datafusion:parquet 373081863 371605179 1.00
tpcds_q65/datafusion:parquet 48137957 48710248 0.99
tpcds_q66/datafusion:parquet 84764499 81553328 1.04
tpcds_q67/datafusion:parquet 142177964 146140231 0.97
tpcds_q68/datafusion:parquet 39568566 40525413 0.98
tpcds_q69/datafusion:parquet 88917898 87958027 1.01
tpcds_q70/datafusion:parquet 44700802 44616084 1.00
tpcds_q71/datafusion:parquet 27603921 27226015 1.01
tpcds_q72/datafusion:parquet 450988104 453998129 0.99
tpcds_q73/datafusion:parquet 27577750 28431833 0.97
tpcds_q74/datafusion:parquet 101613213 98047733 1.04
tpcds_q75/datafusion:parquet 184124685 170528239 1.08
tpcds_q76/datafusion:parquet 61082400 61369243 1.00
tpcds_q77/datafusion:parquet 54693643 56864298 0.96
tpcds_q78/datafusion:parquet 126457641 124346674 1.02
tpcds_q79/datafusion:parquet 34455693 35467840 0.97
tpcds_q80/datafusion:parquet 98515487 99767077 0.99
tpcds_q81/datafusion:parquet 39535830 39482654 1.00
tpcds_q82/datafusion:parquet 23657379 23598176 1.00
tpcds_q83/datafusion:parquet 55446708 57471429 0.96
tpcds_q84/datafusion:parquet 48158416 47559423 1.01
tpcds_q85/datafusion:parquet 196924865 191111313 1.03
tpcds_q86/datafusion:parquet 20867761 21610754 0.97
tpcds_q87/datafusion:parquet 64928926 65013701 1.00
tpcds_q88/datafusion:parquet 58299515 58927502 0.99
tpcds_q89/datafusion:parquet 30536695 30095831 1.01
tpcds_q90/datafusion:parquet 18814114 18207723 1.03
tpcds_q91/datafusion:parquet 68942855 66054082 1.04
tpcds_q92/datafusion:parquet 25291206 25185453 1.00
tpcds_q93/datafusion:parquet 36253198 37688339 0.96
tpcds_q94/datafusion:parquet 31777043 29944327 1.06
tpcds_q95/datafusion:parquet 88742190 89817259 0.99
tpcds_q96/datafusion:parquet 16655041 16871321 0.99
tpcds_q97/datafusion:parquet 39123277 38886596 1.01
tpcds_q98/datafusion:parquet 27048495 26776500 1.01
tpcds_q99/datafusion:parquet 34475583 34691236 0.99
duckdb / vortex-file-compressed (0.999x ➖, 3↑ 7↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-file-compressed 28605569 28938727 0.99
tpcds_q02/duckdb:vortex-file-compressed 29092551 29122354 1.00
tpcds_q03/duckdb:vortex-file-compressed 🚨 23440121 20218170 1.16
tpcds_q04/duckdb:vortex-file-compressed 100618836 100064638 1.01
tpcds_q05/duckdb:vortex-file-compressed 39208512 38608796 1.02
tpcds_q06/duckdb:vortex-file-compressed 54493835 53486236 1.02
tpcds_q07/duckdb:vortex-file-compressed 35101313 36118342 0.97
tpcds_q08/duckdb:vortex-file-compressed 33204531 34385728 0.97
tpcds_q09/duckdb:vortex-file-compressed 17704963 16168903 1.10
tpcds_q10/duckdb:vortex-file-compressed 56828561 57082726 1.00
tpcds_q11/duckdb:vortex-file-compressed 76089455 75884000 1.00
tpcds_q12/duckdb:vortex-file-compressed 18000008 19815387 0.91
tpcds_q13/duckdb:vortex-file-compressed 40812395 42012698 0.97
tpcds_q14/duckdb:vortex-file-compressed 114961183 113860386 1.01
tpcds_q15/duckdb:vortex-file-compressed 34248064 35259104 0.97
tpcds_q16/duckdb:vortex-file-compressed 32477954 32600249 1.00
tpcds_q17/duckdb:vortex-file-compressed 54519928 56771227 0.96
tpcds_q18/duckdb:vortex-file-compressed 53663839 51086362 1.05
tpcds_q19/duckdb:vortex-file-compressed 41850383 39632952 1.06
tpcds_q20/duckdb:vortex-file-compressed 19799278 18248968 1.08
tpcds_q21/duckdb:vortex-file-compressed 23576338 23739151 0.99
tpcds_q22/duckdb:vortex-file-compressed 66489731 68831414 0.97
tpcds_q23/duckdb:vortex-file-compressed 77389932 81110988 0.95
tpcds_q24/duckdb:vortex-file-compressed 53194472 54109667 0.98
tpcds_q25/duckdb:vortex-file-compressed 47145561 49712963 0.95
tpcds_q26/duckdb:vortex-file-compressed 🚀 24366064 27473642 0.89
tpcds_q27/duckdb:vortex-file-compressed 35660216 36590427 0.97
tpcds_q28/duckdb:vortex-file-compressed 🚨 19691202 15763455 1.25
tpcds_q29/duckdb:vortex-file-compressed 56618996 56503243 1.00
tpcds_q30/duckdb:vortex-file-compressed 35894224 35257236 1.02
tpcds_q31/duckdb:vortex-file-compressed 35457131 35809655 0.99
tpcds_q32/duckdb:vortex-file-compressed 🚀 19502027 22782563 0.86
tpcds_q33/duckdb:vortex-file-compressed 36087070 37471667 0.96
tpcds_q34/duckdb:vortex-file-compressed 32618176 33173363 0.98
tpcds_q35/duckdb:vortex-file-compressed 84633444 86548736 0.98
tpcds_q36/duckdb:vortex-file-compressed 30012830 32247269 0.93
tpcds_q37/duckdb:vortex-file-compressed 27211823 26106480 1.04
tpcds_q38/duckdb:vortex-file-compressed 43907720 43940029 1.00
tpcds_q39/duckdb:vortex-file-compressed 36392070 38859491 0.94
tpcds_q40/duckdb:vortex-file-compressed 24463783 26516740 0.92
tpcds_q41/duckdb:vortex-file-compressed 14935026 14664651 1.02
tpcds_q42/duckdb:vortex-file-compressed 🚨 19589496 17174918 1.14
tpcds_q43/duckdb:vortex-file-compressed 23550423 24147297 0.98
tpcds_q44/duckdb:vortex-file-compressed 28230119 26105753 1.08
tpcds_q45/duckdb:vortex-file-compressed 37041618 38099976 0.97
tpcds_q46/duckdb:vortex-file-compressed 36803183 37447624 0.98
tpcds_q47/duckdb:vortex-file-compressed 63646061 60685777 1.05
tpcds_q48/duckdb:vortex-file-compressed 38291378 36582863 1.05
tpcds_q49/duckdb:vortex-file-compressed 44146049 44313732 1.00
tpcds_q50/duckdb:vortex-file-compressed 35455772 35809678 0.99
tpcds_q51/duckdb:vortex-file-compressed 105582727 109646927 0.96
tpcds_q52/duckdb:vortex-file-compressed 19179495 19436009 0.99
tpcds_q53/duckdb:vortex-file-compressed 30372468 32633532 0.93
tpcds_q54/duckdb:vortex-file-compressed 43649259 46656882 0.94
tpcds_q55/duckdb:vortex-file-compressed 🚨 21428566 18625929 1.15
tpcds_q56/duckdb:vortex-file-compressed 34604338 33717612 1.03
tpcds_q57/duckdb:vortex-file-compressed 45580348 44104966 1.03
tpcds_q58/duckdb:vortex-file-compressed 42927366 43558766 0.99
tpcds_q59/duckdb:vortex-file-compressed 39905729 40894124 0.98
tpcds_q60/duckdb:vortex-file-compressed 34364962 34046946 1.01
tpcds_q61/duckdb:vortex-file-compressed 41856689 45167648 0.93
tpcds_q62/duckdb:vortex-file-compressed 19537128 21051178 0.93
tpcds_q63/duckdb:vortex-file-compressed 29241913 29513552 0.99
tpcds_q64/duckdb:vortex-file-compressed 117925856 115304065 1.02
tpcds_q65/duckdb:vortex-file-compressed 26798920 28001899 0.96
tpcds_q66/duckdb:vortex-file-compressed 🚀 39505828 44453011 0.89
tpcds_q67/duckdb:vortex-file-compressed 131827779 136067249 0.97
tpcds_q68/duckdb:vortex-file-compressed 41252533 37610088 1.10
tpcds_q69/duckdb:vortex-file-compressed 55580456 58573330 0.95
tpcds_q70/duckdb:vortex-file-compressed 43361925 46087002 0.94
tpcds_q71/duckdb:vortex-file-compressed 26896034 27530895 0.98
tpcds_q72/duckdb:vortex-file-compressed 152209778 151302777 1.01
tpcds_q73/duckdb:vortex-file-compressed 30907676 31085242 0.99
tpcds_q74/duckdb:vortex-file-compressed 54354699 53634920 1.01
tpcds_q75/duckdb:vortex-file-compressed 63370364 60957444 1.04
tpcds_q76/duckdb:vortex-file-compressed 25748701 25059561 1.03
tpcds_q77/duckdb:vortex-file-compressed 31367393 32783092 0.96
tpcds_q78/duckdb:vortex-file-compressed 78700368 81536702 0.97
tpcds_q79/duckdb:vortex-file-compressed 32707986 34202616 0.96
tpcds_q80/duckdb:vortex-file-compressed 61109494 58424718 1.05
tpcds_q81/duckdb:vortex-file-compressed 42178423 42546216 0.99
tpcds_q82/duckdb:vortex-file-compressed 59206604 57275661 1.03
tpcds_q83/duckdb:vortex-file-compressed 42111697 39959773 1.05
tpcds_q84/duckdb:vortex-file-compressed 30470611 30601667 1.00
tpcds_q85/duckdb:vortex-file-compressed 57569491 60839564 0.95
tpcds_q86/duckdb:vortex-file-compressed 🚨 22468727 19044169 1.18
tpcds_q87/duckdb:vortex-file-compressed 48659501 48381101 1.01
tpcds_q88/duckdb:vortex-file-compressed 65612369 64278186 1.02
tpcds_q89/duckdb:vortex-file-compressed 26812426 28891071 0.93
tpcds_q90/duckdb:vortex-file-compressed 18397554 17156184 1.07
tpcds_q91/duckdb:vortex-file-compressed 31969387 35215259 0.91
tpcds_q92/duckdb:vortex-file-compressed 26751235 24879585 1.08
tpcds_q93/duckdb:vortex-file-compressed 🚨 33847600 30555499 1.11
tpcds_q94/duckdb:vortex-file-compressed 33925047 35080812 0.97
tpcds_q95/duckdb:vortex-file-compressed 151203526 150755639 1.00
tpcds_q96/duckdb:vortex-file-compressed 19104398 19824101 0.96
tpcds_q97/duckdb:vortex-file-compressed 45827519 45902038 1.00
tpcds_q98/duckdb:vortex-file-compressed 🚨 27703116 23444198 1.18
tpcds_q99/duckdb:vortex-file-compressed 24776133 26128844 0.95
duckdb / vortex-compact (1.007x ➖, 4↑ 7↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-compact 28993107 32114479 0.90
tpcds_q02/duckdb:vortex-compact 33811574 33477750 1.01
tpcds_q03/duckdb:vortex-compact 42091617 43285709 0.97
tpcds_q04/duckdb:vortex-compact 108467354 108821589 1.00
tpcds_q05/duckdb:vortex-compact 53130325 50648226 1.05
tpcds_q06/duckdb:vortex-compact 62831673 59344352 1.06
tpcds_q07/duckdb:vortex-compact 54585516 58755101 0.93
tpcds_q08/duckdb:vortex-compact 97945608 97402115 1.01
tpcds_q09/duckdb:vortex-compact 🚨 25643613 22295488 1.15
tpcds_q10/duckdb:vortex-compact 91097116 88193049 1.03
tpcds_q11/duckdb:vortex-compact 86280349 87677384 0.98
tpcds_q12/duckdb:vortex-compact 23327378 21945195 1.06
tpcds_q13/duckdb:vortex-compact 77400360 77650340 1.00
tpcds_q14/duckdb:vortex-compact 135945737 144034144 0.94
tpcds_q15/duckdb:vortex-compact 42154593 43741549 0.96
tpcds_q16/duckdb:vortex-compact 🚀 40646566 45969012 0.88
tpcds_q17/duckdb:vortex-compact 90678630 89437889 1.01
tpcds_q18/duckdb:vortex-compact 67627916 71563615 0.95
tpcds_q19/duckdb:vortex-compact 66227866 65962703 1.00
tpcds_q20/duckdb:vortex-compact 🚀 22818884 25710906 0.89
tpcds_q21/duckdb:vortex-compact 24828892 23937907 1.04
tpcds_q22/duckdb:vortex-compact 69595670 69431094 1.00
tpcds_q23/duckdb:vortex-compact 95146392 95211568 1.00
tpcds_q24/duckdb:vortex-compact 75312411 73902692 1.02
tpcds_q25/duckdb:vortex-compact 78189958 78816755 0.99
tpcds_q26/duckdb:vortex-compact 40483804 40842535 0.99
tpcds_q27/duckdb:vortex-compact 63854106 61030237 1.05
tpcds_q28/duckdb:vortex-compact 25513235 23801772 1.07
tpcds_q29/duckdb:vortex-compact 86603132 91545859 0.95
tpcds_q30/duckdb:vortex-compact 44179368 40676314 1.09
tpcds_q31/duckdb:vortex-compact 45193513 45961497 0.98
tpcds_q32/duckdb:vortex-compact 27063513 28013019 0.97
tpcds_q33/duckdb:vortex-compact 48750723 48786437 1.00
tpcds_q34/duckdb:vortex-compact 48895021 48800740 1.00
tpcds_q35/duckdb:vortex-compact 113677353 117452615 0.97
tpcds_q36/duckdb:vortex-compact 45088961 47070310 0.96
tpcds_q37/duckdb:vortex-compact 29501540 30858890 0.96
tpcds_q38/duckdb:vortex-compact 55145220 52685569 1.05
tpcds_q39/duckdb:vortex-compact 42197421 42319856 1.00
tpcds_q40/duckdb:vortex-compact 29275278 29564605 0.99
tpcds_q41/duckdb:vortex-compact 🚨 21263607 16575769 1.28
tpcds_q42/duckdb:vortex-compact 🚨 27960956 24916653 1.12
tpcds_q43/duckdb:vortex-compact 35487980 37744557 0.94
tpcds_q44/duckdb:vortex-compact 33470591 36221810 0.92
tpcds_q45/duckdb:vortex-compact 47681680 47754517 1.00
tpcds_q46/duckdb:vortex-compact 65410246 64313053 1.02
tpcds_q47/duckdb:vortex-compact 75199618 73566896 1.02
tpcds_q48/duckdb:vortex-compact 69999681 70451648 0.99
tpcds_q49/duckdb:vortex-compact 🚨 70112154 59236001 1.18
tpcds_q50/duckdb:vortex-compact 56223182 56085842 1.00
tpcds_q51/duckdb:vortex-compact 112190576 107833106 1.04
tpcds_q52/duckdb:vortex-compact 24978864 25966224 0.96
tpcds_q53/duckdb:vortex-compact 46103766 45737977 1.01
tpcds_q54/duckdb:vortex-compact 57585523 55189148 1.04
tpcds_q55/duckdb:vortex-compact 25683937 24393064 1.05
tpcds_q56/duckdb:vortex-compact 47302032 46388214 1.02
tpcds_q57/duckdb:vortex-compact 48261565 48728310 0.99
tpcds_q58/duckdb:vortex-compact 49887491 46721226 1.07
tpcds_q59/duckdb:vortex-compact 49899237 49811181 1.00
tpcds_q60/duckdb:vortex-compact 48216409 49616131 0.97
tpcds_q61/duckdb:vortex-compact 69512516 66399176 1.05
tpcds_q62/duckdb:vortex-compact 🚀 23041226 25680603 0.90
tpcds_q63/duckdb:vortex-compact 42249455 44510417 0.95
tpcds_q64/duckdb:vortex-compact 168705274 171803703 0.98
tpcds_q65/duckdb:vortex-compact 39389341 40438790 0.97
tpcds_q66/duckdb:vortex-compact 49938965 49739782 1.00
tpcds_q67/duckdb:vortex-compact 145627283 143106699 1.02
tpcds_q68/duckdb:vortex-compact 63587764 65998295 0.96
tpcds_q69/duckdb:vortex-compact 94070872 92859460 1.01
tpcds_q70/duckdb:vortex-compact 70680533 68446229 1.03
tpcds_q71/duckdb:vortex-compact 40142230 38066372 1.05
tpcds_q72/duckdb:vortex-compact 175074911 169956344 1.03
tpcds_q73/duckdb:vortex-compact 48265540 47221878 1.02
tpcds_q74/duckdb:vortex-compact 62417556 60992357 1.02
tpcds_q75/duckdb:vortex-compact 74911392 73925570 1.01
tpcds_q76/duckdb:vortex-compact 34227591 34366236 1.00
tpcds_q77/duckdb:vortex-compact 44290731 46779462 0.95
tpcds_q78/duckdb:vortex-compact 89728019 91864843 0.98
tpcds_q79/duckdb:vortex-compact 78530137 79806690 0.98
tpcds_q80/duckdb:vortex-compact 81800138 79283879 1.03
tpcds_q81/duckdb:vortex-compact 42637822 45533620 0.94
tpcds_q82/duckdb:vortex-compact 64248124 61630011 1.04
tpcds_q83/duckdb:vortex-compact 🚨 57459812 50859601 1.13
tpcds_q84/duckdb:vortex-compact 🚨 35185855 31579753 1.11
tpcds_q85/duckdb:vortex-compact 80694556 79330080 1.02
tpcds_q86/duckdb:vortex-compact 24341757 22861910 1.06
tpcds_q87/duckdb:vortex-compact 60861012 57994372 1.05
tpcds_q88/duckdb:vortex-compact 128047291 117113072 1.09
tpcds_q89/duckdb:vortex-compact 44134127 41486577 1.06
tpcds_q90/duckdb:vortex-compact 22205713 23163583 0.96
tpcds_q91/duckdb:vortex-compact 69450135 71142099 0.98
tpcds_q92/duckdb:vortex-compact 43121593 44680177 0.97
tpcds_q93/duckdb:vortex-compact 33819969 37303048 0.91
tpcds_q94/duckdb:vortex-compact 🚨 49647570 42401422 1.17
tpcds_q95/duckdb:vortex-compact 164925450 162860093 1.01
tpcds_q96/duckdb:vortex-compact 🚀 35220001 39140003 0.90
tpcds_q97/duckdb:vortex-compact 57602053 53092276 1.08
tpcds_q98/duckdb:vortex-compact 36523040 37058051 0.99
tpcds_q99/duckdb:vortex-compact 28765389 29801612 0.97
duckdb / parquet (1.004x ➖, 2↑ 6↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpcds_q01/duckdb:parquet 34434320 32201463 1.07
tpcds_q02/duckdb:parquet 21710939 22189670 0.98
tpcds_q03/duckdb:parquet 🚨 14341394 12394331 1.16
tpcds_q04/duckdb:parquet 199276969 190736213 1.04
tpcds_q05/duckdb:parquet 32523621 34381301 0.95
tpcds_q06/duckdb:parquet 35226648 37530691 0.94
tpcds_q07/duckdb:parquet 21436008 21631584 0.99
tpcds_q08/duckdb:parquet 33182440 32620501 1.02
tpcds_q09/duckdb:parquet 29669821 30656216 0.97
tpcds_q10/duckdb:parquet 41994240 42901186 0.98
tpcds_q11/duckdb:parquet 103402493 108401513 0.95
tpcds_q12/duckdb:parquet 17732695 17367287 1.02
tpcds_q13/duckdb:parquet 🚨 39755405 33612089 1.18
tpcds_q14/duckdb:parquet 105712495 107062694 0.99
tpcds_q15/duckdb:parquet 35662246 35362504 1.01
tpcds_q16/duckdb:parquet 27322503 27250944 1.00
tpcds_q17/duckdb:parquet 45081021 45061896 1.00
tpcds_q18/duckdb:parquet 56392725 56308183 1.00
tpcds_q19/duckdb:parquet 34213563 33338749 1.03
tpcds_q20/duckdb:parquet 19177097 18763978 1.02
tpcds_q21/duckdb:parquet 14708816 13849234 1.06
tpcds_q22/duckdb:parquet 🚀 53859610 62349719 0.86
tpcds_q23/duckdb:parquet 67157223 66975296 1.00
tpcds_q24/duckdb:parquet 49459892 48577150 1.02
tpcds_q25/duckdb:parquet 41449022 41834118 0.99
tpcds_q26/duckdb:parquet 44983390 44453033 1.01
tpcds_q27/duckdb:parquet 54859597 57875852 0.95
tpcds_q28/duckdb:parquet 30497658 31271434 0.98
tpcds_q29/duckdb:parquet 45229300 42627523 1.06
tpcds_q30/duckdb:parquet 43924519 43266693 1.02
tpcds_q31/duckdb:parquet 29665560 29233162 1.01
tpcds_q32/duckdb:parquet 15159989 14936771 1.01
tpcds_q33/duckdb:parquet 23283369 24860918 0.94
tpcds_q34/duckdb:parquet 🚨 25256487 22880543 1.10
tpcds_q35/duckdb:parquet 68227211 67362605 1.01
tpcds_q36/duckdb:parquet 21662891 21938525 0.99
tpcds_q37/duckdb:parquet 17547943 18036985 0.97
tpcds_q38/duckdb:parquet 41226804 41088345 1.00
tpcds_q39/duckdb:parquet 36963524 38076555 0.97
tpcds_q40/duckdb:parquet 22860390 22372715 1.02
tpcds_q41/duckdb:parquet 10407580 10138611 1.03
tpcds_q42/duckdb:parquet 11792446 11983872 0.98
tpcds_q43/duckdb:parquet 🚀 14698939 18777984 0.78
tpcds_q44/duckdb:parquet 24765959 24304554 1.02
tpcds_q45/duckdb:parquet 32637483 32133640 1.02
tpcds_q46/duckdb:parquet 50219046 50150106 1.00
tpcds_q47/duckdb:parquet 47899028 49705158 0.96
tpcds_q48/duckdb:parquet 30158897 30104254 1.00
tpcds_q49/duckdb:parquet 27737879 29284027 0.95
tpcds_q50/duckdb:parquet 26606770 25047811 1.06
tpcds_q51/duckdb:parquet 99900360 98330560 1.02
tpcds_q52/duckdb:parquet 🚨 13347519 12023937 1.11
tpcds_q53/duckdb:parquet 🚨 17997671 16132464 1.12
tpcds_q54/duckdb:parquet 30222622 29460551 1.03
tpcds_q55/duckdb:parquet 11592727 11983638 0.97
tpcds_q56/duckdb:parquet 25017003 24755980 1.01
tpcds_q57/duckdb:parquet 42740127 42799891 1.00
tpcds_q58/duckdb:parquet 27764155 27231962 1.02
tpcds_q59/duckdb:parquet 29525570 30102880 0.98
tpcds_q60/duckdb:parquet 26414839 26183155 1.01
tpcds_q61/duckdb:parquet 33766154 31388391 1.08
tpcds_q62/duckdb:parquet 15116359 14983797 1.01
tpcds_q63/duckdb:parquet 15380176 15242412 1.01
tpcds_q64/duckdb:parquet 80380627 79405906 1.01
tpcds_q65/duckdb:parquet 21742868 21421813 1.01
tpcds_q66/duckdb:parquet 34576383 34427362 1.00
tpcds_q67/duckdb:parquet 128649457 128834177 1.00
tpcds_q68/duckdb:parquet 38732589 38855391 1.00
tpcds_q69/duckdb:parquet 43084780 41492281 1.04
tpcds_q70/duckdb:parquet 27780439 28322014 0.98
tpcds_q71/duckdb:parquet 22901356 21306811 1.07
tpcds_q72/duckdb:parquet 174080695 188956188 0.92
tpcds_q73/duckdb:parquet 🚨 21607642 18557355 1.16
tpcds_q74/duckdb:parquet 145466352 146797704 0.99
tpcds_q75/duckdb:parquet 61639995 61115147 1.01
tpcds_q76/duckdb:parquet 19133163 19259723 0.99
tpcds_q77/duckdb:parquet 24566218 25939229 0.95
tpcds_q78/duckdb:parquet 77968196 79267617 0.98
tpcds_q79/duckdb:parquet 27334084 27573658 0.99
tpcds_q80/duckdb:parquet 48682137 46209607 1.05
tpcds_q81/duckdb:parquet 40589017 39527045 1.03
tpcds_q82/duckdb:parquet 18671502 19434011 0.96
tpcds_q83/duckdb:parquet 22731223 21734054 1.05
tpcds_q84/duckdb:parquet 23488857 24336530 0.97
tpcds_q85/duckdb:parquet 47779237 47514338 1.01
tpcds_q86/duckdb:parquet 15103278 14864182 1.02
tpcds_q87/duckdb:parquet 44448810 45668984 0.97
tpcds_q88/duckdb:parquet 43116852 43388547 0.99
tpcds_q89/duckdb:parquet 18484585 18063528 1.02
tpcds_q90/duckdb:parquet 9740653 9940148 0.98
tpcds_q91/duckdb:parquet 27618319 27231151 1.01
tpcds_q92/duckdb:parquet 15472805 15201541 1.02
tpcds_q93/duckdb:parquet 31032659 30893490 1.00
tpcds_q94/duckdb:parquet 21786739 22178594 0.98
tpcds_q95/duckdb:parquet 137513311 138830555 0.99
tpcds_q96/duckdb:parquet 9640119 9870783 0.98
tpcds_q97/duckdb:parquet 39983599 41224839 0.97
tpcds_q98/duckdb:parquet 21209086 22022148 0.96
tpcds_q99/duckdb:parquet 23521539 23332678 1.01
duckdb / duckdb (1.003x ➖, 3↑ 1↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpcds_q01/duckdb:duckdb 25071626 25241540 0.99
tpcds_q02/duckdb:duckdb 🚨 23215062 17753127 1.31
tpcds_q03/duckdb:duckdb 🚀 11464063 12860384 0.89
tpcds_q04/duckdb:duckdb 205084675 207811748 0.99
tpcds_q05/duckdb:duckdb 20298420 21035691 0.96
tpcds_q06/duckdb:duckdb 30462494 30529616 1.00
tpcds_q07/duckdb:duckdb 44643255 43404361 1.03
tpcds_q08/duckdb:duckdb 141182875 142086980 0.99
tpcds_q09/duckdb:duckdb 12786680 11745920 1.09
tpcds_q10/duckdb:duckdb 29617437 29631468 1.00
tpcds_q11/duckdb:duckdb 107947023 104432932 1.03
tpcds_q12/duckdb:duckdb 14370266 14085859 1.02
tpcds_q13/duckdb:duckdb 29119991 29102273 1.00
tpcds_q14/duckdb:duckdb 99468429 98132559 1.01
tpcds_q15/duckdb:duckdb 27798650 28218188 0.99
tpcds_q16/duckdb:duckdb 24548497 23689596 1.04
tpcds_q17/duckdb:duckdb 27281997 26893882 1.01
tpcds_q18/duckdb:duckdb 55476871 54710722 1.01
tpcds_q19/duckdb:duckdb 22697833 22931936 0.99
tpcds_q20/duckdb:duckdb 14718725 15090169 0.98
tpcds_q21/duckdb:duckdb 9454318 9053491 1.04
tpcds_q22/duckdb:duckdb 🚀 46009655 60719415 0.76
tpcds_q23/duckdb:duckdb 67434251 62584550 1.08
tpcds_q24/duckdb:duckdb 28845653 28872932 1.00
tpcds_q25/duckdb:duckdb 22815086 22794217 1.00
tpcds_q26/duckdb:duckdb 32476960 32744596 0.99
tpcds_q27/duckdb:duckdb 47213740 47874791 0.99
tpcds_q28/duckdb:duckdb 16768902 18064633 0.93
tpcds_q29/duckdb:duckdb 25513213 24423308 1.04
tpcds_q30/duckdb:duckdb 37156178 36823485 1.01
tpcds_q31/duckdb:duckdb 60584594 59524873 1.02
tpcds_q32/duckdb:duckdb 9948469 9855140 1.01
tpcds_q33/duckdb:duckdb 18304671 17997325 1.02
tpcds_q34/duckdb:duckdb 18023205 18238932 0.99
tpcds_q35/duckdb:duckdb 42022159 41558786 1.01
tpcds_q36/duckdb:duckdb 82452772 78313521 1.05
tpcds_q37/duckdb:duckdb 13810686 13905333 0.99
tpcds_q38/duckdb:duckdb 37255714 37003772 1.01
tpcds_q39/duckdb:duckdb 32994945 32359236 1.02
tpcds_q40/duckdb:duckdb 16941924 16893431 1.00
tpcds_q41/duckdb:duckdb 11067826 11221270 0.99
tpcds_q42/duckdb:duckdb 7758456 8525289 0.91
tpcds_q43/duckdb:duckdb 11107014 11246585 0.99
tpcds_q44/duckdb:duckdb 15383127 15108712 1.02
tpcds_q45/duckdb:duckdb 21759813 22259166 0.98
tpcds_q46/duckdb:duckdb 44943220 42738317 1.05
tpcds_q47/duckdb:duckdb 49861948 47090962 1.06
tpcds_q48/duckdb:duckdb 24652311 24450513 1.01
tpcds_q49/duckdb:duckdb 21366136 21222694 1.01
tpcds_q50/duckdb:duckdb 19416066 18142661 1.07
tpcds_q51/duckdb:duckdb 94913782 98342898 0.97
tpcds_q52/duckdb:duckdb 8791600 8861861 0.99
tpcds_q53/duckdb:duckdb 15387422 15871716 0.97
tpcds_q54/duckdb:duckdb 22355616 21920996 1.02
tpcds_q55/duckdb:duckdb 8594506 8462414 1.02
tpcds_q56/duckdb:duckdb 18997576 18707850 1.02
tpcds_q57/duckdb:duckdb 41008848 40895828 1.00
tpcds_q58/duckdb:duckdb 16848490 16799917 1.00
tpcds_q59/duckdb:duckdb 33036178 34858451 0.95
tpcds_q60/duckdb:duckdb 20136137 20901978 0.96
tpcds_q61/duckdb:duckdb 17684064 17863763 0.99
tpcds_q62/duckdb:duckdb 11706697 11329495 1.03
tpcds_q63/duckdb:duckdb 14807527 14538321 1.02
tpcds_q64/duckdb:duckdb 63202187 64213732 0.98
tpcds_q65/duckdb:duckdb 41262770 40923513 1.01
tpcds_q66/duckdb:duckdb 31515726 31572104 1.00
tpcds_q67/duckdb:duckdb 129416790 120636494 1.07
tpcds_q68/duckdb:duckdb 28973096 31159296 0.93
tpcds_q69/duckdb:duckdb 30925715 31538711 0.98
tpcds_q70/duckdb:duckdb 22662179 22014046 1.03
tpcds_q71/duckdb:duckdb 17525430 16523277 1.06
tpcds_q72/duckdb:duckdb 52372799 52426387 1.00
tpcds_q73/duckdb:duckdb 12675356 12993568 0.98
tpcds_q74/duckdb:duckdb 169158305 166542540 1.02
tpcds_q75/duckdb:duckdb 49237595 50579029 0.97
tpcds_q76/duckdb:duckdb 14067398 13200801 1.07
tpcds_q77/duckdb:duckdb 14786438 15082480 0.98
tpcds_q78/duckdb:duckdb 66608231 66643897 1.00
tpcds_q79/duckdb:duckdb 20980136 20573562 1.02
tpcds_q80/duckdb:duckdb 35516818 33137277 1.07
tpcds_q81/duckdb:duckdb 46386303 45930450 1.01
tpcds_q82/duckdb:duckdb 12742503 12321409 1.03
tpcds_q83/duckdb:duckdb 13129327 12781641 1.03
tpcds_q84/duckdb:duckdb 17098328 16935012 1.01
tpcds_q85/duckdb:duckdb 28710429 28058533 1.02
tpcds_q86/duckdb:duckdb 13391261 13206259 1.01
tpcds_q87/duckdb:duckdb 39726716 40397115 0.98
tpcds_q88/duckdb:duckdb 25338279 26198762 0.97
tpcds_q89/duckdb:duckdb 🚀 16775471 18879620 0.89
tpcds_q90/duckdb:duckdb 7369745 7221391 1.02
tpcds_q91/duckdb:duckdb 16837295 16546312 1.02
tpcds_q92/duckdb:duckdb 11347950 11457181 0.99
tpcds_q93/duckdb:duckdb 26431235 26429068 1.00
tpcds_q94/duckdb:duckdb 17636609 17418711 1.01
tpcds_q95/duckdb:duckdb 126346492 125761965 1.00
tpcds_q96/duckdb:duckdb 5696207 6091230 0.94
tpcds_q97/duckdb:duckdb 33850260 34469796 0.98
tpcds_q98/duckdb:duckdb 18312377 17309663 1.06
tpcds_q99/duckdb:duckdb 19586904 19738565 0.99

No file size changes detected.

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Clickbench on NVME 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +1.6%
Engines: DataFusion No clear signal (+1.2%, low confidence) · DuckDB No clear signal (+2.0%, low confidence)
Vortex (geomean): 1.018x ➖
Parquet (geomean): 1.001x ➖
Shifts: Parquet (control) +0.1% · 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.018x ➖, 1↑ 2↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench_q00/datafusion:vortex-file-compressed 2042952 2037498 1.00
clickbench_q01/datafusion:vortex-file-compressed 23252215 22062244 1.05
clickbench_q02/datafusion:vortex-file-compressed 30485235 30868598 0.99
clickbench_q03/datafusion:vortex-file-compressed 33121411 34301595 0.97
clickbench_q04/datafusion:vortex-file-compressed 170819054 169878539 1.01
clickbench_q05/datafusion:vortex-file-compressed 229943414 226494896 1.02
clickbench_q06/datafusion:vortex-file-compressed 2054041 2042668 1.01
clickbench_q07/datafusion:vortex-file-compressed 27722419 26448052 1.05
clickbench_q08/datafusion:vortex-file-compressed 235237748 228208891 1.03
clickbench_q09/datafusion:vortex-file-compressed 371377045 362057636 1.03
clickbench_q10/datafusion:vortex-file-compressed 58522001 58266861 1.00
clickbench_q11/datafusion:vortex-file-compressed 65326456 65271231 1.00
clickbench_q12/datafusion:vortex-file-compressed 209765406 209425728 1.00
clickbench_q13/datafusion:vortex-file-compressed 353508689 348086601 1.02
clickbench_q14/datafusion:vortex-file-compressed 206842690 209096212 0.99
clickbench_q15/datafusion:vortex-file-compressed 194517544 195804084 0.99
clickbench_q16/datafusion:vortex-file-compressed 482350518 475150507 1.02
clickbench_q17/datafusion:vortex-file-compressed 481821234 472909600 1.02
clickbench_q18/datafusion:vortex-file-compressed 932187870 908459673 1.03
clickbench_q19/datafusion:vortex-file-compressed 🚨 39989706 25363919 1.58
clickbench_q20/datafusion:vortex-file-compressed 193902326 197786385 0.98
clickbench_q21/datafusion:vortex-file-compressed 258526550 265972288 0.97
clickbench_q22/datafusion:vortex-file-compressed 329057906 325483690 1.01
clickbench_q23/datafusion:vortex-file-compressed 🚨 817612737 579397793 1.41
clickbench_q24/datafusion:vortex-file-compressed 38161217 39138996 0.98
clickbench_q25/datafusion:vortex-file-compressed 58532771 57041150 1.03
clickbench_q26/datafusion:vortex-file-compressed 34656298 36808120 0.94
clickbench_q27/datafusion:vortex-file-compressed 280291508 278054060 1.01
clickbench_q28/datafusion:vortex-file-compressed 1456116284 1446444486 1.01
clickbench_q29/datafusion:vortex-file-compressed 🚀 48951767 56920936 0.86
clickbench_q30/datafusion:vortex-file-compressed 167544582 170007415 0.99
clickbench_q31/datafusion:vortex-file-compressed 201484164 192892706 1.04
clickbench_q32/datafusion:vortex-file-compressed 821985875 828260559 0.99
clickbench_q33/datafusion:vortex-file-compressed 1018381803 984712994 1.03
clickbench_q34/datafusion:vortex-file-compressed 988261974 1008831476 0.98
clickbench_q35/datafusion:vortex-file-compressed 175186168 191586550 0.91
clickbench_q36/datafusion:vortex-file-compressed 60398618 64589851 0.94
clickbench_q37/datafusion:vortex-file-compressed 29228400 29043090 1.01
clickbench_q38/datafusion:vortex-file-compressed 18385125 17740468 1.04
clickbench_q39/datafusion:vortex-file-compressed 129051082 122509345 1.05
clickbench_q40/datafusion:vortex-file-compressed 14510048 14991659 0.97
clickbench_q41/datafusion:vortex-file-compressed 14635448 14306917 1.02
clickbench_q42/datafusion:vortex-file-compressed 14989720 14448954 1.04
datafusion / parquet (1.006x ➖, 1↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench_q00/datafusion:parquet 1946262 1959710 0.99
clickbench_q01/datafusion:parquet 17992581 18279646 0.98
clickbench_q02/datafusion:parquet 33929518 31934596 1.06
clickbench_q03/datafusion:parquet 26748819 26197589 1.02
clickbench_q04/datafusion:parquet 175001464 171427504 1.02
clickbench_q05/datafusion:parquet 238516861 236264051 1.01
clickbench_q06/datafusion:parquet 2006421 1941578 1.03
clickbench_q07/datafusion:parquet 18287607 18528561 0.99
clickbench_q08/datafusion:parquet 230293453 234511003 0.98
clickbench_q09/datafusion:parquet 381189373 370124708 1.03
clickbench_q10/datafusion:parquet 71832692 70677651 1.02
clickbench_q11/datafusion:parquet 92547827 90405371 1.02
clickbench_q12/datafusion:parquet 240122954 238534314 1.01
clickbench_q13/datafusion:parquet 392629952 398657352 0.98
clickbench_q14/datafusion:parquet 250772580 250091100 1.00
clickbench_q15/datafusion:parquet 195434153 195366865 1.00
clickbench_q16/datafusion:parquet 486468614 475581824 1.02
clickbench_q17/datafusion:parquet 478596754 476628682 1.00
clickbench_q18/datafusion:parquet 950064430 931847851 1.02
clickbench_q19/datafusion:parquet 22991505 23151148 0.99
clickbench_q20/datafusion:parquet 464771522 462617581 1.00
clickbench_q21/datafusion:parquet 494767316 510577294 0.97
clickbench_q22/datafusion:parquet 651464192 653652855 1.00
clickbench_q23/datafusion:parquet 2853486942 2846716852 1.00
clickbench_q24/datafusion:parquet 50550454 50632059 1.00
clickbench_q25/datafusion:parquet 100861114 97038495 1.04
clickbench_q26/datafusion:parquet 49677847 49668805 1.00
clickbench_q27/datafusion:parquet 540310890 534139569 1.01
clickbench_q28/datafusion:parquet 1544201512 1526886227 1.01
clickbench_q29/datafusion:parquet 40942996 40671573 1.01
clickbench_q30/datafusion:parquet 242373906 242665220 1.00
clickbench_q31/datafusion:parquet 273999458 267787558 1.02
clickbench_q32/datafusion:parquet 854413052 852203561 1.00
clickbench_q33/datafusion:parquet 1108610652 1050074000 1.06
clickbench_q34/datafusion:parquet 1062973198 1107998095 0.96
clickbench_q35/datafusion:parquet 171013714 162088053 1.06
clickbench_q36/datafusion:parquet 115348664 120219356 0.96
clickbench_q37/datafusion:parquet 48715491 47915015 1.02
clickbench_q38/datafusion:parquet 🚀 70057174 79940489 0.88
clickbench_q39/datafusion:parquet 239635735 231882746 1.03
clickbench_q40/datafusion:parquet 27047683 25759311 1.05
clickbench_q41/datafusion:parquet 25679282 25979896 0.99
clickbench_q42/datafusion:parquet 26128792 25252027 1.03
duckdb / vortex-file-compressed (1.018x ➖, 1↑ 3↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench_q00/duckdb:vortex-file-compressed 🚨 13471877 11571463 1.16
clickbench_q01/duckdb:vortex-file-compressed 19647325 21533321 0.91
clickbench_q02/duckdb:vortex-file-compressed 🚀 20116373 22543979 0.89
clickbench_q03/duckdb:vortex-file-compressed 30414925 30888662 0.98
clickbench_q04/duckdb:vortex-file-compressed 128886242 128240843 1.01
clickbench_q05/duckdb:vortex-file-compressed 159587243 158899730 1.00
clickbench_q06/duckdb:vortex-file-compressed 17303458 18893623 0.92
clickbench_q07/duckdb:vortex-file-compressed 24144422 23847691 1.01
clickbench_q08/duckdb:vortex-file-compressed 164591369 166062638 0.99
clickbench_q09/duckdb:vortex-file-compressed 203910255 204031421 1.00
clickbench_q10/duckdb:vortex-file-compressed 68894810 67597898 1.02
clickbench_q11/duckdb:vortex-file-compressed 70676811 71459768 0.99
clickbench_q12/duckdb:vortex-file-compressed 185424265 184436425 1.01
clickbench_q13/duckdb:vortex-file-compressed 340561075 330080528 1.03
clickbench_q14/duckdb:vortex-file-compressed 211185489 208355155 1.01
clickbench_q15/duckdb:vortex-file-compressed 180736206 183377922 0.99
clickbench_q16/duckdb:vortex-file-compressed 392194586 402823950 0.97
clickbench_q17/duckdb:vortex-file-compressed 382859476 377758081 1.01
clickbench_q18/duckdb:vortex-file-compressed 724896390 722877855 1.00
clickbench_q19/duckdb:vortex-file-compressed 25219335 25635108 0.98
clickbench_q20/duckdb:vortex-file-compressed 210521545 225362165 0.93
clickbench_q21/duckdb:vortex-file-compressed 298333082 306530623 0.97
clickbench_q22/duckdb:vortex-file-compressed 465173468 454483973 1.02
clickbench_q23/duckdb:vortex-file-compressed 228323270 209572820 1.09
clickbench_q24/duckdb:vortex-file-compressed 55911755 54438310 1.03
clickbench_q25/duckdb:vortex-file-compressed 81067253 76284001 1.06
clickbench_q26/duckdb:vortex-file-compressed 74007515 69650684 1.06
clickbench_q27/duckdb:vortex-file-compressed 177986560 173925902 1.02
clickbench_q28/duckdb:vortex-file-compressed 1286330919 1248943015 1.03
clickbench_q29/duckdb:vortex-file-compressed 28545748 27070284 1.05
clickbench_q30/duckdb:vortex-file-compressed 166771723 164042665 1.02
clickbench_q31/duckdb:vortex-file-compressed 313074063 294832112 1.06
clickbench_q32/duckdb:vortex-file-compressed 934941368 935792257 1.00
clickbench_q33/duckdb:vortex-file-compressed 1115158843 1113264878 1.00
clickbench_q34/duckdb:vortex-file-compressed 1193022348 1173706023 1.02
clickbench_q35/duckdb:vortex-file-compressed 208328671 206630786 1.01
clickbench_q36/duckdb:vortex-file-compressed 🚨 37205325 32669485 1.14
clickbench_q37/duckdb:vortex-file-compressed 27126663 25412207 1.07
clickbench_q38/duckdb:vortex-file-compressed 🚨 35396423 28133403 1.26
clickbench_q39/duckdb:vortex-file-compressed 53783006 50541162 1.06
clickbench_q40/duckdb:vortex-file-compressed 27317092 25755370 1.06
clickbench_q41/duckdb:vortex-file-compressed 25969093 25319358 1.03
clickbench_q42/duckdb:vortex-file-compressed 26583694 27490900 0.97
duckdb / parquet (0.996x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench_q00/duckdb:parquet 16839185 17606076 0.96
clickbench_q01/duckdb:parquet 15868547 15816265 1.00
clickbench_q02/duckdb:parquet 22765110 22922378 0.99
clickbench_q03/duckdb:parquet 25923252 25931498 1.00
clickbench_q04/duckdb:parquet 131956339 131637243 1.00
clickbench_q05/duckdb:parquet 184057577 181337834 1.01
clickbench_q06/duckdb:parquet 22483496 23774007 0.95
clickbench_q07/duckdb:parquet 19262560 20230315 0.95
clickbench_q08/duckdb:parquet 161111113 161242004 1.00
clickbench_q09/duckdb:parquet 229997023 229080266 1.00
clickbench_q10/duckdb:parquet 58381560 56823776 1.03
clickbench_q11/duckdb:parquet 66538646 65276539 1.02
clickbench_q12/duckdb:parquet 172031503 173491349 0.99
clickbench_q13/duckdb:parquet 307018396 306048776 1.00
clickbench_q14/duckdb:parquet 186366305 191100270 0.98
clickbench_q15/duckdb:parquet 182235663 184718203 0.99
clickbench_q16/duckdb:parquet 359247869 346067289 1.04
clickbench_q17/duckdb:parquet 366860448 367965453 1.00
clickbench_q18/duckdb:parquet 684598453 685282670 1.00
clickbench_q19/duckdb:parquet 22116561 21425148 1.03
clickbench_q20/duckdb:parquet 256729875 257169619 1.00
clickbench_q21/duckdb:parquet 316495324 314009016 1.01
clickbench_q22/duckdb:parquet 458082064 452792430 1.01
clickbench_q23/duckdb:parquet 245864145 235031473 1.05
clickbench_q24/duckdb:parquet 71681666 66269351 1.08
clickbench_q25/duckdb:parquet 74295876 73833991 1.01
clickbench_q26/duckdb:parquet 50240088 46689973 1.08
clickbench_q27/duckdb:parquet 272431559 267687418 1.02
clickbench_q28/duckdb:parquet 1733397337 1724837963 1.00
clickbench_q29/duckdb:parquet 27134295 26532751 1.02
clickbench_q30/duckdb:parquet 176346164 172813005 1.02
clickbench_q31/duckdb:parquet 299710230 325284612 0.92
clickbench_q32/duckdb:parquet 916625323 896693249 1.02
clickbench_q33/duckdb:parquet 780604967 757437673 1.03
clickbench_q34/duckdb:parquet 786139266 799205454 0.98
clickbench_q35/duckdb:parquet 210019843 209103227 1.00
clickbench_q36/duckdb:parquet 50218898 52456346 0.96
clickbench_q37/duckdb:parquet 36219603 37356332 0.97
clickbench_q38/duckdb:parquet 38218484 38868148 0.98
clickbench_q39/duckdb:parquet 87021365 88563827 0.98
clickbench_q40/duckdb:parquet 18990210 21037998 0.90
clickbench_q41/duckdb:parquet 20107928 20958934 0.96
clickbench_q42/duckdb:parquet 22683977 24872978 0.91
duckdb / duckdb (1.015x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench_q00/duckdb:duckdb 21414737 21738030 0.99
clickbench_q01/duckdb:duckdb 35956890 35385609 1.02
clickbench_q02/duckdb:duckdb 48623784 45919730 1.06
clickbench_q03/duckdb:duckdb 45642714 43493837 1.05
clickbench_q04/duckdb:duckdb 138411677 139889172 0.99
clickbench_q05/duckdb:duckdb 169309988 171099938 0.99
clickbench_q06/duckdb:duckdb 40625636 40509404 1.00
clickbench_q07/duckdb:duckdb 35999278 35292811 1.02
clickbench_q08/duckdb:duckdb 168971514 169244814 1.00
clickbench_q09/duckdb:duckdb 228556684 228500682 1.00
clickbench_q10/duckdb:duckdb 83082769 81667007 1.02
clickbench_q11/duckdb:duckdb 89109811 85894322 1.04
clickbench_q12/duckdb:duckdb 170053994 171298634 0.99
clickbench_q13/duckdb:duckdb 301918760 305604486 0.99
clickbench_q14/duckdb:duckdb 189184893 191695951 0.99
clickbench_q15/duckdb:duckdb 157654631 158217811 1.00
clickbench_q16/duckdb:duckdb 353971977 364689799 0.97
clickbench_q17/duckdb:duckdb 337925478 340683673 0.99
clickbench_q18/duckdb:duckdb 623360408 627080354 0.99
clickbench_q19/duckdb:duckdb 37239695 35530522 1.05
clickbench_q20/duckdb:duckdb 321118591 303757219 1.06
clickbench_q21/duckdb:duckdb 346898040 319474804 1.09
clickbench_q22/duckdb:duckdb 356149343 333530351 1.07
clickbench_q23/duckdb:duckdb 377637526 357414467 1.06
clickbench_q24/duckdb:duckdb 67761250 63732351 1.06
clickbench_q25/duckdb:duckdb 93007077 90107025 1.03
clickbench_q26/duckdb:duckdb 64027996 63318900 1.01
clickbench_q27/duckdb:duckdb 321247301 297784210 1.08
clickbench_q28/duckdb:duckdb 1585303469 1624595888 0.98
clickbench_q29/duckdb:duckdb 47968546 46238917 1.04
clickbench_q30/duckdb:duckdb 179404902 177681581 1.01
clickbench_q31/duckdb:duckdb 323118117 340516524 0.95
clickbench_q32/duckdb:duckdb 960437935 952989772 1.01
clickbench_q33/duckdb:duckdb 792523850 801263558 0.99
clickbench_q34/duckdb:duckdb 837110215 836316337 1.00
clickbench_q35/duckdb:duckdb 191535377 192467074 1.00
clickbench_q36/duckdb:duckdb 56451642 55665606 1.01
clickbench_q37/duckdb:duckdb 32022872 31615360 1.01
clickbench_q38/duckdb:duckdb 37368446 37375284 1.00
clickbench_q39/duckdb:duckdb 91782492 88777939 1.03
clickbench_q40/duckdb:duckdb 32005084 30683458 1.04
clickbench_q41/duckdb:duckdb 29519763 30286501 0.97
clickbench_q42/duckdb:duckdb 32410596 31881499 1.02

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%)

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

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: FineWeb S3 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +5.1%
Engines: DataFusion No clear signal (+11.8%, environment too noisy confidence) · DuckDB No clear signal (-1.1%, low confidence)
Vortex (geomean): 0.999x ➖
Parquet (geomean): 0.950x ➖
Shifts: Parquet (control) -5.0% · Median polish -0.7%

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

datafusion / vortex-file-compressed (1.031x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 33710847 33572892 1.00
fineweb_q01/datafusion:vortex-file-compressed 354375143 436218651 0.81
fineweb_q02/datafusion:vortex-file-compressed 578726877 500012976 1.16
fineweb_q03/datafusion:vortex-file-compressed 548083784 462156150 1.19
fineweb_q04/datafusion:vortex-file-compressed 467098199 489484537 0.95
fineweb_q05/datafusion:vortex-file-compressed 470432822 503879712 0.93
fineweb_q06/datafusion:vortex-file-compressed 963113212 866583125 1.11
fineweb_q07/datafusion:vortex-file-compressed 550462894 493870072 1.11
fineweb_q08/datafusion:vortex-file-compressed 255011630 239818538 1.06
datafusion / vortex-compact (0.992x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 40733754 34014543 1.20
fineweb_q01/datafusion:vortex-compact 429437068 522925492 0.82
fineweb_q02/datafusion:vortex-compact 551165410 551415219 1.00
fineweb_q03/datafusion:vortex-compact 777471684 805841339 0.96
fineweb_q04/datafusion:vortex-compact 742541206 745701128 1.00
fineweb_q05/datafusion:vortex-compact 671633611 682517543 0.98
fineweb_q06/datafusion:vortex-compact 763474197 786285439 0.97
fineweb_q07/datafusion:vortex-compact 637467069 578352922 1.10
fineweb_q08/datafusion:vortex-compact 220710132 235260643 0.94
datafusion / parquet (0.905x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 472562095 491479735 0.96
fineweb_q01/datafusion:parquet 937588767 976298070 0.96
fineweb_q02/datafusion:parquet 894877031 1073751144 0.83
fineweb_q03/datafusion:parquet 903899042 1126336380 0.80
fineweb_q04/datafusion:parquet 873845341 944499011 0.93
fineweb_q05/datafusion:parquet 844893204 885248936 0.95
fineweb_q06/datafusion:parquet 863303874 975042300 0.89
fineweb_q07/datafusion:parquet 922938133 997029743 0.93
fineweb_q08/datafusion:parquet 893353395 981444346 0.91
duckdb / vortex-file-compressed (0.997x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 50126080 47067909 1.06
fineweb_q01/duckdb:vortex-file-compressed 578952354 571238606 1.01
fineweb_q02/duckdb:vortex-file-compressed 521275343 521502142 1.00
fineweb_q03/duckdb:vortex-file-compressed 1429138432 1465463857 0.98
fineweb_q04/duckdb:vortex-file-compressed 1798111232 1781361880 1.01
fineweb_q05/duckdb:vortex-file-compressed 1683698645 1680509352 1.00
fineweb_q06/duckdb:vortex-file-compressed 1707838270 1729385030 0.99
fineweb_q07/duckdb:vortex-file-compressed 1470720823 1547826478 0.95
fineweb_q08/duckdb:vortex-file-compressed 664889269 680664590 0.98
duckdb / vortex-compact (0.978x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 45950275 50564004 0.91
fineweb_q01/duckdb:vortex-compact 565379997 593012901 0.95
fineweb_q02/duckdb:vortex-compact 579825412 603980306 0.96
fineweb_q03/duckdb:vortex-compact 1582165272 1637077092 0.97
fineweb_q04/duckdb:vortex-compact 1729662511 1664936391 1.04
fineweb_q05/duckdb:vortex-compact 1613207201 1598824393 1.01
fineweb_q06/duckdb:vortex-compact 1708706412 1655903795 1.03
fineweb_q07/duckdb:vortex-compact 1525974204 1617540874 0.94
fineweb_q08/duckdb:vortex-compact 590717766 592301719 1.00
duckdb / parquet (0.998x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 5241736785 5235058432 1.00
fineweb_q01/duckdb:parquet 5332848039 5360348943 0.99
fineweb_q02/duckdb:parquet 5302030963 5314597367 1.00
fineweb_q03/duckdb:parquet 5333989324 5341247265 1.00
fineweb_q04/duckdb:parquet 5295531801 5301132530 1.00
fineweb_q05/duckdb:parquet 5306200378 5307979128 1.00
fineweb_q06/duckdb:parquet 5422196278 5392216896 1.01
fineweb_q07/duckdb:parquet 5286269480 5333520385 0.99
fineweb_q08/duckdb:parquet 5259933060 5272507968 1.00

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on S3 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +1.5%
Engines: DataFusion No clear signal (-2.2%, low confidence) · DuckDB No clear signal (+5.4%, low confidence)
Vortex (geomean): 1.013x ➖
Parquet (geomean): 0.998x ➖
Shifts: Parquet (control) -0.2% · Median polish -0.8%

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↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 248387434 254630481 0.98
tpch_q02/datafusion:vortex-file-compressed 427973947 436415334 0.98
tpch_q03/datafusion:vortex-file-compressed 336226978 344088102 0.98
tpch_q04/datafusion:vortex-file-compressed 181994635 187080752 0.97
tpch_q05/datafusion:vortex-file-compressed 314920822 398265175 0.79
tpch_q06/datafusion:vortex-file-compressed 243280728 269210299 0.90
tpch_q07/datafusion:vortex-file-compressed 345182829 348408425 0.99
tpch_q08/datafusion:vortex-file-compressed 494821348 540036947 0.92
tpch_q09/datafusion:vortex-file-compressed 359943905 381105634 0.94
tpch_q10/datafusion:vortex-file-compressed 445503088 548824071 0.81
tpch_q11/datafusion:vortex-file-compressed 357500151 302037719 1.18
tpch_q12/datafusion:vortex-file-compressed 388709367 314097254 1.24
tpch_q13/datafusion:vortex-file-compressed 142786574 132974554 1.07
tpch_q14/datafusion:vortex-file-compressed 210097287 165635834 1.27
tpch_q15/datafusion:vortex-file-compressed 334824296 300746801 1.11
tpch_q16/datafusion:vortex-file-compressed 201538589 204416146 0.99
tpch_q17/datafusion:vortex-file-compressed 307548628 338101267 0.91
tpch_q18/datafusion:vortex-file-compressed 249625344 255864161 0.98
tpch_q19/datafusion:vortex-file-compressed 343977124 392973474 0.88
tpch_q20/datafusion:vortex-file-compressed 369506028 369990867 1.00
tpch_q21/datafusion:vortex-file-compressed 497516506 540986152 0.92
tpch_q22/datafusion:vortex-file-compressed 143879381 161487236 0.89
datafusion / vortex-compact (0.948x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 245821854 241645339 1.02
tpch_q02/datafusion:vortex-compact 405220403 424140864 0.96
tpch_q03/datafusion:vortex-compact 338235922 348356443 0.97
tpch_q04/datafusion:vortex-compact 162153823 165559518 0.98
tpch_q05/datafusion:vortex-compact 325204878 408820983 0.80
tpch_q06/datafusion:vortex-compact 252076392 302290541 0.83
tpch_q07/datafusion:vortex-compact 348125729 458470935 0.76
tpch_q08/datafusion:vortex-compact 475334586 488724841 0.97
tpch_q09/datafusion:vortex-compact 304252112 384241836 0.79
tpch_q10/datafusion:vortex-compact 336634935 332449411 1.01
tpch_q11/datafusion:vortex-compact 277128710 257318123 1.08
tpch_q12/datafusion:vortex-compact 275232435 296956984 0.93
tpch_q13/datafusion:vortex-compact 109129415 116095369 0.94
tpch_q14/datafusion:vortex-compact 170684054 175706862 0.97
tpch_q15/datafusion:vortex-compact 305636687 314204406 0.97
tpch_q16/datafusion:vortex-compact 204061117 193708897 1.05
tpch_q17/datafusion:vortex-compact 362114928 328435068 1.10
tpch_q18/datafusion:vortex-compact 229949933 240938719 0.95
tpch_q19/datafusion:vortex-compact 407485598 431526771 0.94
tpch_q20/datafusion:vortex-compact 330207816 349169071 0.95
tpch_q21/datafusion:vortex-compact 443965755 461506353 0.96
tpch_q22/datafusion:vortex-compact 143033614 142164413 1.01
datafusion / parquet (0.985x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 205989280 225020760 0.92
tpch_q02/datafusion:parquet 285407028 271031154 1.05
tpch_q03/datafusion:parquet 286581726 319114308 0.90
tpch_q04/datafusion:parquet 159766805 167465021 0.95
tpch_q05/datafusion:parquet 366393186 392031908 0.93
tpch_q06/datafusion:parquet 146335007 136328609 1.07
tpch_q07/datafusion:parquet 367090269 395919469 0.93
tpch_q08/datafusion:parquet 441694141 440106879 1.00
tpch_q09/datafusion:parquet 467355016 458375465 1.02
tpch_q10/datafusion:parquet 407401731 415910820 0.98
tpch_q11/datafusion:parquet 285774040 275885178 1.04
tpch_q12/datafusion:parquet 212899527 212270834 1.00
tpch_q13/datafusion:parquet 455899110 455703192 1.00
tpch_q14/datafusion:parquet 177764304 171737077 1.04
tpch_q15/datafusion:parquet 283495763 285755515 0.99
tpch_q16/datafusion:parquet 122108617 125600888 0.97
tpch_q17/datafusion:parquet 320114976 322050896 0.99
tpch_q18/datafusion:parquet 438774327 449672641 0.98
tpch_q19/datafusion:parquet 184963796 182831698 1.01
tpch_q20/datafusion:parquet 273671301 296449688 0.92
tpch_q21/datafusion:parquet 394764146 410762237 0.96
tpch_q22/datafusion:parquet 186567072 179031552 1.04
duckdb / vortex-file-compressed (1.048x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 270211791 299739288 0.90
tpch_q02/duckdb:vortex-file-compressed 649163001 622505210 1.04
tpch_q03/duckdb:vortex-file-compressed 534788255 474604801 1.13
tpch_q04/duckdb:vortex-file-compressed 317510055 298763738 1.06
tpch_q05/duckdb:vortex-file-compressed 636348494 626598137 1.02
tpch_q06/duckdb:vortex-file-compressed 275978893 269428196 1.02
tpch_q07/duckdb:vortex-file-compressed 510368905 540490593 0.94
tpch_q08/duckdb:vortex-file-compressed 728778041 711311752 1.02
tpch_q09/duckdb:vortex-file-compressed 642512753 560423709 1.15
tpch_q10/duckdb:vortex-file-compressed 528197348 488674345 1.08
tpch_q11/duckdb:vortex-file-compressed 279690202 269405736 1.04
tpch_q12/duckdb:vortex-file-compressed 562488062 494781913 1.14
tpch_q13/duckdb:vortex-file-compressed 319851737 297560812 1.07
tpch_q14/duckdb:vortex-file-compressed 260485818 253645651 1.03
tpch_q15/duckdb:vortex-file-compressed 185962003 178370157 1.04
tpch_q16/duckdb:vortex-file-compressed 226250025 226616389 1.00
tpch_q17/duckdb:vortex-file-compressed 470220838 442373726 1.06
tpch_q18/duckdb:vortex-file-compressed 347546026 362543898 0.96
tpch_q19/duckdb:vortex-file-compressed 356224626 342789306 1.04
tpch_q20/duckdb:vortex-file-compressed 627950317 488344505 1.29
tpch_q21/duckdb:vortex-file-compressed 761732343 705956824 1.08
tpch_q22/duckdb:vortex-file-compressed 155478616 153851507 1.01
duckdb / vortex-compact (1.080x ➖, 0↑ 1↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 239788772 236829313 1.01
tpch_q02/duckdb:vortex-compact 604828762 581950580 1.04
tpch_q03/duckdb:vortex-compact 456064186 471798949 0.97
tpch_q04/duckdb:vortex-compact 🚨 441097004 237496003 1.86
tpch_q05/duckdb:vortex-compact 606244138 493902094 1.23
tpch_q06/duckdb:vortex-compact 296680618 284066621 1.04
tpch_q07/duckdb:vortex-compact 584271860 568505904 1.03
tpch_q08/duckdb:vortex-compact 737080228 722979406 1.02
tpch_q09/duckdb:vortex-compact 577618748 577109892 1.00
tpch_q10/duckdb:vortex-compact 492041889 467624617 1.05
tpch_q11/duckdb:vortex-compact 265374460 261868059 1.01
tpch_q12/duckdb:vortex-compact 404788465 460521060 0.88
tpch_q13/duckdb:vortex-compact 302854374 268417380 1.13
tpch_q14/duckdb:vortex-compact 273942296 266276291 1.03
tpch_q15/duckdb:vortex-compact 210057174 179288749 1.17
tpch_q16/duckdb:vortex-compact 228425136 224672715 1.02
tpch_q17/duckdb:vortex-compact 483974006 457793509 1.06
tpch_q18/duckdb:vortex-compact 372587156 356997819 1.04
tpch_q19/duckdb:vortex-compact 388053437 388911948 1.00
tpch_q20/duckdb:vortex-compact 497732814 478254971 1.04
tpch_q21/duckdb:vortex-compact 896456856 698749097 1.28
tpch_q22/duckdb:vortex-compact 168444701 148445806 1.13
duckdb / parquet (1.010x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 332178639 324495104 1.02
tpch_q02/duckdb:parquet 702032688 666774070 1.05
tpch_q03/duckdb:parquet 793598490 807469782 0.98
tpch_q04/duckdb:parquet 485086351 508579695 0.95
tpch_q05/duckdb:parquet 991460095 1004485527 0.99
tpch_q06/duckdb:parquet 318211260 328731733 0.97
tpch_q07/duckdb:parquet 851683109 897700560 0.95
tpch_q08/duckdb:parquet 1120609701 1156117644 0.97
tpch_q09/duckdb:parquet 1061867013 1081620560 0.98
tpch_q10/duckdb:parquet 1043535470 1036841864 1.01
tpch_q11/duckdb:parquet 456733663 459793364 0.99
tpch_q12/duckdb:parquet 537841091 554385435 0.97
tpch_q13/duckdb:parquet 874041942 853296632 1.02
tpch_q14/duckdb:parquet 526519135 515482061 1.02
tpch_q15/duckdb:parquet 422347837 375997468 1.12
tpch_q16/duckdb:parquet 579333943 542135959 1.07
tpch_q17/duckdb:parquet 509276730 513598042 0.99
tpch_q18/duckdb:parquet 674135994 664553773 1.01
tpch_q19/duckdb:parquet 626668688 572494426 1.09
tpch_q20/duckdb:parquet 893238926 862980064 1.04
tpch_q21/duckdb:parquet 777884630 763984194 1.02
tpch_q22/duckdb:parquet 456078214 454356138 1.00

@github-actions

github-actions Bot commented Jul 31, 2026

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 (-0.4%, low confidence) · DuckDB No clear signal (+0.1%, low confidence)
Vortex (geomean): 1.001x ➖
Parquet (geomean): 1.004x ➖
Shifts: Parquet (control) +0.4% · 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.006x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
appian_q01/datafusion:vortex-file-compressed 110823926 105052051 1.05
appian_q02/datafusion:vortex-file-compressed 491912985 490842114 1.00
appian_q03/datafusion:vortex-file-compressed 292095660 283970242 1.03
appian_q04/datafusion:vortex-file-compressed 13599629786 13663945470 1.00
appian_q05/datafusion:vortex-file-compressed 228637839 230103133 0.99
appian_q06/datafusion:vortex-file-compressed 280870425 286662874 0.98
appian_q07/datafusion:vortex-file-compressed 354633459 349479733 1.01
appian_q08/datafusion:vortex-file-compressed 1409205792 1432507829 0.98
datafusion / parquet (1.011x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
appian_q01/datafusion:parquet 133719319 133593675 1.00
appian_q02/datafusion:parquet 589992893 592496837 1.00
appian_q03/datafusion:parquet 306049027 302438151 1.01
appian_q04/datafusion:parquet 13676174023 13627117029 1.00
appian_q05/datafusion:parquet 313934859 311292830 1.01
appian_q06/datafusion:parquet 306105821 304229098 1.01
appian_q07/datafusion:parquet 438493071 433994090 1.01
appian_q08/datafusion:parquet 1561249598 1487641333 1.05
duckdb / vortex-file-compressed (0.996x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
appian_q01/duckdb:vortex-file-compressed 156868006 157497782 1.00
appian_q02/duckdb:vortex-file-compressed 410728588 404831754 1.01
appian_q03/duckdb:vortex-file-compressed 252475451 251618913 1.00
appian_q04/duckdb:vortex-file-compressed 1567129861 1572285165 1.00
appian_q05/duckdb:vortex-file-compressed 246122744 244535215 1.01
appian_q06/duckdb:vortex-file-compressed 1014853078 1049268482 0.97
appian_q07/duckdb:vortex-file-compressed 291434512 298140853 0.98
appian_q08/duckdb:vortex-file-compressed 904961252 899751644 1.01
duckdb / parquet (0.998x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
appian_q01/duckdb:parquet 158951195 156438341 1.02
appian_q02/duckdb:parquet 362996813 360494720 1.01
appian_q03/duckdb:parquet 216985051 220526388 0.98
appian_q04/duckdb:parquet 1459896666 1478564081 0.99
appian_q05/duckdb:parquet 245408054 244329967 1.00
appian_q06/duckdb:parquet 959914520 970700922 0.99
appian_q07/duckdb:parquet 265588337 267115365 0.99
appian_q08/duckdb:parquet 785352835 783727211 1.00
duckdb / duckdb (1.002x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
appian_q01/duckdb:duckdb 136392457 134883159 1.01
appian_q02/duckdb:duckdb 323128414 326262707 0.99
appian_q03/duckdb:duckdb 341584479 337825781 1.01
appian_q04/duckdb:duckdb 1488519610 1490917526 1.00
appian_q05/duckdb:duckdb 214894973 215841408 1.00
appian_q06/duckdb:duckdb 967065780 955295992 1.01
appian_q07/duckdb:duckdb 232820134 235313207 0.99
appian_q08/duckdb:duckdb 736970933 729372685 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: 271.91 MB → 271.65 MB (-0.1%)
  • vortex-file-compressed: 479.69 MB → 479.69 MB (0.0%)

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Clickbench Sorted on NVME 📖

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +2.0%
Engines: DataFusion No clear signal (+8.7%, environment too noisy confidence) · DuckDB No clear signal (-1.8%, low confidence)
Vortex (geomean): 1.007x ➖
Parquet (geomean): 0.981x ➖
Shifts: Parquet (control) -1.9% · Median polish -1.2%

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

datafusion / vortex-file-compressed (1.054x ➖, 1↑ 3↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench-sorted_q23/datafusion:vortex-file-compressed 🚨 1201733182 901819831 1.33
clickbench-sorted_q24/datafusion:vortex-file-compressed 25422003 24397922 1.04
clickbench-sorted_q26/datafusion:vortex-file-compressed 22913477 22203201 1.03
clickbench-sorted_q36/datafusion:vortex-file-compressed 🚨 59317961 49476818 1.20
clickbench-sorted_q37/datafusion:vortex-file-compressed 🚨 40701580 36736314 1.11
clickbench-sorted_q38/datafusion:vortex-file-compressed 🚀 36362086 43188946 0.84
clickbench-sorted_q39/datafusion:vortex-file-compressed 87510467 88350422 0.99
clickbench-sorted_q40/datafusion:vortex-file-compressed 21851891 19925633 1.10
clickbench-sorted_q41/datafusion:vortex-file-compressed 19173981 18636787 1.03
clickbench-sorted_q42/datafusion:vortex-file-compressed 15967267 16947270 0.94
datafusion / parquet (0.969x ➖, 1↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench-sorted_q23/datafusion:parquet 2880953768 2917561761 0.99
clickbench-sorted_q24/datafusion:parquet 31401575 30783999 1.02
clickbench-sorted_q26/datafusion:parquet 🚀 31795065 42484517 0.75
clickbench-sorted_q36/datafusion:parquet 182028512 187267750 0.97
clickbench-sorted_q37/datafusion:parquet 107434758 117326007 0.92
clickbench-sorted_q38/datafusion:parquet 167132279 172064080 0.97
clickbench-sorted_q39/datafusion:parquet 310686210 301925245 1.03
clickbench-sorted_q40/datafusion:parquet 70441622 69436363 1.01
clickbench-sorted_q41/datafusion:parquet 60456008 61417179 0.98
clickbench-sorted_q42/datafusion:parquet 37111346 33905609 1.09
duckdb / vortex-file-compressed (0.962x ➖, 3↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench-sorted_q23/duckdb:vortex-file-compressed 🚀 205017205 244626824 0.84
clickbench-sorted_q24/duckdb:vortex-file-compressed 39606294 43533873 0.91
clickbench-sorted_q26/duckdb:vortex-file-compressed 56663128 58443136 0.97
clickbench-sorted_q36/duckdb:vortex-file-compressed 69478323 67134198 1.03
clickbench-sorted_q37/duckdb:vortex-file-compressed 54038718 53022281 1.02
clickbench-sorted_q38/duckdb:vortex-file-compressed 64366003 65721361 0.98
clickbench-sorted_q39/duckdb:vortex-file-compressed 🚀 108190986 120285470 0.90
clickbench-sorted_q40/duckdb:vortex-file-compressed 40021408 38001485 1.05
clickbench-sorted_q41/duckdb:vortex-file-compressed 37617729 35461901 1.06
clickbench-sorted_q42/duckdb:vortex-file-compressed 🚀 30312693 34304301 0.88
duckdb / parquet (0.992x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench-sorted_q23/duckdb:parquet 213335639 226150431 0.94
clickbench-sorted_q24/duckdb:parquet 29856043 31374149 0.95
clickbench-sorted_q26/duckdb:parquet 22391663 22487434 1.00
clickbench-sorted_q36/duckdb:parquet 66806620 68149029 0.98
clickbench-sorted_q37/duckdb:parquet 55693336 57523161 0.97
clickbench-sorted_q38/duckdb:parquet 62196378 62035772 1.00
clickbench-sorted_q39/duckdb:parquet 109117257 108323409 1.01
clickbench-sorted_q40/duckdb:parquet 29794870 29101617 1.02
clickbench-sorted_q41/duckdb:parquet 29700013 28554229 1.04
clickbench-sorted_q42/duckdb:parquet 19868272 19643424 1.01
duckdb / duckdb (0.987x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
clickbench-sorted_q23/duckdb:duckdb 383953323 396793226 0.97
clickbench-sorted_q24/duckdb:duckdb 49314643 50382608 0.98
clickbench-sorted_q26/duckdb:duckdb 46958502 47385796 0.99
clickbench-sorted_q36/duckdb:duckdb 71752361 70639373 1.02
clickbench-sorted_q37/duckdb:duckdb 70975953 71871987 0.99
clickbench-sorted_q38/duckdb:duckdb 62156471 61820264 1.01
clickbench-sorted_q39/duckdb:duckdb 100924674 103145885 0.98
clickbench-sorted_q40/duckdb:duckdb 44240140 45453880 0.97
clickbench-sorted_q41/duckdb:duckdb 41963074 42471266 0.99
clickbench-sorted_q42/duckdb:duckdb 34339861 34729773 0.99

File Size Changes (201 files changed, -0.0% overall, 96↑ 105↓)
File Scale Format Base HEAD Change %
hits_080.vortex 1.0 vortex-compact 94.63 MB 96.86 MB +2.24 MB +2.4%
hits_075.vortex 1.0 vortex-file-compressed 189.47 MB 192.11 MB +2.64 MB +1.4%
hits_061.vortex 1.0 vortex-compact 123.50 MB 124.92 MB +1.42 MB +1.1%
hits_002.vortex 1.0 vortex-compact 124.22 MB 125.50 MB +1.28 MB +1.0%
hits_027.vortex 1.0 vortex-compact 138.07 MB 139.44 MB +1.38 MB +1.0%
hits_022.vortex 1.0 vortex-file-compressed 197.85 MB 199.43 MB +1.58 MB +0.8%
hits_034.vortex 1.0 vortex-file-compressed 181.98 MB 183.41 MB +1.43 MB +0.8%
hits_065.vortex 1.0 vortex-file-compressed 160.16 MB 161.35 MB +1.19 MB +0.7%
hits_048.vortex 1.0 vortex-file-compressed 198.55 MB 199.67 MB +1.11 MB +0.6%
hits_045.vortex 1.0 vortex-file-compressed 140.09 MB 140.83 MB +752.22 KB +0.5%
hits_029.vortex 1.0 vortex-compact 152.75 MB 153.49 MB +754.66 KB +0.5%
hits_014.vortex 1.0 vortex-file-compressed 172.13 MB 172.94 MB +831.70 KB +0.5%
hits_056.vortex 1.0 vortex-compact 100.87 MB 101.34 MB +485.84 KB +0.5%
hits_040.vortex 1.0 vortex-compact 110.05 MB 110.55 MB +509.56 KB +0.5%
hits_078.vortex 1.0 vortex-compact 97.23 MB 97.66 MB +445.37 KB +0.4%
hits_043.vortex 1.0 vortex-compact 94.26 MB 94.65 MB +396.13 KB +0.4%
hits_025.vortex 1.0 vortex-compact 133.46 MB 133.96 MB +514.48 KB +0.4%
hits_053.vortex 1.0 vortex-compact 138.46 MB 138.97 MB +523.08 KB +0.4%
hits_072.vortex 1.0 vortex-file-compressed 102.32 MB 102.66 MB +344.67 KB +0.3%
hits_051.vortex 1.0 vortex-file-compressed 172.41 MB 172.97 MB +571.96 KB +0.3%
hits_054.vortex 1.0 vortex-compact 111.79 MB 112.13 MB +354.39 KB +0.3%
hits_004.vortex 1.0 vortex-compact 98.16 MB 98.42 MB +265.67 KB +0.3%
hits_014.vortex 1.0 vortex-compact 133.90 MB 134.23 MB +343.82 KB +0.3%
hits_070.vortex 1.0 vortex-compact 153.46 MB 153.84 MB +391.48 KB +0.2%
hits_073.vortex 1.0 vortex-compact 134.12 MB 134.45 MB +336.08 KB +0.2%
hits_093.vortex 1.0 vortex-compact 98.62 MB 98.84 MB +225.71 KB +0.2%
hits_068.vortex 1.0 vortex-file-compressed 160.76 MB 161.09 MB +336.77 KB +0.2%
hits_025.vortex 1.0 vortex-file-compressed 172.00 MB 172.35 MB +353.77 KB +0.2%
hits_036.vortex 1.0 vortex-compact 133.37 MB 133.64 MB +274.09 KB +0.2%
hits_052.vortex 1.0 vortex-file-compressed 130.99 MB 131.25 MB +264.89 KB +0.2%
hits_099.vortex 1.0 vortex-compact 133.15 MB 133.41 MB +266.05 KB +0.2%
hits_077.vortex 1.0 vortex-file-compressed 172.44 MB 172.77 MB +339.98 KB +0.2%
hits_010.vortex 1.0 vortex-file-compressed 169.61 MB 169.92 MB +316.25 KB +0.2%
hits_041.vortex 1.0 vortex-file-compressed 131.22 MB 131.43 MB +219.47 KB +0.2%
hits_008.vortex 1.0 vortex-compact 105.69 MB 105.86 MB +174.46 KB +0.2%
hits_038.vortex 1.0 vortex-file-compressed 190.15 MB 190.45 MB +303.94 KB +0.2%
hits_044.vortex 1.0 vortex-file-compressed 199.86 MB 200.17 MB +316.82 KB +0.2%
hits_016.vortex 1.0 vortex-compact 127.34 MB 127.53 MB +199.57 KB +0.2%
hits_003.vortex 1.0 vortex-file-compressed 136.57 MB 136.77 MB +201.18 KB +0.1%
hits_089.vortex 1.0 vortex-file-compressed 131.53 MB 131.71 MB +177.60 KB +0.1%
hits_070.vortex 1.0 vortex-file-compressed 200.11 MB 200.36 MB +255.92 KB +0.1%
hits_058.vortex 1.0 vortex-file-compressed 155.08 MB 155.27 MB +187.66 KB +0.1%
hits_054.vortex 1.0 vortex-file-compressed 146.91 MB 147.08 MB +171.77 KB +0.1%
hits_072.vortex 1.0 vortex-compact 75.57 MB 75.66 MB +86.68 KB +0.1%
hits_003.vortex 1.0 vortex-compact 104.42 MB 104.53 MB +118.61 KB +0.1%
hits_074.vortex 1.0 vortex-compact 153.01 MB 153.18 MB +167.59 KB +0.1%
hits_042.vortex 1.0 vortex-compact 136.16 MB 136.30 MB +147.04 KB +0.1%
hits_052.vortex 1.0 vortex-compact 98.90 MB 99.00 MB +101.42 KB +0.1%
hits_097.vortex 1.0 vortex-compact 141.29 MB 141.43 MB +144.38 KB +0.1%
hits_024.vortex 1.0 vortex-file-compressed 160.43 MB 160.59 MB +162.51 KB +0.1%
hits_066.vortex 1.0 vortex-file-compressed 163.09 MB 163.25 MB +163.50 KB +0.1%
hits_088.vortex 1.0 vortex-file-compressed 172.03 MB 172.20 MB +167.88 KB +0.1%
hits_081.vortex 1.0 vortex-file-compressed 199.95 MB 200.13 MB +187.38 KB +0.1%
hits_039.vortex 1.0 vortex-file-compressed 160.97 MB 161.12 MB +147.80 KB +0.1%
hits_046.vortex 1.0 vortex-compact 74.96 MB 75.02 MB +67.72 KB +0.1%
hits_044.vortex 1.0 vortex-compact 153.57 MB 153.68 MB +116.81 KB +0.1%
hits_010.vortex 1.0 vortex-compact 122.97 MB 123.06 MB +92.26 KB +0.1%
hits_019.vortex 1.0 vortex-compact 106.12 MB 106.19 MB +76.52 KB +0.1%
hits_093.vortex 1.0 vortex-file-compressed 131.84 MB 131.93 MB +85.77 KB +0.1%
hits_028.vortex 1.0 vortex-file-compressed 151.74 MB 151.83 MB +94.19 KB +0.1%
hits_011.vortex 1.0 vortex-compact 152.76 MB 152.85 MB +94.04 KB +0.1%
hits_099.vortex 1.0 vortex-file-compressed 171.34 MB 171.43 MB +98.23 KB +0.1%
hits_004.vortex 1.0 vortex-file-compressed 131.43 MB 131.51 MB +74.96 KB +0.1%
hits_022.vortex 1.0 vortex-compact 153.10 MB 153.18 MB +79.86 KB +0.1%
hits_062.vortex 1.0 vortex-compact 132.68 MB 132.75 MB +68.89 KB +0.1%
hits_055.vortex 1.0 vortex-file-compressed 199.69 MB 199.79 MB +99.33 KB +0.0%
hits_085.vortex 1.0 vortex-file-compressed 199.70 MB 199.80 MB +96.54 KB +0.0%
hits_079.vortex 1.0 vortex-file-compressed 181.02 MB 181.10 MB +84.09 KB +0.0%
hits_020.vortex 1.0 vortex-compact 111.68 MB 111.73 MB +45.41 KB +0.0%
hits_059.vortex 1.0 vortex-file-compressed 198.98 MB 199.05 MB +76.79 KB +0.0%
hits_045.vortex 1.0 vortex-compact 106.11 MB 106.14 MB +38.85 KB +0.0%
hits_036.vortex 1.0 vortex-file-compressed 171.48 MB 171.54 MB +61.13 KB +0.0%
hits_068.vortex 1.0 vortex-compact 112.43 MB 112.47 MB +35.88 KB +0.0%
hits_007.vortex 1.0 vortex-compact 153.75 MB 153.80 MB +48.52 KB +0.0%
hits_081.vortex 1.0 vortex-compact 153.67 MB 153.72 MB +44.43 KB +0.0%
hits_076.vortex 1.0 vortex-file-compressed 160.94 MB 160.99 MB +42.34 KB +0.0%
hits_073.vortex 1.0 vortex-file-compressed 172.74 MB 172.78 MB +44.83 KB +0.0%
hits_098.vortex 1.0 vortex-file-compressed 137.69 MB 137.73 MB +35.01 KB +0.0%
hits_046.vortex 1.0 vortex-file-compressed 101.19 MB 101.21 MB +24.70 KB +0.0%
hits_005.vortex 1.0 vortex-compact 115.87 MB 115.89 MB +19.43 KB +0.0%
hits_083.vortex 1.0 vortex-compact 110.05 MB 110.07 MB +18.21 KB +0.0%
hits_017.vortex 1.0 vortex-file-compressed 146.86 MB 146.88 MB +24.09 KB +0.0%
hits_053.vortex 1.0 vortex-file-compressed 189.98 MB 190.01 MB +29.55 KB +0.0%
hits_071.vortex 1.0 vortex-file-compressed 140.16 MB 140.18 MB +21.70 KB +0.0%
hits_087.vortex 1.0 vortex-file-compressed 160.95 MB 160.97 MB +21.25 KB +0.0%
hits_009.vortex 1.0 vortex-compact 75.23 MB 75.24 MB +9.10 KB +0.0%
hits_091.vortex 1.0 vortex-file-compressed 147.03 MB 147.05 MB +16.61 KB +0.0%
hits_011.vortex 1.0 vortex-file-compressed 199.22 MB 199.23 MB +11.12 KB +0.0%
hits_095.vortex 1.0 vortex-compact 110.64 MB 110.64 MB +5.73 KB +0.0%
hits_090.vortex 1.0 vortex-compact 141.26 MB 141.26 MB +6.71 KB +0.0%
hits_086.vortex 1.0 vortex-file-compressed 192.18 MB 192.19 MB +8.67 KB +0.0%
hits_055.vortex 1.0 vortex-compact 153.23 MB 153.24 MB +6.87 KB +0.0%
hits_030.vortex 1.0 vortex-file-compressed 131.87 MB 131.87 MB +5.72 KB +0.0%
hits_029.vortex 1.0 vortex-file-compressed 199.81 MB 199.82 MB +6.59 KB +0.0%
hits_084.vortex 1.0 vortex-compact 110.68 MB 110.69 MB +3.21 KB +0.0%
hits_083.vortex 1.0 vortex-file-compressed 157.13 MB 157.14 MB +3.45 KB +0.0%
hits_001.vortex 1.0 vortex-compact 140.48 MB 140.47 MB 3.71 KB -0.0%
hits_032.vortex 1.0 vortex-compact 110.65 MB 110.65 MB 8.30 KB -0.0%
hits_035.vortex 1.0 vortex-compact 75.94 MB 75.94 MB 5.94 KB -0.0%
hits_023.vortex 1.0 vortex-compact 142.74 MB 142.73 MB 11.38 KB -0.0%
hits_063.vortex 1.0 vortex-compact 97.87 MB 97.86 MB 8.73 KB -0.0%
hits_018.vortex 1.0 vortex-compact 153.86 MB 153.85 MB 15.29 KB -0.0%
hits_077.vortex 1.0 vortex-compact 134.43 MB 134.41 MB 21.68 KB -0.0%
hits_033.vortex 1.0 vortex-compact 153.56 MB 153.54 MB 25.55 KB -0.0%
hits_095.vortex 1.0 vortex-file-compressed 154.37 MB 154.34 MB 27.03 KB -0.0%
hits_092.vortex 1.0 vortex-compact 153.53 MB 153.51 MB 29.82 KB -0.0%
hits_082.vortex 1.0 vortex-file-compressed 140.00 MB 139.97 MB 28.64 KB -0.0%
hits_049.vortex 1.0 vortex-file-compressed 191.42 MB 191.38 MB 40.63 KB -0.0%
hits_031.vortex 1.0 vortex-compact 111.66 MB 111.63 MB 26.44 KB -0.0%
hits_028.vortex 1.0 vortex-compact 115.74 MB 115.71 MB 30.23 KB -0.0%
hits_015.vortex 1.0 vortex-file-compressed 131.23 MB 131.20 MB 34.80 KB -0.0%
hits_038.vortex 1.0 vortex-compact 139.55 MB 139.51 MB 37.89 KB -0.0%
hits_040.vortex 1.0 vortex-file-compressed 144.12 MB 144.08 MB 41.20 KB -0.0%
hits_007.vortex 1.0 vortex-file-compressed 200.18 MB 200.12 MB 61.65 KB -0.0%
hits_027.vortex 1.0 vortex-file-compressed 189.91 MB 189.85 MB 61.70 KB -0.0%
hits_006.vortex 1.0 vortex-file-compressed 126.40 MB 126.36 MB 42.12 KB -0.0%
hits_057.vortex 1.0 vortex-file-compressed 160.91 MB 160.85 MB 56.11 KB -0.0%
hits_047.vortex 1.0 vortex-file-compressed 154.52 MB 154.47 MB 54.00 KB -0.0%
hits_061.vortex 1.0 vortex-file-compressed 160.97 MB 160.91 MB 57.08 KB -0.0%
hits_002.vortex 1.0 vortex-file-compressed 161.19 MB 161.13 MB 59.15 KB -0.0%
hits_058.vortex 1.0 vortex-compact 111.11 MB 111.07 MB 40.87 KB -0.0%
hits_033.vortex 1.0 vortex-file-compressed 200.61 MB 200.53 MB 74.95 KB -0.0%
hits_018.vortex 1.0 vortex-file-compressed 199.60 MB 199.52 MB 84.19 KB -0.0%
hits_060.vortex 1.0 vortex-file-compressed 193.21 MB 193.13 MB 84.22 KB -0.0%
hits_088.vortex 1.0 vortex-compact 134.15 MB 134.09 MB 59.34 KB -0.0%
hits_000.vortex 1.0 vortex-file-compressed 131.80 MB 131.75 MB 59.41 KB -0.0%
hits_041.vortex 1.0 vortex-compact 98.53 MB 98.49 MB 45.81 KB -0.0%
hits_057.vortex 1.0 vortex-compact 111.90 MB 111.85 MB 53.10 KB -0.0%
hits_043.vortex 1.0 vortex-file-compressed 126.50 MB 126.44 MB 60.41 KB -0.0%
hits_021.vortex 1.0 vortex-file-compressed 154.43 MB 154.36 MB 77.95 KB -0.0%
hits_080.vortex 1.0 vortex-file-compressed 126.91 MB 126.84 MB 65.68 KB -0.1%
hits_037.vortex 1.0 vortex-compact 132.92 MB 132.85 MB 70.51 KB -0.1%
hits_026.vortex 1.0 vortex-file-compressed 131.41 MB 131.33 MB 72.52 KB -0.1%
hits_084.vortex 1.0 vortex-file-compressed 154.62 MB 154.54 MB 87.23 KB -0.1%
hits_005.vortex 1.0 vortex-file-compressed 167.72 MB 167.62 MB 99.30 KB -0.1%
hits_065.vortex 1.0 vortex-compact 126.01 MB 125.93 MB 76.16 KB -0.1%
hits_009.vortex 1.0 vortex-file-compressed 101.39 MB 101.33 MB 63.45 KB -0.1%
hits_096.vortex 1.0 vortex-compact 153.31 MB 153.21 MB 101.91 KB -0.1%
hits_094.vortex 1.0 vortex-compact 110.81 MB 110.73 MB 80.70 KB -0.1%
hits_078.vortex 1.0 vortex-file-compressed 131.10 MB 131.01 MB 97.45 KB -0.1%
hits_059.vortex 1.0 vortex-compact 152.94 MB 152.82 MB 121.70 KB -0.1%
hits_042.vortex 1.0 vortex-file-compressed 201.64 MB 201.44 MB 203.50 KB -0.1%
hits_013.vortex 1.0 vortex-file-compressed 161.47 MB 161.31 MB 167.54 KB -0.1%
hits_062.vortex 1.0 vortex-file-compressed 170.85 MB 170.67 MB 179.43 KB -0.1%
hits_097.vortex 1.0 vortex-file-compressed 193.21 MB 193.00 MB 214.66 KB -0.1%
hits_064.vortex 1.0 vortex-compact 140.18 MB 140.02 MB 163.06 KB -0.1%
hits_092.vortex 1.0 vortex-file-compressed 199.56 MB 199.33 MB 232.93 KB -0.1%
hits_031.vortex 1.0 vortex-file-compressed 160.54 MB 160.33 MB 216.45 KB -0.1%
hits_037.vortex 1.0 vortex-file-compressed 177.32 MB 177.07 MB 254.05 KB -0.1%
hits_048.vortex 1.0 vortex-compact 152.82 MB 152.60 MB 220.26 KB -0.1%
hits_075.vortex 1.0 vortex-compact 137.91 MB 137.71 MB 203.48 KB -0.1%
hits_051.vortex 1.0 vortex-compact 134.23 MB 134.03 MB 201.17 KB -0.1%
hits_035.vortex 1.0 vortex-file-compressed 102.87 MB 102.72 MB 158.97 KB -0.2%
hits_090.vortex 1.0 vortex-file-compressed 194.80 MB 194.49 MB 316.08 KB -0.2%
hits_026.vortex 1.0 vortex-compact 98.39 MB 98.23 MB 163.19 KB -0.2%
hits_074.vortex 1.0 vortex-file-compressed 199.46 MB 199.13 MB 338.44 KB -0.2%
hits_016.vortex 1.0 vortex-file-compressed 180.51 MB 180.17 MB 344.84 KB -0.2%
hits_030.vortex 1.0 vortex-compact 98.50 MB 98.32 MB 188.77 KB -0.2%
hits_050.vortex 1.0 vortex-compact 126.07 MB 125.82 MB 253.12 KB -0.2%
hits_008.vortex 1.0 vortex-file-compressed 140.25 MB 139.97 MB 283.10 KB -0.2%
hits_047.vortex 1.0 vortex-compact 110.70 MB 110.48 MB 223.64 KB -0.2%
hits_012.vortex 1.0 vortex-file-compressed 191.33 MB 190.95 MB 390.21 KB -0.2%
hits_063.vortex 1.0 vortex-file-compressed 131.92 MB 131.63 MB 289.95 KB -0.2%
hits_079.vortex 1.0 vortex-compact 128.37 MB 128.08 MB 301.25 KB -0.2%
hits_020.vortex 1.0 vortex-file-compressed 160.75 MB 160.38 MB 379.08 KB -0.2%
hits_056.vortex 1.0 vortex-file-compressed 136.07 MB 135.75 MB 327.52 KB -0.2%
hits_021.vortex 1.0 vortex-compact 110.65 MB 110.39 MB 268.30 KB -0.2%
hits_067.vortex 1.0 vortex-compact 97.80 MB 97.56 MB 250.70 KB -0.3%
hits_015.vortex 1.0 vortex-compact 97.68 MB 97.41 MB 275.61 KB -0.3%
hits_066.vortex 1.0 vortex-compact 117.37 MB 117.01 MB 368.82 KB -0.3%
hits_085.vortex 1.0 vortex-compact 153.55 MB 153.07 MB 485.67 KB -0.3%
hits_024.vortex 1.0 vortex-compact 125.41 MB 125.03 MB 398.09 KB -0.3%
hits_098.vortex 1.0 vortex-compact 104.32 MB 103.99 MB 334.38 KB -0.3%
hits_032.vortex 1.0 vortex-file-compressed 155.11 MB 154.61 MB 515.49 KB -0.3%
hits_067.vortex 1.0 vortex-file-compressed 132.29 MB 131.85 MB 453.99 KB -0.3%
hits_094.vortex 1.0 vortex-file-compressed 158.89 MB 158.35 MB 553.65 KB -0.3%
hits_091.vortex 1.0 vortex-compact 112.29 MB 111.91 MB 393.63 KB -0.3%
hits_069.vortex 1.0 vortex-file-compressed 142.79 MB 142.29 MB 517.02 KB -0.4%
hits_034.vortex 1.0 vortex-compact 133.83 MB 133.34 MB 502.00 KB -0.4%
hits_087.vortex 1.0 vortex-compact 124.26 MB 123.80 MB 470.51 KB -0.4%
hits_071.vortex 1.0 vortex-compact 106.19 MB 105.76 MB 442.04 KB -0.4%
hits_082.vortex 1.0 vortex-compact 106.24 MB 105.79 MB 468.93 KB -0.4%
hits_060.vortex 1.0 vortex-compact 141.20 MB 140.56 MB 657.33 KB -0.5%
hits_019.vortex 1.0 vortex-file-compressed 141.61 MB 140.96 MB 666.48 KB -0.5%
hits_000.vortex 1.0 vortex-compact 99.21 MB 98.74 MB 485.11 KB -0.5%
hits_006.vortex 1.0 vortex-compact 96.06 MB 95.58 MB 486.95 KB -0.5%
hits_089.vortex 1.0 vortex-compact 99.33 MB 98.82 MB 531.48 KB -0.5%
hits_017.vortex 1.0 vortex-compact 112.36 MB 111.74 MB 633.09 KB -0.6%
hits_069.vortex 1.0 vortex-compact 100.01 MB 99.46 MB 563.59 KB -0.6%
hits_076.vortex 1.0 vortex-compact 126.20 MB 125.48 MB 734.48 KB -0.6%
hits_096.vortex 1.0 vortex-file-compressed 199.54 MB 198.30 MB 1.24 MB -0.6%
hits_086.vortex 1.0 vortex-compact 140.75 MB 139.60 MB 1.14 MB -0.8%
hits_049.vortex 1.0 vortex-compact 140.61 MB 139.42 MB 1.19 MB -0.8%
hits_050.vortex 1.0 vortex-file-compressed 161.08 MB 159.57 MB 1.51 MB -0.9%
hits_012.vortex 1.0 vortex-compact 140.05 MB 138.71 MB 1.35 MB -1.0%
hits_001.vortex 1.0 vortex-file-compressed 195.28 MB 193.40 MB 1.89 MB -1.0%
hits_023.vortex 1.0 vortex-file-compressed 197.34 MB 195.37 MB 1.97 MB -1.0%
hits_064.vortex 1.0 vortex-file-compressed 193.27 MB 191.33 MB 1.93 MB -1.0%
hits_039.vortex 1.0 vortex-compact 125.64 MB 124.36 MB 1.28 MB -1.0%
hits_013.vortex 1.0 vortex-compact 126.06 MB 123.93 MB 2.14 MB -1.7%
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%

Totals:

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

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=10 on NVME 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -1.4%
Engines: DataFusion No clear signal (-0.0%, low confidence) · DuckDB No clear signal (-2.2%, low confidence)
Vortex (geomean): 0.996x ➖
Parquet (geomean): 1.006x ➖
Shifts: Parquet (control) +0.6% · Median polish -0.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.010x ➖, 1↑ 1↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 353383390 348269230 1.01
tpch_q02/datafusion:vortex-file-compressed 110537193 113536495 0.97
tpch_q03/datafusion:vortex-file-compressed 188424912 186903740 1.01
tpch_q04/datafusion:vortex-file-compressed 100345438 98761494 1.02
tpch_q05/datafusion:vortex-file-compressed 320411135 310532675 1.03
tpch_q06/datafusion:vortex-file-compressed 🚀 51314797 57784002 0.89
tpch_q07/datafusion:vortex-file-compressed 400016993 406370961 0.98
tpch_q08/datafusion:vortex-file-compressed 336629389 319160078 1.05
tpch_q09/datafusion:vortex-file-compressed 506601373 520315304 0.97
tpch_q10/datafusion:vortex-file-compressed 212438570 218779897 0.97
tpch_q11/datafusion:vortex-file-compressed 80557986 77116143 1.04
tpch_q12/datafusion:vortex-file-compressed 121985408 118977598 1.03
tpch_q13/datafusion:vortex-file-compressed 125145584 126532145 0.99
tpch_q14/datafusion:vortex-file-compressed 64767223 64629444 1.00
tpch_q15/datafusion:vortex-file-compressed 122333311 121057526 1.01
tpch_q16/datafusion:vortex-file-compressed 76117757 75879734 1.00
tpch_q17/datafusion:vortex-file-compressed 471705888 473115907 1.00
tpch_q18/datafusion:vortex-file-compressed 679506125 674177274 1.01
tpch_q19/datafusion:vortex-file-compressed 100725043 97196811 1.04
tpch_q20/datafusion:vortex-file-compressed 162466432 160939816 1.01
tpch_q21/datafusion:vortex-file-compressed 554748618 553193261 1.00
tpch_q22/datafusion:vortex-file-compressed 🚨 60420600 50038539 1.21
datafusion / vortex-compact (1.006x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 372113214 370053455 1.01
tpch_q02/datafusion:vortex-compact 117113216 114212233 1.03
tpch_q03/datafusion:vortex-compact 191482948 195515128 0.98
tpch_q04/datafusion:vortex-compact 118038481 118779584 0.99
tpch_q05/datafusion:vortex-compact 313987315 308111589 1.02
tpch_q06/datafusion:vortex-compact 63353467 63217282 1.00
tpch_q07/datafusion:vortex-compact 414114821 409254611 1.01
tpch_q08/datafusion:vortex-compact 329616564 320525401 1.03
tpch_q09/datafusion:vortex-compact 532160503 518608613 1.03
tpch_q10/datafusion:vortex-compact 232203212 234394527 0.99
tpch_q11/datafusion:vortex-compact 80881655 79976457 1.01
tpch_q12/datafusion:vortex-compact 161048220 161321296 1.00
tpch_q13/datafusion:vortex-compact 154203488 153896972 1.00
tpch_q14/datafusion:vortex-compact 77537576 78556326 0.99
tpch_q15/datafusion:vortex-compact 155195885 158219812 0.98
tpch_q16/datafusion:vortex-compact 79542539 78148723 1.02
tpch_q17/datafusion:vortex-compact 475660042 472269376 1.01
tpch_q18/datafusion:vortex-compact 696584411 685395086 1.02
tpch_q19/datafusion:vortex-compact 184854729 183449253 1.01
tpch_q20/datafusion:vortex-compact 175606283 175691664 1.00
tpch_q21/datafusion:vortex-compact 570988032 578886675 0.99
tpch_q22/datafusion:vortex-compact 58936631 56966888 1.03
datafusion / parquet (1.008x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 324062326 319427870 1.01
tpch_q02/datafusion:parquet 221896260 217817779 1.02
tpch_q03/datafusion:parquet 228930471 232864307 0.98
tpch_q04/datafusion:parquet 101737332 99222237 1.03
tpch_q05/datafusion:parquet 362951478 363009993 1.00
tpch_q06/datafusion:parquet 71088993 70507015 1.01
tpch_q07/datafusion:parquet 510594261 509816366 1.00
tpch_q08/datafusion:parquet 409125767 407801210 1.00
tpch_q09/datafusion:parquet 673525641 668537742 1.01
tpch_q10/datafusion:parquet 556901694 545821071 1.02
tpch_q11/datafusion:parquet 151475803 157407227 0.96
tpch_q12/datafusion:parquet 149906029 153917449 0.97
tpch_q13/datafusion:parquet 347222638 353774615 0.98
tpch_q14/datafusion:parquet 123442455 117291997 1.05
tpch_q15/datafusion:parquet 194391689 191212677 1.02
tpch_q16/datafusion:parquet 148780856 138739091 1.07
tpch_q17/datafusion:parquet 511656649 507378774 1.01
tpch_q18/datafusion:parquet 706881419 706393051 1.00
tpch_q19/datafusion:parquet 205225036 201213416 1.02
tpch_q20/datafusion:parquet 312745871 307230745 1.02
tpch_q21/datafusion:parquet 534944603 543942850 0.98
tpch_q22/datafusion:parquet 258146416 253290346 1.02
duckdb / vortex-file-compressed (0.979x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 88263001 90149478 0.98
tpch_q02/duckdb:vortex-file-compressed 71540081 70070225 1.02
tpch_q03/duckdb:vortex-file-compressed 133072684 133488899 1.00
tpch_q04/duckdb:vortex-file-compressed 163988174 169521377 0.97
tpch_q05/duckdb:vortex-file-compressed 146498971 146254666 1.00
tpch_q06/duckdb:vortex-file-compressed 38312268 40906470 0.94
tpch_q07/duckdb:vortex-file-compressed 132983173 139261237 0.95
tpch_q08/duckdb:vortex-file-compressed 178468250 180952109 0.99
tpch_q09/duckdb:vortex-file-compressed 294194592 296428897 0.99
tpch_q10/duckdb:vortex-file-compressed 214129748 219872920 0.97
tpch_q11/duckdb:vortex-file-compressed 38124812 41031378 0.93
tpch_q12/duckdb:vortex-file-compressed 119611803 118352575 1.01
tpch_q13/duckdb:vortex-file-compressed 171002668 176813309 0.97
tpch_q14/duckdb:vortex-file-compressed 56856501 59020265 0.96
tpch_q15/duckdb:vortex-file-compressed 89891765 92085945 0.98
tpch_q16/duckdb:vortex-file-compressed 85034342 84019965 1.01
tpch_q17/duckdb:vortex-file-compressed 104101303 106588692 0.98
tpch_q18/duckdb:vortex-file-compressed 256254954 258204646 0.99
tpch_q19/duckdb:vortex-file-compressed 81980137 85295927 0.96
tpch_q20/duckdb:vortex-file-compressed 146752668 149619477 0.98
tpch_q21/duckdb:vortex-file-compressed 489322820 496244641 0.99
tpch_q22/duckdb:vortex-file-compressed 77479517 78884895 0.98
duckdb / vortex-compact (0.987x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 115926493 119377311 0.97
tpch_q02/duckdb:vortex-compact 76905015 80647449 0.95
tpch_q03/duckdb:vortex-compact 126437155 129368882 0.98
tpch_q04/duckdb:vortex-compact 160681730 163117222 0.99
tpch_q05/duckdb:vortex-compact 152957684 154345813 0.99
tpch_q06/duckdb:vortex-compact 42928050 45674723 0.94
tpch_q07/duckdb:vortex-compact 139717547 143088648 0.98
tpch_q08/duckdb:vortex-compact 185813044 184958745 1.00
tpch_q09/duckdb:vortex-compact 307170095 303039424 1.01
tpch_q10/duckdb:vortex-compact 204678662 213493464 0.96
tpch_q11/duckdb:vortex-compact 44181612 44127280 1.00
tpch_q12/duckdb:vortex-compact 136210377 143305090 0.95
tpch_q13/duckdb:vortex-compact 176996303 177160666 1.00
tpch_q14/duckdb:vortex-compact 63339622 65742529 0.96
tpch_q15/duckdb:vortex-compact 95938514 95720259 1.00
tpch_q16/duckdb:vortex-compact 88542749 87595979 1.01
tpch_q17/duckdb:vortex-compact 108598788 108792569 1.00
tpch_q18/duckdb:vortex-compact 256312339 254645329 1.01
tpch_q19/duckdb:vortex-compact 89250020 91259224 0.98
tpch_q20/duckdb:vortex-compact 159078351 152360959 1.04
tpch_q21/duckdb:vortex-compact 485305854 494723803 0.98
tpch_q22/duckdb:vortex-compact 78896986 77420881 1.02
duckdb / parquet (1.003x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 153194503 148973552 1.03
tpch_q02/duckdb:parquet 99859444 100425482 0.99
tpch_q03/duckdb:parquet 165606348 165052211 1.00
tpch_q04/duckdb:parquet 116494148 120214543 0.97
tpch_q05/duckdb:parquet 184650244 191058725 0.97
tpch_q06/duckdb:parquet 58979544 55625365 1.06
tpch_q07/duckdb:parquet 139126389 145634501 0.96
tpch_q08/duckdb:parquet 216008965 214559788 1.01
tpch_q09/duckdb:parquet 345878606 344116738 1.01
tpch_q10/duckdb:parquet 652358872 657877653 0.99
tpch_q11/duckdb:parquet 41262656 40871943 1.01
tpch_q12/duckdb:parquet 119348257 120881724 0.99
tpch_q13/duckdb:parquet 394440968 397451280 0.99
tpch_q14/duckdb:parquet 149685145 151826867 0.99
tpch_q15/duckdb:parquet 76764621 77921735 0.99
tpch_q16/duckdb:parquet 154110408 153974939 1.00
tpch_q17/duckdb:parquet 125720384 123436589 1.02
tpch_q18/duckdb:parquet 304233712 290027357 1.05
tpch_q19/duckdb:parquet 242364742 228685358 1.06
tpch_q20/duckdb:parquet 197353485 196419151 1.00
tpch_q21/duckdb:parquet 435753856 433212870 1.01
tpch_q22/duckdb:parquet 335103034 335493690 1.00
duckdb / duckdb (0.977x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 51903969 53356406 0.97
tpch_q02/duckdb:duckdb 54074628 53987820 1.00
tpch_q03/duckdb:duckdb 77406427 80451752 0.96
tpch_q04/duckdb:duckdb 118885156 118981338 1.00
tpch_q05/duckdb:duckdb 93945328 95897561 0.98
tpch_q06/duckdb:duckdb 31519928 33945871 0.93
tpch_q07/duckdb:duckdb 73291144 76321151 0.96
tpch_q08/duckdb:duckdb 104054901 107544533 0.97
tpch_q09/duckdb:duckdb 202372336 206751477 0.98
tpch_q10/duckdb:duckdb 176795139 168765085 1.05
tpch_q11/duckdb:duckdb 19925080 20776982 0.96
tpch_q12/duckdb:duckdb 67560188 70062783 0.96
tpch_q13/duckdb:duckdb 142154833 143838734 0.99
tpch_q14/duckdb:duckdb 58129691 61533066 0.94
tpch_q15/duckdb:duckdb 51999533 54059898 0.96
tpch_q16/duckdb:duckdb 69415381 68587743 1.01
tpch_q17/duckdb:duckdb 74771626 76353229 0.98
tpch_q18/duckdb:duckdb 171594512 170288854 1.01
tpch_q19/duckdb:duckdb 70304781 73245235 0.96
tpch_q20/duckdb:duckdb 80263214 81933370 0.98
tpch_q21/duckdb:duckdb 266909389 276247094 0.97
tpch_q22/duckdb:duckdb 59457154 60297512 0.99

No file size changes detected.

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Random Access 📖

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

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.994x ➖, 2↑ 1↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
random-access/feature-vectors/correlated/lance-tokio-local-disk 369331 355082 1.04
random-access/feature-vectors/correlated/lance-tokio-local-disk-footer 1059490 1054391 1.00
random-access/feature-vectors/correlated/parquet-tokio-local-disk 9136303891 9076699144 1.01
random-access/feature-vectors/correlated/parquet-tokio-local-disk-footer 8994593045 8951574593 1.00
random-access/feature-vectors/correlated/vortex-tokio-local-disk 🚨 4100286 3534441 1.16
random-access/feature-vectors/correlated/vortex-tokio-local-disk-footer 2962502 2899509 1.02
random-access/feature-vectors/uniform/lance-tokio-local-disk 1133983 1115323 1.02
random-access/feature-vectors/uniform/lance-tokio-local-disk-footer 1837056 1805613 1.02
random-access/feature-vectors/uniform/parquet-tokio-local-disk 9003481195 8956910456 1.01
random-access/feature-vectors/uniform/parquet-tokio-local-disk-footer 9057681118 9120028081 0.99
random-access/feature-vectors/uniform/vortex-tokio-local-disk 2836992 2877004 0.99
random-access/feature-vectors/uniform/vortex-tokio-local-disk-footer 5497537 5511693 1.00
random-access/lance-tokio-local-disk 637745 638328 1.00
random-access/lance-tokio-local-disk-footer 1375088 1389910 0.99
random-access/nested-lists/correlated/lance-tokio-local-disk 187778 190276 0.99
random-access/nested-lists/correlated/lance-tokio-local-disk-footer 522847 511750 1.02
random-access/nested-lists/correlated/parquet-tokio-local-disk 138008814 140364189 0.98
random-access/nested-lists/correlated/parquet-tokio-local-disk-footer 140009860 140460664 1.00
random-access/nested-lists/correlated/vortex-tokio-local-disk 294730 293949 1.00
random-access/nested-lists/correlated/vortex-tokio-local-disk-footer 376422 372422 1.01
random-access/nested-lists/uniform/lance-tokio-local-disk 952242 954763 1.00
random-access/nested-lists/uniform/lance-tokio-local-disk-footer 1279476 1288132 0.99
random-access/nested-lists/uniform/parquet-tokio-local-disk 139542285 138947916 1.00
random-access/nested-lists/uniform/parquet-tokio-local-disk-footer 140952673 139923062 1.01
random-access/nested-lists/uniform/vortex-tokio-local-disk 1481992 1472349 1.01
random-access/nested-lists/uniform/vortex-tokio-local-disk-footer 1576806 1636340 0.96
random-access/nested-structs/correlated/lance-tokio-local-disk 327730 319375 1.03
random-access/nested-structs/correlated/lance-tokio-local-disk-footer 476808 472953 1.01
random-access/nested-structs/correlated/parquet-tokio-local-disk 20168879 20443491 0.99
random-access/nested-structs/correlated/parquet-tokio-local-disk-footer 19797789 20633200 0.96
random-access/nested-structs/correlated/vortex-tokio-local-disk 331466 340524 0.97
random-access/nested-structs/correlated/vortex-tokio-local-disk-footer 462918 488907 0.95
random-access/nested-structs/uniform/lance-tokio-local-disk 2470492 2425948 1.02
random-access/nested-structs/uniform/lance-tokio-local-disk-footer 2581932 2611224 0.99
random-access/nested-structs/uniform/parquet-tokio-local-disk 19783601 20334359 0.97
random-access/nested-structs/uniform/parquet-tokio-local-disk-footer 19713724 20177103 0.98
random-access/nested-structs/uniform/vortex-tokio-local-disk 1043980 1018101 1.03
random-access/nested-structs/uniform/vortex-tokio-local-disk-footer 1189480 1207660 0.98
random-access/parquet-tokio-local-disk 184579311 184382805 1.00
random-access/parquet-tokio-local-disk-footer 184993439 183550201 1.01
random-access/taxi/correlated/lance-tokio-local-disk 976902 980600 1.00
random-access/taxi/correlated/lance-tokio-local-disk-footer 1958946 1936141 1.01
random-access/taxi/correlated/parquet-tokio-local-disk 276829017 276329934 1.00
random-access/taxi/correlated/parquet-tokio-local-disk-footer 277470780 274797020 1.01
random-access/taxi/correlated/vortex-tokio-local-disk 901008 938243 0.96
random-access/taxi/correlated/vortex-tokio-local-disk-footer 1353891 1431811 0.95
random-access/taxi/uniform/lance-tokio-local-disk 9961954 9759314 1.02
random-access/taxi/uniform/lance-tokio-local-disk-footer 10411355 10293461 1.01
random-access/taxi/uniform/parquet-tokio-local-disk 291323253 291166963 1.00
random-access/taxi/uniform/parquet-tokio-local-disk-footer 297788493 292586165 1.02
random-access/taxi/uniform/vortex-tokio-local-disk 4051859 4236751 0.96
random-access/taxi/uniform/vortex-tokio-local-disk-footer 4586773 4852289 0.95
random-access/vortex-tokio-local-disk 🚀 501673 583405 0.86
random-access/vortex-tokio-local-disk-footer 🚀 845955 950023 0.89

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Vortex queries 📖

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +0.0%
Engines: DataFusion No clear signal (-1.8%, low confidence) · DuckDB No clear signal (+1.9%, low confidence)
Vortex (geomean): 0.980x ➖
Parquet (geomean): 0.980x ➖
Shifts: Parquet (control) -2.0% · Median polish -1.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 (0.989x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
vortex_q00/datafusion:vortex-file-compressed 391261216 401428754 0.97
vortex_q01/datafusion:vortex-file-compressed 552747148 554809666 1.00
vortex_q02/datafusion:vortex-file-compressed 495256023 496989160 1.00
datafusion / parquet (1.007x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
vortex_q00/datafusion:parquet 1156337894 1147774079 1.01
vortex_q01/datafusion:parquet 136748686 136005462 1.01
vortex_q02/datafusion:parquet 764026002 757676226 1.01
duckdb / vortex-file-compressed (0.972x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
vortex_q00/duckdb:vortex-file-compressed 502833459 520570998 0.97
vortex_q01/duckdb:vortex-file-compressed 331240919 340456725 0.97
vortex_q02/duckdb:vortex-file-compressed 376412622 384914986 0.98
duckdb / parquet (0.954x ➖, 0↑ 0↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
vortex_q00/duckdb:parquet 758022792 828661056 0.91
vortex_q01/duckdb:parquet 360615203 360199804 1.00
vortex_q02/duckdb:parquet 601162028 633425357 0.95

No file size changes detected.

claude added 2 commits July 31, 2026 10:37
Two changes on top of the struct partitioning fix.

Address partition slots by index rather than by name. The flat scope that
expressions are flattened into now names each child by its logical slot
index — slot 0 is validity, slot `i + 1` is field `i` — which is the same
numbering the layout already uses in `slot_to_child`. Field names are
arbitrary user data, so any name reserved for validity could be taken by
a real field; an index cannot clash, which removes the name-mangling loop
that guarded against it. It also lets `StructReader` resolve a slot to
its child in `O(1)`, so the name lookup it kept for wide schemas is gone.

Move the semantics tests out of the layout crate and up to the file
level. They now write a real Vortex file to an in-memory buffer and scan
it back, so they cover the whole stack — writer, footer, layouts, and the
readers that partition the scan's expressions — rather than expression
evaluation alone. The layout-level suite stays where it is. The two are
deliberately independent, sharing no fixtures or expectations, so that a
change to one side cannot silently move both.

Signed-off-by: "Claude" <noreply@anthropic.com>
The other projection tests wrap the nullable struct column in a `pack` or
`select`. That wrapper gave the old reader somewhere to hang the struct's
validity, so those cases came out right for the wrong reason and passed
even before the partitioning fix. Projecting the column on its own has no
such wrapper and does fail against the old reader, which returned a
non-nullable struct whose fields had absorbed the nulls.

Signed-off-by: "Claude" <noreply@anthropic.com>
@codspeed-hq

codspeed-hq Bot commented Jul 31, 2026

Copy link
Copy Markdown

Merging this PR will improve performance by 23.06%

⚡ 2 improved benchmarks
✅ 1840 untouched benchmarks
⏩ 55 skipped benchmarks1

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation take_map[(0.1, 1.0)] 2.2 ms 1.7 ms +30.51%
Simulation take_map[(0.1, 0.5)] 1.2 ms 1 ms +16.04%

Tip

Curious why this is faster? Comment @codspeedbot explain why this is faster on this PR, or directly use the CodSpeed MCP with your agent.


Comparing claude/partitioning-structs-nullability-498zmg (57b6668) with develop (3a98c0e)

Open in CodSpeed

Footnotes

  1. 55 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports.

@github-actions

github-actions Bot commented Jul 31, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Compression 📖

Vortex (geomean): 0.990x ➖
Parquet (geomean): 0.991x ➖

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.988x ➖, 7↑ 2↓)
name PR aafeee5 (ns) base 3a98c0e (ns) ratio (PR/base)
compress time/Arade 957669973 874802768 1.09
compress time/Bimbo 4948191299 5061477962 0.98
compress time/CMSprovider 2760627378 2752428278 1.00
compress time/Euro2016 394374625 389015571 1.01
compress time/Food 🚀 350867476 390887402 0.90
compress time/HashTags 752891286 765340320 0.98
compress time/TPC-H l_comment canonical 1147555174 1172940227 0.98
compress time/TPC-H l_comment chunked 1219226030 1231215188 0.99
compress time/taxi 557875527 556888599 1.00
compress time/wide table cols=100 chunks=1 rows=1000 8847892 8898286 0.99
compress time/wide table cols=100 chunks=50 rows=1000 9171262 9003389 1.02
compress time/wide table cols=1000 chunks=1 rows=1000 93408777 91124774 1.03
compress time/wide table cols=1000 chunks=50 rows=1000 93653470 90765970 1.03
compress time/wide table cols=10000 chunks=1 rows=1000 1095160689 1079406064 1.01
compress time/wide table cols=10000 chunks=50 rows=1000 1081002340 1081774005 1.00
decompress time/Arade 22677667 22920818 0.99
decompress time/Bimbo 80569997 85425501 0.94
decompress time/CMSprovider 65478585 64566498 1.01
decompress time/Euro2016 🚨 17451194 15824743 1.10
decompress time/Food 7081268 7677268 0.92
decompress time/HashTags 88957367 90202625 0.99
decompress time/TPC-H l_comment canonical 36209667 40123883 0.90
decompress time/TPC-H l_comment chunked 36634538 38226659 0.96
decompress time/taxi 14543468 14794916 0.98
decompress time/wide table cols=100 chunks=1 rows=1000 2418892 2579889 0.94
decompress time/wide table cols=100 chunks=50 rows=1000 2592609 2559930 1.01
decompress time/wide table cols=1000 chunks=1 rows=1000 22047640 24059210 0.92
decompress time/wide table cols=1000 chunks=50 rows=1000 🚀 20546187 23805768 0.86
decompress time/wide table cols=10000 chunks=1 rows=1000 🚀 265363209 300145880 0.88
decompress time/wide table cols=10000 chunks=50 rows=1000 🚀 247513944 300759574 0.82
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 2996261195 3009036525 1.00
parquet_rs-zstd compress time/Bimbo 14848091321 15048370810 0.99
parquet_rs-zstd compress time/CMSprovider 7962218781 7991211788 1.00
parquet_rs-zstd compress time/Euro2016 1516246166 1532451423 0.99
parquet_rs-zstd compress time/Food 924151979 935757516 0.99
parquet_rs-zstd compress time/HashTags 2468145126 2504815607 0.99
parquet_rs-zstd compress time/TPC-H l_comment canonical 3711081781 3765119900 0.99
parquet_rs-zstd compress time/TPC-H l_comment chunked 3743180168 3775150673 0.99
parquet_rs-zstd compress time/taxi 1398541498 1404310768 1.00
parquet_rs-zstd compress time/wide table cols=100 chunks=1 rows=1000 6331980 6366634 0.99
parquet_rs-zstd compress time/wide table cols=100 chunks=50 rows=1000 6417377 6335244 1.01
parquet_rs-zstd compress time/wide table cols=1000 chunks=1 rows=1000 76812879 76898408 1.00
parquet_rs-zstd compress time/wide table cols=1000 chunks=50 rows=1000 77628472 77375051 1.00
parquet_rs-zstd compress time/wide table cols=10000 chunks=1 rows=1000 833299314 847715065 0.98
parquet_rs-zstd compress time/wide table cols=10000 chunks=50 rows=1000 833932286 846450406 0.99
parquet_rs-zstd decompress time/Arade 710842596 716250473 0.99
parquet_rs-zstd decompress time/Bimbo 1956145289 1965610172 1.00
parquet_rs-zstd decompress time/CMSprovider 1942152751 1954829684 0.99
parquet_rs-zstd decompress time/Euro2016 430210624 433853310 0.99
parquet_rs-zstd decompress time/Food 224506345 226560548 0.99
parquet_rs-zstd decompress time/HashTags 703749287 712560015 0.99
parquet_rs-zstd decompress time/TPC-H l_comment canonical 689066349 693578328 0.99
parquet_rs-zstd decompress time/TPC-H l_comment chunked 692469866 693685327 1.00
parquet_rs-zstd decompress time/taxi 284701623 286002399 1.00
parquet_rs-zstd decompress time/wide table cols=100 chunks=1 rows=1000 2423724 2426233 1.00
parquet_rs-zstd decompress time/wide table cols=100 chunks=50 rows=1000 2454194 2436412 1.01
parquet_rs-zstd decompress time/wide table cols=1000 chunks=1 rows=1000 28002965 27990915 1.00
parquet_rs-zstd decompress time/wide table cols=1000 chunks=50 rows=1000 28469308 28708285 0.99
parquet_rs-zstd decompress time/wide table cols=10000 chunks=1 rows=1000 312213755 315635792 0.99
parquet_rs-zstd decompress time/wide table cols=10000 chunks=50 rows=1000 314386103 314866377 1.00
vortex-file-compressed size/Arade 145358268 145358268 1.00
vortex-file-compressed size/Bimbo 467257764 467257764 1.00
vortex-file-compressed size/CMSprovider 417789588 417789588 1.00
vortex-file-compressed size/Euro2016 162335340 162334596 1.00
vortex-file-compressed size/Food 41977304 41977304 1.00
vortex-file-compressed size/HashTags 186656396 186656396 1.00
vortex-file-compressed size/TPC-H l_comment canonical 172639952 172639952 1.00
vortex-file-compressed size/TPC-H l_comment chunked 172639952 172639952 1.00
vortex-file-compressed size/taxi 52296484 52296484 1.00
vortex-file-compressed size/wide table cols=100 chunks=1 rows=1000 932728 932728 1.00
vortex-file-compressed size/wide table cols=100 chunks=50 rows=1000 932728 932728 1.00
vortex-file-compressed size/wide table cols=1000 chunks=1 rows=1000 9309928 9309928 1.00
vortex-file-compressed size/wide table cols=1000 chunks=50 rows=1000 9309928 9309928 1.00
vortex-file-compressed size/wide table cols=10000 chunks=1 rows=1000 93117928 93117928 1.00
vortex-file-compressed size/wide table cols=10000 chunks=50 rows=1000 93117928 93117928 1.00
vortex:parquet-zstd ratio compress time/Arade 0 0 1.10
vortex:parquet-zstd ratio compress time/Bimbo 0 0 0.99
vortex:parquet-zstd ratio compress time/CMSprovider 0 0 1.01
vortex:parquet-zstd ratio compress time/Euro2016 0 0 1.02
vortex:parquet-zstd ratio compress time/Food 0 0 0.91
vortex:parquet-zstd ratio compress time/HashTags 0 0 1.00
vortex:parquet-zstd ratio compress time/TPC-H l_comment canonical 0 0 0.99
vortex:parquet-zstd ratio compress time/TPC-H l_comment chunked 0 0 1.00
vortex:parquet-zstd ratio compress time/taxi 0 0 1.01
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=1 rows=1000 1 1 1.00
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=50 rows=1000 1 1 1.01
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=1 rows=1000 1 1 1.03
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=50 rows=1000 1 1 1.03
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=1 rows=1000 1 1 1.03
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=50 rows=1000 1 1 1.01
vortex:parquet-zstd ratio decompress time/Arade 0 0 1.00
vortex:parquet-zstd ratio decompress time/Bimbo 0 0 0.95
vortex:parquet-zstd ratio decompress time/CMSprovider 0 0 1.02
vortex:parquet-zstd ratio decompress time/Euro2016 🚨 0 0 1.11
vortex:parquet-zstd ratio decompress time/Food 0 0 0.93
vortex:parquet-zstd ratio decompress time/HashTags 0 0 1.00
vortex:parquet-zstd ratio decompress time/TPC-H l_comment canonical 0 0 0.91
vortex:parquet-zstd ratio decompress time/TPC-H l_comment chunked 0 0 0.96
vortex:parquet-zstd ratio decompress time/taxi 0 0 0.99
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=1 rows=1000 0 1 0.94
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=50 rows=1000 1 1 1.01
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=1 rows=1000 0 0 0.92
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=50 rows=1000 🚀 0 0 0.87
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=1 rows=1000 🚀 0 0 0.89
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=50 rows=1000 🚀 0 0 0.82
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

@joseph-isaacs joseph-isaacs added the action/benchmark Trigger full benchmarks to run on this PR label Jul 31, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Jul 31, 2026
claude added 3 commits July 31, 2026 11:24
The shared partitioner in vortex-array has six tests, all over a single
non-nullable scope. Nothing pins the properties that matter when folding
the struct layout's copy back into it: that partitioning preserves an
expression's dtype, that each partition type-checks in the scope it is
dispatched to, and that partitions are packed by annotation.

Add those, plus a characterization test for the nullable scope. That one
asserts today's *unsound* behaviour — the struct's own validity is
dropped and its nullability reappears on the fields — so that unifying
with the struct partitioner has to change it visibly rather than
silently. See #1907.

Signed-off-by: "Claude" <noreply@anthropic.com>
The row index reader partitions expressions into a row-index part and a
child part, but nothing tested that split directly — the only coverage
was three end-to-end evaluations, which pass regardless of how the
expression is divided up.

Add tests for each outcome: an expression that only touches the child, one
that only touches the row index (and is stepped down into its own scope by
replacing `row_idx()` with `$`), and one spanning both. The spanning case
also pins the packed partition shape, since that is what gives partitions
a struct dtype and so decides whether `PartitionedExprEval` evaluates them
as masks or as arrays.

Signed-off-by: "Claude" <noreply@anthropic.com>
The dict reader's pushdown tests only ever split expressions with a
single pushed sub-expression, so nothing covered the case the packed
partition shape exists for: several sub-expressions under one annotation,
read back by index. Nothing pinned the repeated-reference case either.

Add both, and give them the same apply-and-compare check the existing
multi-stage tests use, so they assert the semantics of the split and not
just its syntax. That check is now a helper taking the array under test,
since these cases need a struct rather than a string array.

Signed-off-by: "Claude" <noreply@anthropic.com>
claude added 4 commits July 31, 2026 11:44
Partitioning an expression is the same job everywhere it is done: annotate
each node with the slots it touches, cut out the maximal subtrees that
touch exactly one slot, and leave a root expression that re-assembles
them. What differs between callers is only how slots are named, whether
the expression needs rewriting into the scope's slots first, and how a
finished partition is stepped into the scope that evaluates it.

Introduce a `Partitioner` trait for exactly those three, all defaulted to
the identity, and rebuild the splitter around it. `partition` and
`partition_annotations` keep their signatures and become thin wrappers
over a partitioner that names slots by converting the annotation to a
field name and does nothing else, so their behaviour is unchanged.

Two details worth noting. The splitter now emits partitions in the order
slots were first encountered rather than in hash order, so partitioning
the same expression twice gives the same plan. And the shared code does
not optimize the expression before annotating it: where an expression is
simplified changes how finely it splits, so that belongs to `flatten`.

This is preparation for folding the struct layout's copy of the
partitioner back in; no caller changes behaviour yet.

Signed-off-by: "Claude" <noreply@anthropic.com>
The struct layout's partitioner keeps only what is specific to a struct
layout — flattening the scope into slot accesses, naming slots by index,
and stepping a partition down into its child's scope — and drives
vortex-array's splitter through the `Partitioner` trait for the rest. The
duplicated splitter, sub-expression naming and root fix-up are gone.

Two behaviours that were previously baked into the copy become explicit
opt-ins on the trait, so no other caller inherits them: unwrapping a
slot's single sub-expression out of its pack, and sharing identical
sub-expressions rather than evaluating one per reference. The struct
partitioner enables both, which is what keeps projecting a struct asking
each child for its own root and reads the validity once per expression.

Behaviour is unchanged: the partitioner, layout and file tests all pass
untouched.

Signed-off-by: "Claude" <noreply@anthropic.com>
The row index reader stepped its row-index partition down by hand, after
partitioning, by walking the finished partitions and replacing `row_idx()`
with `$`. That is exactly what `Partitioner::step_into` is for, so express
it there instead: the reader now declares a partitioner and the shared
code applies the step-down as each partition is built.

Signed-off-by: "Claude" <noreply@anthropic.com>
It is a `VTable` trait method rather than an inherent one, so the link
did not resolve.

Signed-off-by: "Claude" <noreply@anthropic.com>
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.

2 participants