Skip to content

Fix and speed up the V2 scan's planner chain - #10789

Open
joseph-isaacs wants to merge 30 commits into
developfrom
ji/vibrant-cray-rw57ni
Open

joseph-isaacs wants to merge 30 commits into
developfrom
ji/vibrant-cray-rw57ni

Conversation

@joseph-isaacs

@joseph-isaacs joseph-isaacs commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Fixes and perf work on the planner-driven V2 scan, found by dumping and timing real V2 scan plans for every TPC-H SF1 and SF10 query. The diff against develop is only this PR's changes.

What the plans showed:

  • Static predicates can't prune TPC-H. Zone pruning kept 100% of rows in every query, and V1 also keeps every row of the same files. A DuckDB pass over the data confirms that no 8192-row zone can be pruned for any TPC-H WHERE predicate. A proof costs about 1 ms per partition. Join-time dynamic filters are not pushed into Vortex at all (Support datafusion dynamic filter expressions #4034), which is a separate pruning opportunity (for example Q18 over the l_orderkey-sorted lineitem).
  • Planning is cheap: about 0.2 ms median per scan preparation.
  • Projection was the waste: each 64Ki-row window ran its own scan. Every window compiled its own plan and session, and the window's segments were decoded again for each scan.

Changes

  • Run chunks inline at concurrency one, each root on its own IO session.
    • Inline was gated on concurrency * cores <= 1, so each partition still ran a core's worth of chunks, about cores² chunks in flight overall.
    • Inline chunks shared one IO session, which retiring any root clears, so other chunks' in-flight reads were lost. Each admitted root now gets its own session.
  • Project a chunk on one scan, with a split and a batch per output window. The chunk compiles one plan and shares its reads and dictionary values across windows. Kernels run one window at a time, and each window's batch is yielded as soon as it has all its rows. New test: dense_chunk_yields_a_batch_per_window.
  • Build each scan cache entry once when several partitions miss it together, using per-key OnceCells. The worst case drops from 14 ms to about 1 ms.
  • Register a whole IO batch before polling any of its reads, so a coalescing source sees every announcement before a prefetch can issue.
  • Share the mask-driving loop of the filter and prune planners as MaskScan. A mask that is a single piece is no longer copied.
  • Optimizer:
    • Drop identity struct Evals left after pushing a projection into a Pack.
    • Reduce legacy stats straight to their data for data reads; only proofs need the zone conversion.
    • Check is_zone_proof's boolean dtype before walking the expression.
  • Size the scan for many cores:
    • A filtered V2 file scan keeps at least 256Ki rows per DataFusion partition (V2_MIN_ROWS_PER_PARTITION). An unfiltered scan keeps the engine's partitions, because every row it reads flows into the operators above it. Capping customer and part at SF10 made Q10 and Q14 13–17% slower; forcing them to one partition reproduces this locally. Test: v2_scan_keeps_partitions_unless_filtered.
    • A partition's scan concurrency is the cores divided by the partitions reading its file.
    • Filtered and projection chunks are sized so every chunk the scan runs at once has rows. Filtered chunks are 64Ki–1Mi rows; projection chunks are one 8Ki block up to 64Ki rows.

Benchmarks (CI, 96 cores, 6a4c019 vs develop)

DataFusion and DuckDB both run TPC-H on V2. The other suites run V1 and are neutral as expected.

Suite DataFusion on Vortex, hot Notes
TPC-H SF1 NVMe 0.886× 9 faster, 0 slower (Q19 −39%, Q12 −27%, Q21 −24%, Q08 −22%, Q04 −21%)
TPC-H SF10 NVMe 0.993× Q19 −20%; Q10 +0.1% (was +16.6%); Q14 +7.9% and Q15 +8.8%, below the suite's threshold
TPC-DS, ClickBench, FineWeb, PolarSignals ≈1.0× V1 path

DuckDB on Vortex is flat on TPC-H at both scales.

Checks run locally:

  • cargo clippy -p vortex-layout -p vortex-datafusion --all-targets --all-features -- -D warnings
  • pinned nightly cargo fmt --check for vortex-layout and vortex-datafusion
  • cargo test -p vortex-layout --lib: 675 passed, also with the default concurrency forced to 96
  • cargo test -p vortex-datafusion --lib: 774 passed

🤖 Generated with Claude Code

https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX

joseph-isaacs and others added 20 commits October 23, 2026 14:54
A `PreparedScan` holds a scan's plans over one file, built once from the
footer, and makes its planners; nothing in it touches a segment and no
planner plans again. The planners form a chain, each emitting the next
through the planning protocol:

- `PrunePlanner` proves the filter's zone maps over the scan's rows,
  prefetching the zone tables together, and emits one chunk planner for
  the rows no proof excludes. Rows a proof excludes are never planned.
- `ChunkPlanner` cuts those rows into chunks and emits a filter or a
  projection planner per chunk, skipping chunks nothing is selected or
  kept of. The run drives an emitted chunk ahead of the next, so chunks
  waiting on reads overlap.
- `FilterPlanner` prefetches its chunk's conjunct segments and announces
  the projection's at its first compute, runs the conjuncts in the
  adaptive order over the surviving rows, and emits the projection.
- `ProjectionPlanner` emits one morsel per piece of the rows.

A stage with nothing to do is never made: a filter without proofs starts
at the chunk planner, a scan without a filter at the projection.

A scan runs as one task owning one planning run, instead of one task and
run per split plus a private run for the proofs; `with_concurrency` sets
nothing. The IO session keeps every read it starts, so a later stage or
morsel of a chunk that reads the segment again shares the read. The
segments a stage prefetches come from compiling its plans.

DataFusion attaches each partition's rows from the cached footer when it
repartitions a file, so the V2 opener reads exactly those rows instead of
translating a byte range through the layout.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A scan reads a zoned column through the zoned node's data child and never
its zone table, yet the node and its zone table stayed in every optimized
data plan. A new `ZonedDataRule` replaces a zoned data plan by its data,
so an optimized plan carries a zone table only where a pruning proof
reads it. Legacy stats get the same treatment through `LegacyStatsRule`;
the rule that dropped legacy stats beneath a zoned plan is subsumed.

A zone proof over legacy stats depended on the converted zoned node
surviving child optimization. `ExpressionLegacyStatsRule` now converts
the legacy child under a proof directly, through the shared
`is_zone_proof` check, so the pruning rewrite still meets a zoned plan.

With zone tables gone from data plans, the identity projection is
optimized and cached like every other projection: chunked columns stay
lazy through `Concat::map_chunks`, and a projection-only scan no longer
lowers the zone tables it never reads.

(cherry picked from commit 91be25d)

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
DataFusion opens a file once per partition, so each partition lowered the
layout, planned the filter and proved the zone maps on its own. A scan
cache now keeps each distinct filter's plans along with the zones their
proofs excluded, and the opener keeps one cache per file that concurrent
partitions find through a weak handle and that the last scan holding it
frees. A prune planner skips the zone maps of a proof an earlier scan of
the file already proved: they are not read again.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
The stream a scan returns now owns the planning run and drives it as it
is polled. Every CPU step of the run, the planners' and morsels'
compute, is a `spawn_cpu` task; every read is already a `spawn_io` task
of the segment source; the stream's poll awaits one or the other and
does no scan work on the engine's thread. The scan advances only as fast
as its consumer pulls, so the task and channel that ran ahead of it go.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
A prune planner no longer knows about chunks or selections. It is built
with the planner it continues into, as a function of the rows its
proofs keep, and emits that planner with the kept mask once every proof
has run. `PreparedScan::planner` supplies the chunk planner.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…h other

A planner may now emit a child with `PlannerOutput::Spawn`: the run does
not queue it but hands it to its owner as `Progress::Spawn`, and the
planner continues at once. The owner runs it anywhere; the blocking
driver admits it as another root of the same run.

The chunk planner spawns every chunk. The scan's stream runs each on a
run and a session of its own, stepped on `spawn_cpu`, up to
`concurrency` chunks per worker thread at once, merging their batches as
they finish. A scan with fewer engine partitions than cores had lost the
parallelism of one task per split, 2 to 4 times slower on selective
queries with one partition; it is back, without a planner knowing about
threads.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Hints were deduplicated by scanning the batch for each segment, which is
quadratic in a chunk's segments: a wide projection over a filtered chunk
announces hundreds. A set of the segments seen replaces the scan.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
…es not

A spawned chunk runs on one task of the runtime that drives its run to
the end and awaits only its reads, instead of a `spawn_cpu` task per
step: a chunk's run waits for reads many times, and a hop at each wait
was latency on its critical path that no other chunk's work filled.

At a concurrency of one, chunks run on the scan's own run as further
roots: the run's steps already interleave their work, and a run, a
session and a task per chunk only added a hand-off per chunk, measured
at 2 to 3 percent on TPC-H, for parallelism the engine provides.
DataFusion sets the concurrency, unless configured, to the cores per
partition, so a scan over one partition per core runs its chunks inline
and a single-partition scan runs them beside each other.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
rustdoc rejects the explicit target as redundant now that `Run` is imported here.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vr65ZwPZz4LPjkvDA6ZUuE
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
…-planners

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

#10533 added `nested_empty_list_roundtrip` calling `ListArray::try_new`
without the `&mut ExecutionCtx` argument it now takes, which broke the
`vortex-file` test build on develop.

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

Picks up the ctutils bump for RUSTSEC-2026-0385. Conflicts with the
Eval(Eval()) and Eval(pack()) reduce rules from #10732 keep this branch's
ZonedDataRule and ExpressionLegacyStatsRule beside them, and the legacy
stats pruning test now expects the zones plan to reduce to a Pack.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BL868qtvZQwUKzuhNuWAS2
…n IO session

At one partition per core the opener passes a concurrency of one, but
inline was gated on concurrency times the core count, so every partition
ran a core's worth of chunks at once. Chunks admitted inline or spawned
inside a chunk now each get their own IO session, since retiring a root
clears its session's reads. Also logs how long preparing a scan takes.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
Polling each read as it was registered let the segment source issue a
prefetch before the announcements it could coalesce with existed.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
…gn projection windows

MaskScan drives a boolean plan and combines its pieces, taking a single
piece without copying. Dense projections are cut on the file's row grid
instead of from the trimmed chunk start, so writer chunks are not split
between two morsels.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
An Eval rebuilding every root field of a Pack in order is the identity.
Legacy stats only need converting to zones under a proof, which the
expression rule already handles; a data read reduces straight to data.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
Each 64Ki-row window of a chunk was a morsel with a scan of its own, so a
segment spanning several windows was decoded once per window. One morsel
now runs one scan per chunk with a split per window: segments are decoded
once, kernels run a window at a time, and a window's batch is yielded as
soon as it has all its rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
…57ni

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

# Conflicts:
#	vortex-layout/src/scan/execution/filter.rs
@joseph-isaacs joseph-isaacs added changelog/performance A performance improvement action/bench-sql Run SQL benchmarks without Vortex Compact on this PR labels Oct 26, 2026 — with Claude
@github-actions github-actions Bot removed the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026
@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done 6a4c019 clickbench-nvme 1 Explore Profiling Data
🟢 Done 6a4c019 polarsignals 1 Explore Profiling Data
🟢 Done 6a4c019 tpch-nvme-10 1 Explore Profiling Data
🟢 Done 6a4c019 fineweb 1 Explore Profiling Data
🟢 Done 6a4c019 tpcds-nvme 1 Explore Profiling Data
🟢 Done 6a4c019 tpch-nvme 1 Explore Profiling Data
🟢 Done 6a4c019 tpch-s3 1 Explore Profiling Data
Previous Runs (43)
Status Commit Job Attempt Link
🟢 Done 09d0360 clickbench-nvme 1 Explore Profiling Data
🟢 Done 09d0360 fineweb 1 Explore Profiling Data
🟢 Done 09d0360 polarsignals 1 Explore Profiling Data
🟢 Done 09d0360 tpch-nvme-10 1 Explore Profiling Data
🟢 Done 09d0360 tpch-s3 1 Explore Profiling Data
🟢 Done 09d0360 tpch-nvme 1 Explore Profiling Data
🟢 Done 09d0360 tpcds-nvme 1 Explore Profiling Data
🟢 Done c7d79cf tpcds-nvme 2 Explore Profiling Data
🟢 Done c7d79cf clickbench-nvme 1 Explore Profiling Data
🟢 Done c7d79cf fineweb 1 Explore Profiling Data
🟢 Done c7d79cf tpch-nvme-10 1 Explore Profiling Data
🟢 Done c7d79cf polarsignals 1 Explore Profiling Data
🟢 Done c7d79cf tpch-s3 1 Explore Profiling Data
🟢 Done c7d79cf tpch-nvme 1 Explore Profiling Data
🟢 Done c7d79cf tpcds-nvme 1 Explore Profiling Data
🟢 Done 5f20be0 clickbench-nvme 1 Explore Profiling Data
🟢 Done 5f20be0 polarsignals 1 Explore Profiling Data
🟢 Done 5f20be0 tpch-nvme-10 1 Explore Profiling Data
🟢 Done 5f20be0 tpch-s3 1 Explore Profiling Data
🟢 Done 5f20be0 fineweb 1 Explore Profiling Data
🟢 Done 5f20be0 tpch-nvme 1 Explore Profiling Data
🟢 Done 5f20be0 tpcds-nvme 1 Explore Profiling Data
🟢 Done 9b71061 clickbench-nvme 1 Explore Profiling Data
🟢 Done 9b71061 polarsignals 1 Explore Profiling Data
🟢 Done 9b71061 tpch-nvme-10 1 Explore Profiling Data
🟢 Done 9b71061 tpch-s3 1 Explore Profiling Data
🟢 Done 9b71061 tpcds-nvme 1 Explore Profiling Data
🟢 Done 9b71061 fineweb 1 Explore Profiling Data
🟢 Done 9b71061 tpch-nvme 1 Explore Profiling Data
🟢 Done cc817bf clickbench-nvme 2 Explore Profiling Data
🟢 Done cc817bf polarsignals 2 Explore Profiling Data
🟢 Done cc817bf tpch-nvme-10 2 Explore Profiling Data
🟢 Done cc817bf tpch-s3 2 Explore Profiling Data
🟢 Done cc817bf fineweb 2 Explore Profiling Data
🟢 Done cc817bf tpcds-nvme 2 Explore Profiling Data
🟢 Done cc817bf tpch-nvme 1 Explore Profiling Data
🟢 Done 166a50f clickbench-nvme 1 Explore Profiling Data
🟢 Done 166a50f polarsignals 1 Explore Profiling Data
🟢 Done 166a50f fineweb 1 Explore Profiling Data
🟢 Done 166a50f tpch-nvme-10 1 Explore Profiling Data
🟢 Done 166a50f tpch-s3 1 Explore Profiling Data
🟢 Done 166a50f tpch-nvme 1 Explore Profiling Data
🟢 Done 166a50f tpcds-nvme 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks: PolarSignals Profiling 📖

Commits: PR 6a4c019c vs base f476db42
Vortex (geomean): hot 0.990x ➖ · cold 1.033x ➖


datafusion / vortex-file-compressed / ns (0.990x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
polarsignals_q00/datafusion:vortex-file-compressed 44916720 / 44949807 / -0.1% 96677240 / 95446765 / +1.3% 0.46 / 0.47 / -1.3%
polarsignals_q01/datafusion:vortex-file-compressed 50544718 / 50787846 / -0.5% 120259038 / 115755217 / +3.9% 0.42 / 0.44 / -4.2%
polarsignals_q02/datafusion:vortex-file-compressed 43290018 / 43863468 / -1.3% 95087599 / 92664494 / +2.6% 0.46 / 0.47 / -3.8%
polarsignals_q03/datafusion:vortex-file-compressed 54224560 / 54657512 / -0.8% 120546471 / 118755249 / +1.5% 0.45 / 0.46 / -2.3%
polarsignals_q04/datafusion:vortex-file-compressed 9008627 / 9400066 / -4.2% 51789634 / 51317325 / +0.9% 0.17 / 0.18 / -5.0%
polarsignals_q05/datafusion:vortex-file-compressed 11887818 / 11895794 / -0.1% 55888957 / 52278412 / +6.9% 0.21 / 0.23 / -6.5%
polarsignals_q06/datafusion:vortex-file-compressed 23454150 / 23715047 / -1.1% 65170318 / 64005186 / +1.8% 0.36 / 0.37 / -2.9%
polarsignals_q07/datafusion:vortex-file-compressed 10769150 / 11105034 / -3.0% 55251987 / 51161031 / +8.0% 0.19 / 0.22 / -10.2%
polarsignals_q08/datafusion:vortex-file-compressed 97940361 / 98333967 / -0.4% 165701102 / 164348210 / +0.8% 0.59 / 0.60 / -1.2%
polarsignals_q09/datafusion:vortex-file-compressed 10112820 / 9933766 / +1.8% 51015272 / 48478557 / +5.2% 0.20 / 0.20 / -3.3%

No file size changes detected.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks: FineWeb NVMe 📖

Commits: PR 6a4c019c vs base f476db42
Verdict: No clear signal (low confidence)
Attributed Vortex impact: +1.1%
Engines: DataFusion No clear signal (+1.6%, low confidence) · DuckDB No clear signal (+0.6%, low confidence)
Vortex (geomean): hot 1.010x ➖ · cold 1.004x ➖
Parquet (geomean): hot 0.999x ➖ · cold 0.998x ➖
Shifts: Parquet (control) -0.1% · 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.
  • Hot vs cold: Every measurement is run several times. The first run is reported as the cold run, and the median of the runs after it is reported as the hot run. The verdict and significance use hot runs; each target's geomean reports hot and cold beside each other where the individual runs were recorded and hot alone where they were not, the cold column shows first-run cost per row, and hot/cold is how much of each run the warm path saves. Rows whose results predate per-run reporting show only one value, taken from the value the runner reported.
  • Table cells: Each cell reads PR / base / %diff. The hot and cold columns mark a change as 🔴 slower or 🟢 faster once it clears this suite's threshold; anything smaller is noise here and is left unmarked, as is hot/cold, because a shift in the warm-up ratio is not a win or a loss by itself.

datafusion / vortex-file-compressed / ns (1.017x ➖, 0↑ 1↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
fineweb_q00/datafusion:vortex-file-compressed 6891280 / 6937470 / -0.7% 15859675 / 16234002 / -2.3% 0.43 / 0.43 / +1.7%
fineweb_q01/datafusion:vortex-file-compressed 7077618 / 7138858 / -0.9% 44398592 / 43293881 / +2.6% 0.16 / 0.16 / -3.3%
fineweb_q02/datafusion:vortex-file-compressed 9797101 / 9307926 / +5.3% 52059166 / 49386338 / +5.4% 0.19 / 0.19 / -0.1%
fineweb_q03/datafusion:vortex-file-compressed 20053552 / 20665096 / -3.0% 108267528 / 106779152 / +1.4% 0.19 / 0.19 / -4.3%
fineweb_q04/datafusion:vortex-file-compressed 66388037 / 66777418 / -0.6% 154417194 / 150800193 / +2.4% 0.43 / 0.44 / -2.9%
fineweb_q05/datafusion:vortex-file-compressed 67487942 / 67256060 / +0.3% 152685936 / 146042644 / +4.5% 0.44 / 0.46 / -4.0%
fineweb_q06/datafusion:vortex-file-compressed 19075138 / 19233203 / -0.8% 114168332 / 109781958 / +4.0% 0.17 / 0.18 / -4.6%
fineweb_q07/datafusion:vortex-file-compressed 18449778 / 18192877 / +1.4% 105182253 / 108225049 / -2.8% 0.18 / 0.17 / +4.3%
fineweb_q08/datafusion:vortex-file-compressed 10257477 / 8856683 / +15.8% 🔴 39787190 / 48441970 / -17.9% 🟢 0.26 / 0.18 / +41.0%
datafusion / parquet / ns (1.001x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
fineweb_q00/datafusion:parquet 9525432 / 9297114 / +2.5% 32015964 / 32861309 / -2.6% 0.30 / 0.28 / +5.2%
fineweb_q01/datafusion:parquet 74338018 / 74560748 / -0.3% 161605267 / 161967565 / -0.2% 0.46 / 0.46 / -0.1%
fineweb_q02/datafusion:parquet 75856398 / 76459873 / -0.8% 155194181 / 161317741 / -3.8% 0.49 / 0.47 / +3.1%
fineweb_q03/datafusion:parquet 74277195 / 74375784 / -0.1% 154013184 / 158132095 / -2.6% 0.48 / 0.47 / +2.5%
fineweb_q04/datafusion:parquet 81767068 / 82410349 / -0.8% 158724539 / 161684644 / -1.8% 0.52 / 0.51 / +1.1%
fineweb_q05/datafusion:parquet 80562556 / 80324832 / +0.3% 159954702 / 158815566 / +0.7% 0.50 / 0.51 / -0.4%
fineweb_q06/datafusion:parquet 76105670 / 75586196 / +0.7% 160441203 / 159255717 / +0.7% 0.47 / 0.47 / -0.1%
fineweb_q07/datafusion:parquet 74691476 / 74100803 / +0.8% 163935989 / 152409300 / +7.6% 0.46 / 0.49 / -6.3%
fineweb_q08/datafusion:parquet 73219998 / 74016132 / -1.1% 164152718 / 156119833 / +5.1% 0.45 / 0.47 / -5.9%
duckdb / vortex-file-compressed / ns (1.003x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
fineweb_q00/duckdb:vortex-file-compressed 1998431 / 2028465 / -1.5% 7438422 / 7025751 / +5.9% 0.27 / 0.29 / -6.9%
fineweb_q01/duckdb:vortex-file-compressed 9958664 / 9504888 / +4.8% 33698283 / 33745178 / -0.1% 0.30 / 0.28 / +4.9%
fineweb_q02/duckdb:vortex-file-compressed 10901812 / 10671478 / +2.2% 37754162 / 36903055 / +2.3% 0.29 / 0.29 / -0.1%
fineweb_q03/duckdb:vortex-file-compressed 18943134 / 18969330 / -0.1% 105107346 / 101752881 / +3.3% 0.18 / 0.19 / -3.3%
fineweb_q04/duckdb:vortex-file-compressed 67976376 / 68274388 / -0.4% 116895119 / 119163610 / -1.9% 0.58 / 0.57 / +1.5%
fineweb_q05/duckdb:vortex-file-compressed 66302757 / 66550680 / -0.4% 115480210 / 113369990 / +1.9% 0.57 / 0.59 / -2.2%
fineweb_q06/duckdb:vortex-file-compressed 19005946 / 19357892 / -1.8% 102681135 / 108231068 / -5.1% 0.19 / 0.18 / +3.5%
fineweb_q07/duckdb:vortex-file-compressed 18483163 / 19014442 / -2.8% 98937912 / 87026666 / +13.7% 🔴 0.19 / 0.22 / -14.5%
fineweb_q08/duckdb:vortex-file-compressed 5318250 / 5156960 / +3.1% 13241437 / 14244320 / -7.0% 0.40 / 0.36 / +10.9%
duckdb / parquet / ns (0.997x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
fineweb_q00/duckdb:parquet 23759048 / 24052346 / -1.2% 28269831 / 31493753 / -10.2% 🟢 0.84 / 0.76 / +10.0%
fineweb_q01/duckdb:parquet 56113818 / 55871940 / +0.4% 80041820 / 76536633 / +4.6% 0.70 / 0.73 / -4.0%
fineweb_q02/duckdb:parquet 60483240 / 61188803 / -1.2% 82756216 / 83098514 / -0.4% 0.73 / 0.74 / -0.7%
fineweb_q03/duckdb:parquet 117323811 / 118482960 / -1.0% 189510670 / 189504473 / +0.0% 0.62 / 0.63 / -1.0%
fineweb_q04/duckdb:parquet 161754867 / 162687413 / -0.6% 214119162 / 218093618 / -1.8% 0.76 / 0.75 / +1.3%
fineweb_q05/duckdb:parquet 158253954 / 158071640 / +0.1% 206367896 / 200023116 / +3.2% 0.77 / 0.79 / -3.0%
fineweb_q06/duckdb:parquet 89770270 / 87463512 / +2.6% 160150955 / 154616953 / +3.6% 0.56 / 0.57 / -0.9%
fineweb_q07/duckdb:parquet 91498220 / 92585044 / -1.2% 145197721 / 150901954 / -3.8% 0.63 / 0.61 / +2.7%
fineweb_q08/duckdb:parquet 29899528 / 30059949 / -0.5% 31458891 / 31434220 / +0.1% 0.95 / 0.96 / -0.6%

No file size changes detected.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on NVME 📖

Commits: PR 6a4c019c vs base f476db42
Verdict: No clear signal (low confidence)
Attributed Vortex impact: -6.2%
Engines: DataFusion Likely improvement (-11.3%, medium confidence) · DuckDB No clear signal (-0.8%, low confidence)
Vortex (geomean): hot 0.936x ➖ · cold 0.955x ➖
Parquet (geomean): hot 0.998x ➖ · cold 0.980x ➖
Shifts: Parquet (control) -0.2% · 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.
  • Hot vs cold: Every measurement is run several times. The first run is reported as the cold run, and the median of the runs after it is reported as the hot run. The verdict and significance use hot runs; each target's geomean reports hot and cold beside each other where the individual runs were recorded and hot alone where they were not, the cold column shows first-run cost per row, and hot/cold is how much of each run the warm path saves. Rows whose results predate per-run reporting show only one value, taken from the value the runner reported.
  • Table cells: Each cell reads PR / base / %diff. The hot and cold columns mark a change as 🔴 slower or 🟢 faster once it clears this suite's threshold; anything smaller is noise here and is left unmarked, as is hot/cold, because a shift in the warm-up ratio is not a win or a loss by itself.

datafusion / vortex-file-compressed / ns (0.886x ✅, 9↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/datafusion:vortex-file-compressed 16118778 / 17536930 / -8.1% 42576498 / 46254536 / -8.0% 0.38 / 0.38 / -0.1%
tpch_q02/datafusion:vortex-file-compressed 17826757 / 17825566 / +0.0% 35220485 / 35969031 / -2.1% 0.51 / 0.50 / +2.1%
tpch_q03/datafusion:vortex-file-compressed 20356581 / 22186681 / -8.2% 44596825 / 49836993 / -10.5% 🟢 0.46 / 0.45 / +2.5%
tpch_q04/datafusion:vortex-file-compressed 10494689 / 13306890 / -21.1% 🟢 30583348 / 35316092 / -13.4% 🟢 0.34 / 0.38 / -8.9%
tpch_q05/datafusion:vortex-file-compressed 34785221 / 39715599 / -12.4% 🟢 62676145 / 68806462 / -8.9% 0.55 / 0.58 / -3.8%
tpch_q06/datafusion:vortex-file-compressed 6938639 / 8612059 / -19.4% 🟢 26677029 / 29550190 / -9.7% 0.26 / 0.29 / -10.8%
tpch_q07/datafusion:vortex-file-compressed 46507563 / 55031302 / -15.5% 🟢 74643564 / 81066643 / -7.9% 0.62 / 0.68 / -8.2%
tpch_q08/datafusion:vortex-file-compressed 43234204 / 55340851 / -21.9% 🟢 73399004 / 77224376 / -5.0% 0.59 / 0.72 / -17.8%
tpch_q09/datafusion:vortex-file-compressed 49724720 / 49366686 / +0.7% 83708725 / 80864767 / +3.5% 0.59 / 0.61 / -2.7%
tpch_q10/datafusion:vortex-file-compressed 18228608 / 20188353 / -9.7% 49849274 / 49526947 / +0.7% 0.37 / 0.41 / -10.3%
tpch_q11/datafusion:vortex-file-compressed 14707306 / 15233456 / -3.5% 33163115 / 34428627 / -3.7% 0.44 / 0.44 / +0.2%
tpch_q12/datafusion:vortex-file-compressed 18568096 / 25292811 / -26.6% 🟢 38889513 / 44113681 / -11.8% 🟢 0.48 / 0.57 / -16.7%
tpch_q13/datafusion:vortex-file-compressed 20489980 / 21000327 / -2.4% 37087930 / 42981743 / -13.7% 🟢 0.55 / 0.49 / +13.1%
tpch_q14/datafusion:vortex-file-compressed 12099699 / 15134720 / -20.1% 🟢 33763167 / 40772780 / -17.2% 🟢 0.36 / 0.37 / -3.5%
tpch_q15/datafusion:vortex-file-compressed 21136248 / 21098039 / +0.2% 44503050 / 46126385 / -3.5% 0.47 / 0.46 / +3.8%
tpch_q16/datafusion:vortex-file-compressed 19532898 / 18435005 / +6.0% 40559691 / 42091128 / -3.6% 0.48 / 0.44 / +10.0%
tpch_q17/datafusion:vortex-file-compressed 28629071 / 29799267 / -3.9% 55843921 / 58165781 / -4.0% 0.51 / 0.51 / +0.1%
tpch_q18/datafusion:vortex-file-compressed 36975512 / 37947742 / -2.6% 55932642 / 58356077 / -4.2% 0.66 / 0.65 / +1.7%
tpch_q19/datafusion:vortex-file-compressed 11528209 / 18886971 / -39.0% 🟢 36124757 / 38742984 / -6.8% 0.32 / 0.49 / -34.5%
tpch_q20/datafusion:vortex-file-compressed 21623384 / 22988787 / -5.9% 46969356 / 47286125 / -0.7% 0.46 / 0.49 / -5.3%
tpch_q21/datafusion:vortex-file-compressed 33957928 / 44671888 / -24.0% 🟢 62657584 / 72298660 / -13.3% 🟢 0.54 / 0.62 / -12.3%
tpch_q22/datafusion:vortex-file-compressed 11339285 / 11078337 / +2.4% 30611512 / 31746443 / -3.6% 0.37 / 0.35 / +6.2%
datafusion / parquet / ns (0.999x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/datafusion:parquet 72018031 / 71930212 / +0.1% 87939726 / 88946142 / -1.1% 0.82 / 0.81 / +1.3%
tpch_q02/datafusion:parquet 76183074 / 76140814 / +0.1% 91860105 / 94825304 / -3.1% 0.83 / 0.80 / +3.3%
tpch_q03/datafusion:parquet 84212996 / 83753495 / +0.5% 104099491 / 108309529 / -3.9% 0.81 / 0.77 / +4.6%
tpch_q04/datafusion:parquet 40429867 / 40890278 / -1.1% 57944952 / 60250202 / -3.8% 0.70 / 0.68 / +2.8%
tpch_q05/datafusion:parquet 112795936 / 113215660 / -0.4% 136108180 / 141662024 / -3.9% 0.83 / 0.80 / +3.7%
tpch_q06/datafusion:parquet 32253067 / 32072153 / +0.6% 48038271 / 50198587 / -4.3% 0.67 / 0.64 / +5.1%
tpch_q07/datafusion:parquet 115504608 / 114956309 / +0.5% 139204083 / 144091310 / -3.4% 0.83 / 0.80 / +4.0%
tpch_q08/datafusion:parquet 119993980 / 119448555 / +0.5% 145386811 / 147619506 / -1.5% 0.83 / 0.81 / +2.0%
tpch_q09/datafusion:parquet 140269290 / 140454047 / -0.1% 168655395 / 170450448 / -1.1% 0.83 / 0.82 / +0.9%
tpch_q10/datafusion:parquet 107747593 / 107036843 / +0.7% 130403818 / 131306268 / -0.7% 0.83 / 0.82 / +1.4%
tpch_q11/datafusion:parquet 60915242 / 61731330 / -1.3% 81426313 / 83920733 / -3.0% 0.75 / 0.74 / +1.7%
tpch_q12/datafusion:parquet 65606191 / 65590878 / +0.0% 83749201 / 86615316 / -3.3% 0.78 / 0.76 / +3.4%
tpch_q13/datafusion:parquet 147275563 / 147439038 / -0.1% 164322371 / 167843099 / -2.1% 0.90 / 0.88 / +2.0%
tpch_q14/datafusion:parquet 47849585 / 48093104 / -0.5% 70484115 / 73186205 / -3.7% 0.68 / 0.66 / +3.3%
tpch_q15/datafusion:parquet 74932237 / 75001344 / -0.1% 96429290 / 96060042 / +0.4% 0.78 / 0.78 / -0.5%
tpch_q16/datafusion:parquet 43548165 / 43967835 / -1.0% 60736169 / 62855500 / -3.4% 0.72 / 0.70 / +2.5%
tpch_q17/datafusion:parquet 123262850 / 124063918 / -0.6% 143876349 / 150020983 / -4.1% 0.86 / 0.83 / +3.6%
tpch_q18/datafusion:parquet 123777539 / 124114352 / -0.3% 141200271 / 141805905 / -0.4% 0.88 / 0.88 / +0.2%
tpch_q19/datafusion:parquet 57856539 / 57993059 / -0.2% 81593051 / 84848296 / -3.8% 0.71 / 0.68 / +3.7%
tpch_q20/datafusion:parquet 79714805 / 79450914 / +0.3% 103667068 / 106713291 / -2.9% 0.77 / 0.74 / +3.3%
tpch_q21/datafusion:parquet 116658612 / 117366866 / -0.6% 142665058 / 142597100 / +0.0% 0.82 / 0.82 / -0.7%
tpch_q22/datafusion:parquet 52293731 / 52181562 / +0.2% 68820273 / 71859007 / -4.2% 0.76 / 0.73 / +4.6%
duckdb / vortex-file-compressed / ns (0.989x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/duckdb:vortex-file-compressed 8686568 / 9270616 / -6.3% 19032832 / 20129594 / -5.4% 0.46 / 0.46 / -0.9%
tpch_q02/duckdb:vortex-file-compressed 15225283 / 14971035 / +1.7% 22950663 / 24192171 / -5.1% 0.66 / 0.62 / +7.2%
tpch_q03/duckdb:vortex-file-compressed 18001389 / 18129720 / -0.7% 31872843 / 33104976 / -3.7% 0.56 / 0.55 / +3.1%
tpch_q04/duckdb:vortex-file-compressed 11972070 / 12527560 / -4.4% 23544699 / 25340994 / -7.1% 0.51 / 0.49 / +2.9%
tpch_q05/duckdb:vortex-file-compressed 20159326 / 20851490 / -3.3% 31407006 / 32040642 / -2.0% 0.64 / 0.65 / -1.4%
tpch_q06/duckdb:vortex-file-compressed 4417151 / 4439244 / -0.5% 13645754 / 13473491 / +1.3% 0.32 / 0.33 / -1.8%
tpch_q07/duckdb:vortex-file-compressed 23676029 / 23635622 / +0.2% 38161074 / 39623684 / -3.7% 0.62 / 0.60 / +4.0%
tpch_q08/duckdb:vortex-file-compressed 20373323 / 20751506 / -1.8% 36652937 / 37202226 / -1.5% 0.56 / 0.56 / -0.4%
tpch_q09/duckdb:vortex-file-compressed 21042765 / 20833413 / +1.0% 35811430 / 35702872 / +0.3% 0.59 / 0.58 / +0.7%
tpch_q10/duckdb:vortex-file-compressed 26657016 / 26880201 / -0.8% 39467877 / 41642268 / -5.2% 0.68 / 0.65 / +4.6%
tpch_q11/duckdb:vortex-file-compressed 7729840 / 7934370 / -2.6% 15367896 / 15864905 / -3.1% 0.50 / 0.50 / +0.6%
tpch_q12/duckdb:vortex-file-compressed 14011285 / 13895043 / +0.8% 24756018 / 25906673 / -4.4% 0.57 / 0.54 / +5.5%
tpch_q13/duckdb:vortex-file-compressed 22953585 / 23370814 / -1.8% 31555578 / 32929149 / -4.2% 0.73 / 0.71 / +2.5%
tpch_q14/duckdb:vortex-file-compressed 11890374 / 11469535 / +3.7% 23042872 / 22403954 / +2.9% 0.52 / 0.51 / +0.8%
tpch_q15/duckdb:vortex-file-compressed 8290771 / 8425691 / -1.6% 19606275 / 20019173 / -2.1% 0.42 / 0.42 / +0.5%
tpch_q16/duckdb:vortex-file-compressed 16488648 / 16479415 / +0.1% 23138302 / 22906208 / +1.0% 0.71 / 0.72 / -0.9%
tpch_q17/duckdb:vortex-file-compressed 11978338 / 12146998 / -1.4% 24502678 / 24158704 / +1.4% 0.49 / 0.50 / -2.8%
tpch_q18/duckdb:vortex-file-compressed 23401695 / 24793056 / -5.6% 32739944 / 34556124 / -5.3% 0.71 / 0.72 / -0.4%
tpch_q19/duckdb:vortex-file-compressed 10214744 / 10280774 / -0.6% 21013786 / 21309277 / -1.4% 0.49 / 0.48 / +0.8%
tpch_q20/duckdb:vortex-file-compressed 13690627 / 13631049 / +0.4% 28261707 / 27860350 / +1.4% 0.48 / 0.49 / -1.0%
tpch_q21/duckdb:vortex-file-compressed 36301977 / 36586028 / -0.8% 52480700 / 54706278 / -4.1% 0.69 / 0.67 / +3.4%
tpch_q22/duckdb:vortex-file-compressed 19102441 / 19070090 / +0.2% 28965822 / 28023691 / +3.4% 0.66 / 0.68 / -3.1%
duckdb / parquet / ns (0.997x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/duckdb:parquet 48260194 / 48329585 / -0.1% 54508693 / 55937258 / -2.6% 0.89 / 0.86 / +2.5%
tpch_q02/duckdb:parquet 48622568 / 48694875 / -0.1% 56245269 / 55920989 / +0.6% 0.86 / 0.87 / -0.7%
tpch_q03/duckdb:parquet 60673856 / 60838726 / -0.3% 68925142 / 69592516 / -1.0% 0.88 / 0.87 / +0.7%
tpch_q04/duckdb:parquet 35057270 / 35260078 / -0.6% 43101104 / 44174381 / -2.4% 0.81 / 0.80 / +1.9%
tpch_q05/duckdb:parquet 67652419 / 67915069 / -0.4% 76879735 / 77881162 / -1.3% 0.88 / 0.87 / +0.9%
tpch_q06/duckdb:parquet 21935793 / 22351152 / -1.9% 26676805 / 27911732 / -4.4% 0.82 / 0.80 / +2.7%
tpch_q07/duckdb:parquet 64397626 / 64644517 / -0.4% 73484034 / 75114350 / -2.2% 0.88 / 0.86 / +1.8%
tpch_q08/duckdb:parquet 76194762 / 76502633 / -0.4% 87646793 / 88252547 / -0.7% 0.87 / 0.87 / +0.3%
tpch_q09/duckdb:parquet 108297889 / 108686875 / -0.4% 119526039 / 120195255 / -0.6% 0.91 / 0.90 / +0.2%
tpch_q10/duckdb:parquet 106222078 / 106688320 / -0.4% 117212712 / 119248493 / -1.7% 0.91 / 0.89 / +1.3%
tpch_q11/duckdb:parquet 29753283 / 29887784 / -0.5% 35319236 / 35925060 / -1.7% 0.84 / 0.83 / +1.3%
tpch_q12/duckdb:parquet 37898362 / 38121935 / -0.6% 44786545 / 45747914 / -2.1% 0.85 / 0.83 / +1.5%
tpch_q13/duckdb:parquet 175611212 / 176083404 / -0.3% 181565439 / 184701906 / -1.7% 0.97 / 0.95 / +1.5%
tpch_q14/duckdb:parquet 42741829 / 42494892 / +0.6% 51151632 / 52629272 / -2.8% 0.84 / 0.81 / +3.5%
tpch_q15/duckdb:parquet 33133577 / 32929011 / +0.6% 41376281 / 41960150 / -1.4% 0.80 / 0.78 / +2.0%
tpch_q16/duckdb:parquet 47504858 / 47901490 / -0.8% 53402664 / 53680465 / -0.5% 0.89 / 0.89 / -0.3%
tpch_q17/duckdb:parquet 48279801 / 48151013 / +0.3% 57959282 / 58664278 / -1.2% 0.83 / 0.82 / +1.5%
tpch_q18/duckdb:parquet 74210230 / 74877525 / -0.9% 80089572 / 82114293 / -2.5% 0.93 / 0.91 / +1.6%
tpch_q19/duckdb:parquet 48556361 / 48264274 / +0.6% 57144639 / 56225109 / +1.6% 0.85 / 0.86 / -1.0%
tpch_q20/duckdb:parquet 63654480 / 64022929 / -0.6% 73521006 / 74463078 / -1.3% 0.87 / 0.86 / +0.7%
tpch_q21/duckdb:parquet 107225927 / 107920503 / -0.6% 117043251 / 117943943 / -0.8% 0.92 / 0.92 / +0.1%
tpch_q22/duckdb:parquet 50966596 / 51164013 / -0.4% 59183344 / 59893383 / -1.2% 0.86 / 0.85 / +0.8%

No file size changes detected.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=10 on NVME 📖

Commits: PR 6a4c019c vs base f476db42
Verdict: No clear signal (low confidence)
Attributed Vortex impact: -0.2%
Engines: DataFusion No clear signal (-0.6%, low confidence) · DuckDB No clear signal (+0.2%, low confidence)
Vortex (geomean): hot 0.996x ➖ · cold 0.992x ➖
Parquet (geomean): hot 0.998x ➖ · cold 0.998x ➖
Shifts: Parquet (control) -0.2% · Median polish -0.2%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.
  • Hot vs cold: Every measurement is run several times. The first run is reported as the cold run, and the median of the runs after it is reported as the hot run. The verdict and significance use hot runs; each target's geomean reports hot and cold beside each other where the individual runs were recorded and hot alone where they were not, the cold column shows first-run cost per row, and hot/cold is how much of each run the warm path saves. Rows whose results predate per-run reporting show only one value, taken from the value the runner reported.
  • Table cells: Each cell reads PR / base / %diff. The hot and cold columns mark a change as 🔴 slower or 🟢 faster once it clears this suite's threshold; anything smaller is noise here and is left unmarked, as is hot/cold, because a shift in the warm-up ratio is not a win or a loss by itself.

datafusion / vortex-file-compressed / ns (0.993x ➖, 1↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/datafusion:vortex-file-compressed 93158253 / 90659359 / +2.8% 150369098 / 144894247 / +3.8% 0.62 / 0.63 / -1.0%
tpch_q02/datafusion:vortex-file-compressed 63211496 / 67276943 / -6.0% 99547057 / 102387578 / -2.8% 0.63 / 0.66 / -3.4%
tpch_q03/datafusion:vortex-file-compressed 63978755 / 67263903 / -4.9% 112911847 / 112260169 / +0.6% 0.57 / 0.60 / -5.4%
tpch_q04/datafusion:vortex-file-compressed 36506779 / 35965699 / +1.5% 72398907 / 73604097 / -1.6% 0.50 / 0.49 / +3.2%
tpch_q05/datafusion:vortex-file-compressed 123196811 / 119371891 / +3.2% 176921919 / 176013325 / +0.5% 0.70 / 0.68 / +2.7%
tpch_q06/datafusion:vortex-file-compressed 12106827 / 12063141 / +0.4% 60168518 / 58003647 / +3.7% 0.20 / 0.21 / -3.2%
tpch_q07/datafusion:vortex-file-compressed 141830846 / 133040193 / +6.6% 208033324 / 193530903 / +7.5% 0.68 / 0.69 / -0.8%
tpch_q08/datafusion:vortex-file-compressed 137887369 / 143835356 / -4.1% 205250772 / 214704940 / -4.4% 0.67 / 0.67 / +0.3%
tpch_q09/datafusion:vortex-file-compressed 189982008 / 186405485 / +1.9% 272930105 / 270041843 / +1.1% 0.70 / 0.69 / +0.8%
tpch_q10/datafusion:vortex-file-compressed 75092802 / 75019303 / +0.1% 140361959 / 140839772 / -0.3% 0.53 / 0.53 / +0.4%
tpch_q11/datafusion:vortex-file-compressed 44432200 / 45285115 / -1.9% 67702340 / 71810344 / -5.7% 0.66 / 0.63 / +4.1%
tpch_q12/datafusion:vortex-file-compressed 39654149 / 38021751 / +4.3% 79998389 / 77625282 / +3.1% 0.50 / 0.49 / +1.2%
tpch_q13/datafusion:vortex-file-compressed 43424274 / 44077588 / -1.5% 74813174 / 77215693 / -3.1% 0.58 / 0.57 / +1.7%
tpch_q14/datafusion:vortex-file-compressed 24574656 / 22769472 / +7.9% 89068021 / 83446147 / +6.7% 0.28 / 0.27 / +1.1%
tpch_q15/datafusion:vortex-file-compressed 38313686 / 35229472 / +8.8% 95388543 / 90054848 / +5.9% 0.40 / 0.39 / +2.7%
tpch_q16/datafusion:vortex-file-compressed 39979342 / 40162163 / -0.5% 88958962 / 72024273 / +23.5% 🔴 0.45 / 0.56 / -19.4%
tpch_q17/datafusion:vortex-file-compressed 175273534 / 178864842 / -2.0% 223543946 / 233815564 / -4.4% 0.78 / 0.76 / +2.5%
tpch_q18/datafusion:vortex-file-compressed 212834469 / 209306653 / +1.7% 275950904 / 263496637 / +4.7% 0.77 / 0.79 / -2.9%
tpch_q19/datafusion:vortex-file-compressed 27823675 / 34760155 / -20.0% 🟢 78712721 / 88987528 / -11.5% 🟢 0.35 / 0.39 / -9.5%
tpch_q20/datafusion:vortex-file-compressed 61048054 / 64381773 / -5.2% 116714949 / 118622063 / -1.6% 0.52 / 0.54 / -3.6%
tpch_q21/datafusion:vortex-file-compressed 182774563 / 184016886 / -0.7% 242541442 / 266331621 / -8.9% 0.75 / 0.69 / +9.1%
tpch_q22/datafusion:vortex-file-compressed 26719339 / 27826869 / -4.0% 52561800 / 55062253 / -4.5% 0.51 / 0.51 / +0.6%
datafusion / parquet / ns (0.999x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/datafusion:parquet 88408124 / 88413223 / -0.0% 132270657 / 132799772 / -0.4% 0.67 / 0.67 / +0.4%
tpch_q02/datafusion:parquet 175639650 / 175257129 / +0.2% 200147439 / 208064210 / -3.8% 0.88 / 0.84 / +4.2%
tpch_q03/datafusion:parquet 137375893 / 138400685 / -0.7% 192459392 / 185085690 / +4.0% 0.71 / 0.75 / -4.5%
tpch_q04/datafusion:parquet 59396859 / 58903953 / +0.8% 95417372 / 96547191 / -1.2% 0.62 / 0.61 / +2.0%
tpch_q05/datafusion:parquet 170884389 / 170510399 / +0.2% 235818813 / 239534683 / -1.6% 0.72 / 0.71 / +1.8%
tpch_q06/datafusion:parquet 36929324 / 37378150 / -1.2% 80908108 / 83497399 / -3.1% 0.46 / 0.45 / +2.0%
tpch_q07/datafusion:parquet 218187344 / 220415685 / -1.0% 275707242 / 276497416 / -0.3% 0.79 / 0.80 / -0.7%
tpch_q08/datafusion:parquet 223628732 / 223349823 / +0.1% 291782572 / 288773896 / +1.0% 0.77 / 0.77 / -0.9%
tpch_q09/datafusion:parquet 314381221 / 314323078 / +0.0% 384313779 / 379652954 / +1.2% 0.82 / 0.83 / -1.2%
tpch_q10/datafusion:parquet 320782965 / 320422560 / +0.1% 392741192 / 381925624 / +2.8% 0.82 / 0.84 / -2.6%
tpch_q11/datafusion:parquet 127077507 / 126310695 / +0.6% 149596273 / 153011354 / -2.2% 0.85 / 0.83 / +2.9%
tpch_q12/datafusion:parquet 84465357 / 84948545 / -0.6% 127745193 / 122677172 / +4.1% 0.66 / 0.69 / -4.5%
tpch_q13/datafusion:parquet 216219184 / 216773907 / -0.3% 249360706 / 244958284 / +1.8% 0.87 / 0.88 / -2.0%
tpch_q14/datafusion:parquet 89083803 / 88368892 / +0.8% 194454480 / 196153396 / -0.9% 0.46 / 0.45 / +1.7%
tpch_q15/datafusion:parquet 106807156 / 107048773 / -0.2% 161070170 / 158149346 / +1.8% 0.66 / 0.68 / -2.0%
tpch_q16/datafusion:parquet 96313917 / 96075193 / +0.2% 123352286 / 123235759 / +0.1% 0.78 / 0.78 / +0.2%
tpch_q17/datafusion:parquet 213274751 / 214220622 / -0.4% 261752748 / 269995639 / -3.1% 0.81 / 0.79 / +2.7%
tpch_q18/datafusion:parquet 270748533 / 271281306 / -0.2% 316463046 / 319565357 / -1.0% 0.86 / 0.85 / +0.8%
tpch_q19/datafusion:parquet 109367561 / 109307704 / +0.1% 163699184 / 167628912 / -2.3% 0.67 / 0.65 / +2.5%
tpch_q20/datafusion:parquet 190125388 / 189460286 / +0.4% 246944328 / 249855672 / -1.2% 0.77 / 0.76 / +1.5%
tpch_q21/datafusion:parquet 248550158 / 247764251 / +0.3% 316091588 / 313352650 / +0.9% 0.79 / 0.79 / -0.6%
tpch_q22/datafusion:parquet 153694776 / 154525914 / -0.5% 179625361 / 178565832 / +0.6% 0.86 / 0.87 / -1.1%
duckdb / vortex-file-compressed / ns (0.998x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/duckdb:vortex-file-compressed 33787932 / 33255061 / +1.6% 67074044 / 77475849 / -13.4% 🟢 0.50 / 0.43 / +17.4%
tpch_q02/duckdb:vortex-file-compressed 30868277 / 31296298 / -1.4% 43630166 / 45434144 / -4.0% 0.71 / 0.69 / +2.7%
tpch_q03/duckdb:vortex-file-compressed 52788181 / 53109992 / -0.6% 104175549 / 102852521 / +1.3% 0.51 / 0.52 / -1.9%
tpch_q04/duckdb:vortex-file-compressed 50651459 / 51438011 / -1.5% 86445673 / 88980341 / -2.8% 0.59 / 0.58 / +1.4%
tpch_q05/duckdb:vortex-file-compressed 67184215 / 68022754 / -1.2% 107457150 / 107430782 / +0.0% 0.63 / 0.63 / -1.3%
tpch_q06/duckdb:vortex-file-compressed 14312875 / 14630407 / -2.2% 51297347 / 54524569 / -5.9% 0.28 / 0.27 / +4.0%
tpch_q07/duckdb:vortex-file-compressed 55162459 / 54507220 / +1.2% 112414011 / 108117711 / +4.0% 0.49 / 0.50 / -2.7%
tpch_q08/duckdb:vortex-file-compressed 86246157 / 87041602 / -0.9% 133501547 / 133430902 / +0.1% 0.65 / 0.65 / -1.0%
tpch_q09/duckdb:vortex-file-compressed 98346175 / 98238203 / +0.1% 153255585 / 162524965 / -5.7% 0.64 / 0.60 / +6.2%
tpch_q10/duckdb:vortex-file-compressed 87936824 / 87705345 / +0.3% 136947314 / 143307386 / -4.4% 0.64 / 0.61 / +4.9%
tpch_q11/duckdb:vortex-file-compressed 14051602 / 13976485 / +0.5% 26859842 / 26835431 / +0.1% 0.52 / 0.52 / +0.4%
tpch_q12/duckdb:vortex-file-compressed 43467866 / 42798649 / +1.6% 82036408 / 84387391 / -2.8% 0.53 / 0.51 / +4.5%
tpch_q13/duckdb:vortex-file-compressed 66730715 / 68308781 / -2.3% 85539494 / 86347716 / -0.9% 0.78 / 0.79 / -1.4%
tpch_q14/duckdb:vortex-file-compressed 27707044 / 28842430 / -3.9% 71824183 / 71566628 / +0.4% 0.39 / 0.40 / -4.3%
tpch_q15/duckdb:vortex-file-compressed 24533171 / 24773686 / -1.0% 66471862 / 64532244 / +3.0% 0.37 / 0.38 / -3.9%
tpch_q16/duckdb:vortex-file-compressed 49741135 / 49601656 / +0.3% 57335385 / 59001122 / -2.8% 0.87 / 0.84 / +3.2%
tpch_q17/duckdb:vortex-file-compressed 34725521 / 34811305 / -0.2% 64552001 / 65879859 / -2.0% 0.54 / 0.53 / +1.8%
tpch_q18/duckdb:vortex-file-compressed 104174394 / 100953472 / +3.2% 117186016 / 119364635 / -1.8% 0.89 / 0.85 / +5.1%
tpch_q19/duckdb:vortex-file-compressed 24895096 / 24654055 / +1.0% 74897810 / 70978689 / +5.5% 0.33 / 0.35 / -4.3%
tpch_q20/duckdb:vortex-file-compressed 38866503 / 38685484 / +0.5% 90066930 / 90424317 / -0.4% 0.43 / 0.43 / +0.9%
tpch_q21/duckdb:vortex-file-compressed 94142409 / 94748251 / -0.6% 141810607 / 148679585 / -4.6% 0.66 / 0.64 / +4.2%
tpch_q22/duckdb:vortex-file-compressed 35369304 / 34543209 / +2.4% 50595495 / 51540085 / -1.8% 0.70 / 0.67 / +4.3%
duckdb / parquet / ns (0.996x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/duckdb:parquet 68825930 / 68395195 / +0.6% 88994588 / 91681433 / -2.9% 0.77 / 0.75 / +3.7%
tpch_q02/duckdb:parquet 87274221 / 88223076 / -1.1% 100208224 / 100712905 / -0.5% 0.87 / 0.88 / -0.6%
tpch_q03/duckdb:parquet 110987280 / 111374143 / -0.3% 144747651 / 148583016 / -2.6% 0.77 / 0.75 / +2.3%
tpch_q04/duckdb:parquet 77320080 / 78699769 / -1.8% 100301602 / 100707205 / -0.4% 0.77 / 0.78 / -1.4%
tpch_q05/duckdb:parquet 124044786 / 125593135 / -1.2% 156187036 / 159321832 / -2.0% 0.79 / 0.79 / +0.7%
tpch_q06/duckdb:parquet 35925679 / 35972534 / -0.1% 65037294 / 61317120 / +6.1% 0.55 / 0.59 / -5.8%
tpch_q07/duckdb:parquet 117746363 / 117273962 / +0.4% 158557051 / 154352529 / +2.7% 0.74 / 0.76 / -2.3%
tpch_q08/duckdb:parquet 148715045 / 149870788 / -0.8% 192895398 / 192987041 / -0.0% 0.77 / 0.78 / -0.7%
tpch_q09/duckdb:parquet 238161596 / 237497355 / +0.3% 278335686 / 284294419 / -2.1% 0.86 / 0.84 / +2.4%
tpch_q10/duckdb:parquet 315914136 / 320395971 / -1.4% 343972335 / 345981416 / -0.6% 0.92 / 0.93 / -0.8%
tpch_q11/duckdb:parquet 44130220 / 44073482 / +0.1% 52159422 / 51369594 / +1.5% 0.85 / 0.86 / -1.4%
tpch_q12/duckdb:parquet 73268608 / 72771299 / +0.7% 94181800 / 91963836 / +2.4% 0.78 / 0.79 / -1.7%
tpch_q13/duckdb:parquet 293606895 / 295262605 / -0.6% 313314968 / 310539461 / +0.9% 0.94 / 0.95 / -1.4%
tpch_q14/duckdb:parquet 102209983 / 102126250 / +0.1% 146468920 / 151849009 / -3.5% 0.70 / 0.67 / +3.8%
tpch_q15/duckdb:parquet 57724422 / 58312136 / -1.0% 88752505 / 88370355 / +0.4% 0.65 / 0.66 / -1.4%
tpch_q16/duckdb:parquet 101470915 / 101819340 / -0.3% 108772074 / 109506699 / -0.7% 0.93 / 0.93 / +0.3%
tpch_q17/duckdb:parquet 83010822 / 83004140 / +0.0% 117742182 / 114652526 / +2.7% 0.71 / 0.72 / -2.6%
tpch_q18/duckdb:parquet 157851417 / 160015324 / -1.4% 175004518 / 173573449 / +0.8% 0.90 / 0.92 / -2.2%
tpch_q19/duckdb:parquet 99869733 / 100060021 / -0.2% 132206736 / 137519943 / -3.9% 0.76 / 0.73 / +3.8%
tpch_q20/duckdb:parquet 147667044 / 147637964 / +0.0% 186915296 / 186943790 / -0.0% 0.79 / 0.79 / +0.0%
tpch_q21/duckdb:parquet 255141048 / 256131350 / -0.4% 279828638 / 291575793 / -4.0% 0.91 / 0.88 / +3.8%
tpch_q22/duckdb:parquet 169277985 / 169393512 / -0.1% 184444275 / 185884501 / -0.8% 0.92 / 0.91 / +0.7%

No file size changes detected.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-DS SF=1 on NVME 📖

Commits: PR 6a4c019c vs base f476db42
Verdict: No clear signal (low confidence)
Attributed Vortex impact: +0.3%
Engines: DataFusion No clear signal (+0.5%, low confidence) · DuckDB No clear signal (+0.1%, low confidence)
Vortex (geomean): hot 1.001x ➖ · cold 1.001x ➖
Parquet (geomean): hot 0.998x ➖ · cold 0.992x ➖
Shifts: Parquet (control) -0.2% · 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.
  • Hot vs cold: Every measurement is run several times. The first run is reported as the cold run, and the median of the runs after it is reported as the hot run. The verdict and significance use hot runs; each target's geomean reports hot and cold beside each other where the individual runs were recorded and hot alone where they were not, the cold column shows first-run cost per row, and hot/cold is how much of each run the warm path saves. Rows whose results predate per-run reporting show only one value, taken from the value the runner reported.
  • Table cells: Each cell reads PR / base / %diff. The hot and cold columns mark a change as 🔴 slower or 🟢 faster once it clears this suite's threshold; anything smaller is noise here and is left unmarked, as is hot/cold, because a shift in the warm-up ratio is not a win or a loss by itself.

datafusion / vortex-file-compressed / ns (1.001x ➖, 0↑ 1↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpcds_q01/datafusion:vortex-file-compressed 24635790 / 24582899 / +0.2% 42817398 / 43446774 / -1.4% 0.58 / 0.57 / +1.7%
tpcds_q02/datafusion:vortex-file-compressed 47469656 / 47086968 / +0.8% 64839708 / 64144553 / +1.1% 0.73 / 0.73 / -0.3%
tpcds_q03/datafusion:vortex-file-compressed 11641243 / 11677842 / -0.3% 28296059 / 27455408 / +3.1% 0.41 / 0.43 / -3.3%
tpcds_q04/datafusion:vortex-file-compressed 123089612 / 123378338 / -0.2% 160408760 / 154083199 / +4.1% 0.77 / 0.80 / -4.2%
tpcds_q05/datafusion:vortex-file-compressed 59445794 / 59772210 / -0.5% 81441447 / 80971430 / +0.6% 0.73 / 0.74 / -1.1%
tpcds_q06/datafusion:vortex-file-compressed 22865736 / 23005990 / -0.6% 42204897 / 40899919 / +3.2% 0.54 / 0.56 / -3.7%
tpcds_q07/datafusion:vortex-file-compressed 31168284 / 31758274 / -1.9% 53824340 / 53423431 / +0.8% 0.58 / 0.59 / -2.6%
tpcds_q08/datafusion:vortex-file-compressed 25020284 / 24962046 / +0.2% 43198155 / 42398926 / +1.9% 0.58 / 0.59 / -1.6%
tpcds_q09/datafusion:vortex-file-compressed 17419755 / 16799437 / +3.7% 33111701 / 32569531 / +1.7% 0.53 / 0.52 / +2.0%
tpcds_q10/datafusion:vortex-file-compressed 26957822 / 27105078 / -0.5% 49850295 / 47992399 / +3.9% 0.54 / 0.56 / -4.2%
tpcds_q11/datafusion:vortex-file-compressed 64671504 / 64960294 / -0.4% 91661755 / 92936717 / -1.4% 0.71 / 0.70 / +0.9%
tpcds_q12/datafusion:vortex-file-compressed 16919320 / 17175830 / -1.5% 33954956 / 34064595 / -0.3% 0.50 / 0.50 / -1.2%
tpcds_q13/datafusion:vortex-file-compressed 31630312 / 31988464 / -1.1% 54423020 / 52030056 / +4.6% 0.58 / 0.61 / -5.5%
tpcds_q14/datafusion:vortex-file-compressed 501379402 / 496598014 / +1.0% 553088300 / 548006514 / +0.9% 0.91 / 0.91 / +0.0%
tpcds_q15/datafusion:vortex-file-compressed 15634323 / 15703160 / -0.4% 34125213 / 34678775 / -1.6% 0.46 / 0.45 / +1.2%
tpcds_q16/datafusion:vortex-file-compressed 20290071 / 19966816 / +1.6% 37058568 / 36761067 / +0.8% 0.55 / 0.54 / +0.8%
tpcds_q17/datafusion:vortex-file-compressed 55578965 / 58720102 / -5.3% 81963780 / 74327405 / +10.3% 🔴 0.68 / 0.79 / -14.2%
tpcds_q18/datafusion:vortex-file-compressed 68373960 / 68833334 / -0.7% 92147535 / 91446355 / +0.8% 0.74 / 0.75 / -1.4%
tpcds_q19/datafusion:vortex-file-compressed 17793890 / 17610772 / +1.0% 37196262 / 37439361 / -0.6% 0.48 / 0.47 / +1.7%
tpcds_q20/datafusion:vortex-file-compressed 18184602 / 17655532 / +3.0% 36971041 / 35790948 / +3.3% 0.49 / 0.49 / -0.3%
tpcds_q21/datafusion:vortex-file-compressed 16672999 / 16647538 / +0.2% 35048147 / 37423150 / -6.3% 0.48 / 0.44 / +6.9%
tpcds_q22/datafusion:vortex-file-compressed 58256728 / 57715780 / +0.9% 81066728 / 81146040 / -0.1% 0.72 / 0.71 / +1.0%
tpcds_q23/datafusion:vortex-file-compressed 70548920 / 70910636 / -0.5% 105675037 / 102007140 / +3.6% 0.67 / 0.70 / -4.0%
tpcds_q24/datafusion:vortex-file-compressed 67588944 / 66897483 / +1.0% 91392600 / 89832899 / +1.7% 0.74 / 0.74 / -0.7%
tpcds_q25/datafusion:vortex-file-compressed 54162814 / 47615981 / +13.7% 🔴 81310848 / 78891825 / +3.1% 0.67 / 0.60 / +10.4%
tpcds_q26/datafusion:vortex-file-compressed 30635010 / 30644761 / -0.0% 51332403 / 50056542 / +2.5% 0.60 / 0.61 / -2.5%
tpcds_q27/datafusion:vortex-file-compressed 63127212 / 60677225 / +4.0% 88701185 / 87323304 / +1.6% 0.71 / 0.69 / +2.4%
tpcds_q28/datafusion:vortex-file-compressed 18189451 / 17829918 / +2.0% 33844139 / 34867000 / -2.9% 0.54 / 0.51 / +5.1%
tpcds_q29/datafusion:vortex-file-compressed 58661829 / 59295392 / -1.1% 72520526 / 71866567 / +0.9% 0.81 / 0.83 / -2.0%
tpcds_q30/datafusion:vortex-file-compressed 26826039 / 26810370 / +0.1% 44149784 / 45934816 / -3.9% 0.61 / 0.58 / +4.1%
tpcds_q31/datafusion:vortex-file-compressed 59221676 / 58464506 / +1.3% 82277086 / 83270717 / -1.2% 0.72 / 0.70 / +2.5%
tpcds_q32/datafusion:vortex-file-compressed 13875070 / 13488664 / +2.9% 30585192 / 29170185 / +4.9% 0.45 / 0.46 / -1.9%
tpcds_q33/datafusion:vortex-file-compressed 27759681 / 27197120 / +2.1% 50226733 / 49908330 / +0.6% 0.55 / 0.54 / +1.4%
tpcds_q34/datafusion:vortex-file-compressed 17567170 / 17206868 / +2.1% 37257274 / 36052580 / +3.3% 0.47 / 0.48 / -1.2%
tpcds_q35/datafusion:vortex-file-compressed 34562538 / 34232291 / +1.0% 56547201 / 56448006 / +0.2% 0.61 / 0.61 / +0.8%
tpcds_q36/datafusion:vortex-file-compressed 48232724 / 47409952 / +1.7% 73418388 / 72558263 / +1.2% 0.66 / 0.65 / +0.5%
tpcds_q37/datafusion:vortex-file-compressed 12637236 / 12542742 / +0.8% 32822508 / 33655356 / -2.5% 0.39 / 0.37 / +3.3%
tpcds_q38/datafusion:vortex-file-compressed 29871914 / 29921426 / -0.2% 49143852 / 48956783 / +0.4% 0.61 / 0.61 / -0.5%
tpcds_q39/datafusion:vortex-file-compressed 61211398 / 61200884 / +0.0% 87154525 / 85850097 / +1.5% 0.70 / 0.71 / -1.5%
tpcds_q40/datafusion:vortex-file-compressed 24440957 / 24633526 / -0.8% 44738119 / 44846503 / -0.2% 0.55 / 0.55 / -0.5%
tpcds_q41/datafusion:vortex-file-compressed 17781678 / 17796865 / -0.1% 33070269 / 32263392 / +2.5% 0.54 / 0.55 / -2.5%
tpcds_q42/datafusion:vortex-file-compressed 11839442 / 10900076 / +8.6% 27586397 / 26818269 / +2.9% 0.43 / 0.41 / +5.6%
tpcds_q43/datafusion:vortex-file-compressed 13733266 / 12769958 / +7.5% 29446255 / 30074318 / -2.1% 0.47 / 0.42 / +9.8%
tpcds_q44/datafusion:vortex-file-compressed 25993394 / 26253079 / -1.0% 48306388 / 49404790 / -2.2% 0.54 / 0.53 / +1.3%
tpcds_q45/datafusion:vortex-file-compressed 18291202 / 18367350 / -0.4% 37585738 / 37298700 / +0.8% 0.49 / 0.49 / -1.2%
tpcds_q46/datafusion:vortex-file-compressed 23393264 / 23095850 / +1.3% 46144271 / 47803702 / -3.5% 0.51 / 0.48 / +4.9%
tpcds_q47/datafusion:vortex-file-compressed 77535134 / 78121658 / -0.8% 106610911 / 106791167 / -0.2% 0.73 / 0.73 / -0.6%
tpcds_q48/datafusion:vortex-file-compressed 29854957 / 29635634 / +0.7% 48685695 / 48034777 / +1.4% 0.61 / 0.62 / -0.6%
tpcds_q49/datafusion:vortex-file-compressed 56348648 / 58472824 / -3.6% 80185927 / 80312396 / -0.2% 0.70 / 0.73 / -3.5%
tpcds_q50/datafusion:vortex-file-compressed 32004246 / 31986412 / +0.1% 54063342 / 51699542 / +4.6% 0.59 / 0.62 / -4.3%
tpcds_q51/datafusion:vortex-file-compressed 67496624 / 67918032 / -0.6% 88950573 / 88364015 / +0.7% 0.76 / 0.77 / -1.3%
tpcds_q52/datafusion:vortex-file-compressed 11922934 / 11706632 / +1.8% 26986109 / 26392998 / +2.2% 0.44 / 0.44 / -0.4%
tpcds_q53/datafusion:vortex-file-compressed 17557232 / 18167264 / -3.4% 38798683 / 37848432 / +2.5% 0.45 / 0.48 / -5.7%
tpcds_q54/datafusion:vortex-file-compressed 32612596 / 32674936 / -0.2% 55162728 / 55519866 / -0.6% 0.59 / 0.59 / +0.5%
tpcds_q55/datafusion:vortex-file-compressed 11043432 / 11471617 / -3.7% 27237060 / 27817708 / -2.1% 0.41 / 0.41 / -1.7%
tpcds_q56/datafusion:vortex-file-compressed 26566601 / 27160214 / -2.2% 48109200 / 49060225 / -1.9% 0.55 / 0.55 / -0.3%
tpcds_q57/datafusion:vortex-file-compressed 77258754 / 77558209 / -0.4% 103213171 / 103183450 / +0.0% 0.75 / 0.75 / -0.4%
tpcds_q58/datafusion:vortex-file-compressed 40634535 / 41232636 / -1.5% 66204046 / 66673173 / -0.7% 0.61 / 0.62 / -0.8%
tpcds_q59/datafusion:vortex-file-compressed 31059515 / 31127752 / -0.2% 51633633 / 52068537 / -0.8% 0.60 / 0.60 / +0.6%
tpcds_q60/datafusion:vortex-file-compressed 25955772 / 26645832 / -2.6% 46543083 / 48515042 / -4.1% 0.56 / 0.55 / +1.5%
tpcds_q61/datafusion:vortex-file-compressed 22907500 / 22927076 / -0.1% 44315999 / 45201375 / -2.0% 0.52 / 0.51 / +1.9%
tpcds_q62/datafusion:vortex-file-compressed 18101019 / 18090858 / +0.1% 33744451 / 33568454 / +0.5% 0.54 / 0.54 / -0.5%
tpcds_q63/datafusion:vortex-file-compressed 17426451 / 17998718 / -3.2% 38788770 / 37821632 / +2.6% 0.45 / 0.48 / -5.6%
tpcds_q64/datafusion:vortex-file-compressed 224354942 / 224160722 / +0.1% 258755356 / 265848203 / -2.7% 0.87 / 0.84 / +2.8%
tpcds_q65/datafusion:vortex-file-compressed 74183468 / 74642094 / -0.6% 96664824 / 97839131 / -1.2% 0.77 / 0.76 / +0.6%
tpcds_q66/datafusion:vortex-file-compressed 52005159 / 52748352 / -1.4% 70857277 / 72324362 / -2.0% 0.73 / 0.73 / +0.6%
tpcds_q67/datafusion:vortex-file-compressed 58415848 / 58863914 / -0.8% 87987149 / 86564294 / +1.6% 0.66 / 0.68 / -2.4%
tpcds_q68/datafusion:vortex-file-compressed 22477278 / 22488156 / -0.0% 46144352 / 45910900 / +0.5% 0.49 / 0.49 / -0.6%
tpcds_q69/datafusion:vortex-file-compressed 28033466 / 28211970 / -0.6% 47857256 / 47032214 / +1.8% 0.59 / 0.60 / -2.3%
tpcds_q70/datafusion:vortex-file-compressed 69237024 / 71017850 / -2.5% 92322150 / 91285743 / +1.1% 0.75 / 0.78 / -3.6%
tpcds_q71/datafusion:vortex-file-compressed 18858225 / 19550517 / -3.5% 37170924 / 38261187 / -2.8% 0.51 / 0.51 / -0.7%
tpcds_q72/datafusion:vortex-file-compressed 346754472 / 347292202 / -0.2% 377255186 / 402342494 / -6.2% 0.92 / 0.86 / +6.5%
tpcds_q73/datafusion:vortex-file-compressed 16119258 / 16105982 / +0.1% 34564023 / 34940231 / -1.1% 0.47 / 0.46 / +1.2%
tpcds_q74/datafusion:vortex-file-compressed 45982373 / 45661118 / +0.7% 70846704 / 71685106 / -1.2% 0.65 / 0.64 / +1.9%
tpcds_q75/datafusion:vortex-file-compressed 139772494 / 136381433 / +2.5% 169518476 / 167120763 / +1.4% 0.82 / 0.82 / +1.0%
tpcds_q76/datafusion:vortex-file-compressed 26660934 / 26712690 / -0.2% 44976300 / 45254658 / -0.6% 0.59 / 0.59 / +0.4%
tpcds_q77/datafusion:vortex-file-compressed 45891980 / 46328780 / -0.9% 67183248 / 68307624 / -1.6% 0.68 / 0.68 / +0.7%
tpcds_q78/datafusion:vortex-file-compressed 68098734 / 68512821 / -0.6% 96755165 / 95911822 / +0.9% 0.70 / 0.71 / -1.5%
tpcds_q79/datafusion:vortex-file-compressed 19783058 / 19978780 / -1.0% 41490290 / 43541042 / -4.7% 0.48 / 0.46 / +3.9%
tpcds_q80/datafusion:vortex-file-compressed 73592368 / 74401417 / -1.1% 105856209 / 105284955 / +0.5% 0.70 / 0.71 / -1.6%
tpcds_q81/datafusion:vortex-file-compressed 27351076 / 27164954 / +0.7% 44836541 / 45294142 / -1.0% 0.61 / 0.60 / +1.7%
tpcds_q82/datafusion:vortex-file-compressed 12163470 / 12975637 / -6.3% 32295201 / 34396088 / -6.1% 0.38 / 0.38 / -0.2%
tpcds_q83/datafusion:vortex-file-compressed 34931996 / 35738027 / -2.3% 54647087 / 55580937 / -1.7% 0.64 / 0.64 / -0.6%
tpcds_q84/datafusion:vortex-file-compressed 12536065 / 12035405 / +4.2% 25286867 / 26464071 / -4.4% 0.50 / 0.45 / +9.0%
tpcds_q85/datafusion:vortex-file-compressed 57532562 / 57695729 / -0.3% 84538103 / 81744464 / +3.4% 0.68 / 0.71 / -3.6%
tpcds_q86/datafusion:vortex-file-compressed 16590355 / 16461616 / +0.8% 32855654 / 33378277 / -1.6% 0.50 / 0.49 / +2.4%
tpcds_q87/datafusion:vortex-file-compressed 29556845 / 29828038 / -0.9% 49289775 / 51402517 / -4.1% 0.60 / 0.58 / +3.3%
tpcds_q88/datafusion:vortex-file-compressed 31730916 / 32112460 / -1.2% 72702161 / 60807887 / +19.6% 🔴 0.44 / 0.53 / -17.4%
tpcds_q89/datafusion:vortex-file-compressed 20819712 / 20633294 / +0.9% 40949636 / 40685023 / +0.7% 0.51 / 0.51 / +0.3%
tpcds_q90/datafusion:vortex-file-compressed 10791469 / 10188628 / +5.9% 24627411 / 24541707 / +0.3% 0.44 / 0.42 / +5.5%
tpcds_q91/datafusion:vortex-file-compressed 16173824 / 15739050 / +2.8% 33763518 / 34714418 / -2.7% 0.48 / 0.45 / +5.7%
tpcds_q92/datafusion:vortex-file-compressed 1402451 / 13539496 / +3.6% 29847687 / 29036863 / +2.8% 0.47 / 0.47 / +0.8%
tpcds_q93/datafusion:vortex-file-compressed 21969972 / 22524442 / -2.5% 41552720 / 41559376 / -0.0% 0.53 / 0.54 / -2.4%
tpcds_q94/datafusion:vortex-file-compressed 19288448 / 19546758 / -1.3% 35780989 / 36602669 / -2.2% 0.54 / 0.53 / +0.9%
tpcds_q95/datafusion:vortex-file-compressed 44734352 / 45486838 / -1.7% 64554117 / 64368191 / +0.3% 0.69 / 0.71 / -1.9%
tpcds_q96/datafusion:vortex-file-compressed 8494947 / 8660179 / -1.9% 22780489 / 22361032 / +1.9% 0.37 / 0.39 / -3.7%
tpcds_q97/datafusion:vortex-file-compressed 21303420 / 21342076 / -0.2% 42126757 / 41524069 / +1.5% 0.51 / 0.51 / -1.6%
tpcds_q98/datafusion:vortex-file-compressed 17057567 / 16930668 / +0.7% 37697189 / 37253710 / +1.2% 0.45 / 0.45 / -0.4%
tpcds_q99/datafusion:vortex-file-compressed 20712916 / 20937260 / -1.1% 36444599 / 36269966 / +0.5% 0.57 / 0.58 / -1.5%
datafusion / parquet / ns (0.996x ➖, 0↑ 1↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpcds_q01/datafusion:parquet 41477739 / 43536947 / -4.7% 61872339 / 62881462 / -1.6% 0.67 / 0.69 / -3.2%
tpcds_q02/datafusion:parquet 55613036 / 55403128 / +0.4% 71792864 / 73201475 / -1.9% 0.77 / 0.76 / +2.3%
tpcds_q03/datafusion:parquet 18981402 / 19306012 / -1.7% 34227756 / 33424192 / +2.4% 0.55 / 0.58 / -4.0%
tpcds_q04/datafusion:parquet 180960072 / 181181290 / -0.1% 211685160 / 210887443 / +0.4% 0.85 / 0.86 / -0.5%
tpcds_q05/datafusion:parquet 68205922 / 69034143 / -1.2% 91634487 / 93337109 / -1.8% 0.74 / 0.74 / +0.6%
tpcds_q06/datafusion:parquet 33610892 / 33121955 / +1.5% 48426029 / 49987058 / -3.1% 0.69 / 0.66 / +4.7%
tpcds_q07/datafusion:parquet 47888274 / 47305940 / +1.2% 65145233 / 66869371 / -2.6% 0.74 / 0.71 / +3.9%
tpcds_q08/datafusion:parquet 31470666 / 30733238 / +2.4% 46081212 / 47417485 / -2.8% 0.68 / 0.65 / +5.4%
tpcds_q09/datafusion:parquet 34177604 / 29878656 / +14.4% 🔴 42618003 / 39494217 / +7.9% 0.80 / 0.76 / +6.0%
tpcds_q10/datafusion:parquet 44196678 / 44945706 / -1.7% 57324892 / 60053634 / -4.5% 0.77 / 0.75 / +3.0%
tpcds_q11/datafusion:parquet 98335520 / 99126028 / -0.8% 119675550 / 123362057 / -3.0% 0.82 / 0.80 / +2.3%
tpcds_q12/datafusion:parquet 24397727 / 23795229 / +2.5% 37798070 / 37279538 / +1.4% 0.65 / 0.64 / +1.1%
tpcds_q13/datafusion:parquet 47313602 / 46154738 / +2.5% 70059651 / 70616697 / -0.8% 0.68 / 0.65 / +3.3%
tpcds_q14/datafusion:parquet 541024012 / 538526568 / +0.5% 586288507 / 589408065 / -0.5% 0.92 / 0.91 / +1.0%
tpcds_q15/datafusion:parquet 23724498 / 23806385 / -0.3% 38379300 / 41281682 / -7.0% 0.62 / 0.58 / +7.2%
tpcds_q16/datafusion:parquet 37342059 / 37298270 / +0.1% 50704246 / 52171887 / -2.8% 0.74 / 0.71 / +3.0%
tpcds_q17/datafusion:parquet 74098460 / 73094590 / +1.4% 97613830 / 102471329 / -4.7% 0.76 / 0.71 / +6.4%
tpcds_q18/datafusion:parquet 65124076 / 68331512 / -4.7% 86102417 / 94557764 / -8.9% 0.76 / 0.72 / +4.7%
tpcds_q19/datafusion:parquet 29612347 / 29840288 / -0.8% 43905508 / 44368744 / -1.0% 0.67 / 0.67 / +0.3%
tpcds_q20/datafusion:parquet 24974056 / 24821157 / +0.6% 34775007 / 38920481 / -10.7% 🟢 0.72 / 0.64 / +12.6%
tpcds_q21/datafusion:parquet 20460974 / 20369947 / +0.4% 32888161 / 33112489 / -0.7% 0.62 / 0.62 / +1.1%
tpcds_q22/datafusion:parquet 77357650 / 77714666 / -0.5% 90366357 / 90595735 / -0.3% 0.86 / 0.86 / -0.2%
tpcds_q23/datafusion:parquet 91226548 / 94489378 / -3.5% 116050481 / 113854492 / +1.9% 0.79 / 0.83 / -5.3%
tpcds_q24/datafusion:parquet 91139251 / 91247533 / -0.1% 115781877 / 118144615 / -2.0% 0.79 / 0.77 / +1.9%
tpcds_q25/datafusion:parquet 82437422 / 81582216 / +1.0% 103193396 / 102782861 / +0.4% 0.80 / 0.79 / +0.6%
tpcds_q26/datafusion:parquet 43069028 / 43399303 / -0.8% 60232998 / 60961424 / -1.2% 0.72 / 0.71 / +0.4%
tpcds_q27/datafusion:parquet 76796166 / 77393803 / -0.8% 102937348 / 97622421 / +5.4% 0.75 / 0.79 / -5.9%
tpcds_q28/datafusion:parquet 28882934 / 28201807 / +2.4% 42107391 / 46036351 / -8.5% 0.69 / 0.61 / +12.0%
tpcds_q29/datafusion:parquet 74731574 / 76664156 / -2.5% 102006346 / 102842204 / -0.8% 0.73 / 0.75 / -1.7%
tpcds_q30/datafusion:parquet 46163284 / 45736422 / +0.9% 59232386 / 62491920 / -5.2% 0.78 / 0.73 / +6.5%
tpcds_q31/datafusion:parquet 80371562 / 81974754 / -2.0% 97109649 / 100707279 / -3.6% 0.83 / 0.81 / +1.7%
tpcds_q32/datafusion:parquet 26180058 / 26136080 / +0.2% 42081673 / 42768302 / -1.6% 0.62 / 0.61 / +1.8%
tpcds_q33/datafusion:parquet 37913352 / 37785330 / +0.3% 55131616 / 53603992 / +2.8% 0.69 / 0.70 / -2.4%
tpcds_q34/datafusion:parquet 24502528 / 24695274 / -0.8% 37132164 / 38360923 / -3.2% 0.66 / 0.64 / +2.5%
tpcds_q35/datafusion:parquet 51226589 / 50128162 / +2.2% 64429817 / 67125688 / -4.0% 0.80 / 0.75 / +6.5%
tpcds_q36/datafusion:parquet 52227414 / 54023114 / -3.3% 70772459 / 73568853 / -3.8% 0.74 / 0.73 / +0.5%
tpcds_q37/datafusion:parquet 20841722 / 21731487 / -4.1% 33691871 / 35510211 / -5.1% 0.62 / 0.61 / +1.1%
tpcds_q38/datafusion:parquet 43632998 / 45166044 / -3.4% 61504365 / 62739067 / -2.0% 0.71 / 0.72 / -1.5%
tpcds_q39/datafusion:parquet 67622558 / 68373922 / -1.1% 84486399 / 88595909 / -4.6% 0.80 / 0.77 / +3.7%
tpcds_q40/datafusion:parquet 32174135 / 31263903 / +2.9% 50666214 / 51634743 / -1.9% 0.64 / 0.61 / +4.9%
tpcds_q41/datafusion:parquet 19667700 / 19595910 / +0.4% 33346190 / 34233154 / -2.6% 0.59 / 0.57 / +3.0%
tpcds_q42/datafusion:parquet 18206396 / 18389628 / -1.0% 29612320 / 31100113 / -4.8% 0.61 / 0.59 / +4.0%
tpcds_q43/datafusion:parquet 19724058 / 19540403 / +0.9% 31639408 / 33400105 / -5.3% 0.62 / 0.59 / +6.6%
tpcds_q44/datafusion:parquet 34986294 / 36570172 / -4.3% 49899141 / 50053031 / -0.3% 0.70 / 0.73 / -4.0%
tpcds_q45/datafusion:parquet 26708442 / 27189810 / -1.8% 40337727 / 42143412 / -4.3% 0.66 / 0.65 / +2.6%
tpcds_q46/datafusion:parquet 29422506 / 29848408 / -1.4% 47460243 / 47148054 / +0.7% 0.62 / 0.63 / -2.1%
tpcds_q47/datafusion:parquet 98249248 / 97872278 / +0.4% 117229365 / 115753554 / +1.3% 0.84 / 0.85 / -0.9%
tpcds_q48/datafusion:parquet 41497289 / 42603104 / -2.6% 59291674 / 61921764 / -4.2% 0.70 / 0.69 / +1.7%
tpcds_q49/datafusion:parquet 70679380 / 71128383 / -0.6% 94993551 / 97344604 / -2.4% 0.74 / 0.73 / +1.8%
tpcds_q50/datafusion:parquet 48482298 / 48006608 / +1.0% 70050706 / 67571793 / +3.7% 0.69 / 0.71 / -2.6%
tpcds_q51/datafusion:parquet 75400110 / 75616875 / -0.3% 97129557 / 95774032 / +1.4% 0.78 / 0.79 / -1.7%
tpcds_q52/datafusion:parquet 18506898 / 18707740 / -1.1% 33444668 / 31630824 / +5.7% 0.55 / 0.59 / -6.4%
tpcds_q53/datafusion:parquet 22661697 / 22973786 / -1.4% 39472752 / 39010218 / +1.2% 0.57 / 0.59 / -2.5%
tpcds_q54/datafusion:parquet 51841656 / 54644863 / -5.1% 64176950 / 67592493 / -5.1% 0.81 / 0.81 / -0.1%
tpcds_q55/datafusion:parquet 18438502 / 18369406 / +0.4% 32798808 / 32776239 / +0.1% 0.56 / 0.56 / +0.3%
tpcds_q56/datafusion:parquet 40256156 / 41694721 / -3.5% 56098788 / 56281399 / -0.3% 0.72 / 0.74 / -3.1%
tpcds_q57/datafusion:parquet 102099525 / 102505096 / -0.4% 119407907 / 118205941 / +1.0% 0.86 / 0.87 / -1.4%
tpcds_q58/datafusion:parquet 65825651 / 65962023 / -0.2% 85750882 / 84429091 / +1.6% 0.77 / 0.78 / -1.7%
tpcds_q59/datafusion:parquet 48399407 / 49093882 / -1.4% 65331969 / 65604309 / -0.4% 0.74 / 0.75 / -1.0%
tpcds_q60/datafusion:parquet 41372784 / 40327388 / +2.6% 56145879 / 57703482 / -2.7% 0.74 / 0.70 / +5.4%
tpcds_q61/datafusion:parquet 35662341 / 37116012 / -3.9% 50243185 / 50974307 / -1.4% 0.71 / 0.73 / -2.5%
tpcds_q62/datafusion:parquet 25146140 / 25060652 / +0.3% 38911957 / 37696850 / +3.2% 0.65 / 0.66 / -2.8%
tpcds_q63/datafusion:parquet 22262184 / 22299218 / -0.2% 38632475 / 39598293 / -2.4% 0.58 / 0.56 / +2.3%
tpcds_q64/datafusion:parquet 288076884 / 289741500 / -0.6% 330030343 / 326291391 / +1.1% 0.87 / 0.89 / -1.7%
tpcds_q65/datafusion:parquet 121423968 / 120858852 / +0.5% 136632895 / 140759426 / -2.9% 0.89 / 0.86 / +3.5%
tpcds_q66/datafusion:parquet 60940768 / 60821448 / +0.2% 77656971 / 79470972 / -2.3% 0.78 / 0.77 / +2.5%
tpcds_q67/datafusion:parquet 69122926 / 68706574 / +0.6% 93476249 / 92697413 / +0.8% 0.74 / 0.74 / -0.2%
tpcds_q68/datafusion:parquet 29672887 / 30046360 / -1.2% 49231869 / 49230603 / +0.0% 0.60 / 0.61 / -1.2%
tpcds_q69/datafusion:parquet 43626653 / 44707554 / -2.4% 56515882 / 59380721 / -4.8% 0.77 / 0.75 / +2.5%
tpcds_q70/datafusion:parquet 81011985 / 81175456 / -0.2% 99108023 / 99019409 / +0.1% 0.82 / 0.82 / -0.3%
tpcds_q71/datafusion:parquet 26780594 / 25395688 / +5.5% 39676427 / 40147269 / -1.2% 0.67 / 0.63 / +6.7%
tpcds_q72/datafusion:parquet 515504624 / 523620307 / -1.5% 548467807 / 543724503 / +0.9% 0.94 / 0.96 / -2.4%
tpcds_q73/datafusion:parquet 24202213 / 24259651 / -0.2% 36583985 / 36151249 / +1.2% 0.66 / 0.67 / -1.4%
tpcds_q74/datafusion:parquet 70320360 / 71099050 / -1.1% 86734893 / 88693989 / -2.2% 0.81 / 0.80 / +1.1%
tpcds_q75/datafusion:parquet 152117202 / 155421859 / -2.1% 185990525 / 176500928 / +5.4% 0.82 / 0.88 / -7.1%
tpcds_q76/datafusion:parquet 33897004 / 33080449 / +2.5% 48803699 / 47922347 / +1.8% 0.69 / 0.69 / +0.6%
tpcds_q77/datafusion:parquet 58756999 / 56434396 / +4.1% 78498379 / 77425980 / +1.4% 0.75 / 0.73 / +2.7%
tpcds_q78/datafusion:parquet 85651976 / 87073909 / -1.6% 117267080 / 117627485 / -0.3% 0.73 / 0.74 / -1.3%
tpcds_q79/datafusion:parquet 27181307 / 27304058 / -0.4% 42209953 / 43047490 / -1.9% 0.64 / 0.63 / +1.5%
tpcds_q80/datafusion:parquet 80175442 / 81411092 / -1.5% 114517986 / 114415068 / +0.1% 0.70 / 0.71 / -1.6%
tpcds_q81/datafusion:parquet 38552057 / 39222950 / -1.7% 50868268 / 52710766 / -3.5% 0.76 / 0.74 / +1.8%
tpcds_q82/datafusion:parquet 22835764 / 22160822 / +3.0% 34626993 / 36538429 / -5.2% 0.66 / 0.61 / +8.7%
tpcds_q83/datafusion:parquet 57796305 / 58314265 / -0.9% 75848403 / 73811475 / +2.8% 0.76 / 0.79 / -3.5%
tpcds_q84/datafusion:parquet 26390022 / 26211074 / +0.7% 38563693 / 41612729 / -7.3% 0.68 / 0.63 / +8.6%
tpcds_q85/datafusion:parquet 81628020 / 80796910 / +1.0% 106137378 / 103270006 / +2.8% 0.77 / 0.78 / -1.7%
tpcds_q86/datafusion:parquet 20828236 / 21091302 / -1.2% 33087413 / 32788804 / +0.9% 0.63 / 0.64 / -2.1%
tpcds_q87/datafusion:parquet 44926709 / 45987844 / -2.3% 61814663 / 61916804 / -0.2% 0.73 / 0.74 / -2.1%
tpcds_q88/datafusion:parquet 37565408 / 37687199 / -0.3% 52932095 / 52129241 / +1.5% 0.71 / 0.72 / -1.8%
tpcds_q89/datafusion:parquet 25836985 / 25882896 / -0.2% 41645916 / 42919788 / -3.0% 0.62 / 0.60 / +2.9%
tpcds_q90/datafusion:parquet 14845432 / 14854390 / -0.1% 26200854 / 26962985 / -2.8% 0.57 / 0.55 / +2.8%
tpcds_q91/datafusion:parquet 31483818 / 32195310 / -2.2% 46227631 / 47245278 / -2.2% 0.68 / 0.68 / -0.1%
tpcds_q92/datafusion:parquet 26972788 / 25764642 / +4.7% 40677276 / 40792729 / -0.3% 0.66 / 0.63 / +5.0%
tpcds_q93/datafusion:parquet 26946920 / 27597356 / -2.4% 46639290 / 46330927 / +0.7% 0.58 / 0.60 / -3.0%
tpcds_q94/datafusion:parquet 35164204 / 35383655 / -0.6% 48237718 / 49132440 / -1.8% 0.73 / 0.72 / +1.2%
tpcds_q95/datafusion:parquet 63629998 / 65405522 / -2.7% 79354692 / 79042435 / +0.4% 0.80 / 0.83 / -3.1%
tpcds_q96/datafusion:parquet 12592025 / 12678917 / -0.7% 24066436 / 24238106 / -0.7% 0.52 / 0.52 / +0.0%
tpcds_q97/datafusion:parquet 35403876 / 35605598 / -0.6% 54531958 / 53035489 / +2.8% 0.65 / 0.67 / -3.3%
tpcds_q98/datafusion:parquet 24872608 / 25250763 / -1.5% 39671490 / 39032973 / +1.6% 0.63 / 0.65 / -3.1%
tpcds_q99/datafusion:parquet 29579320 / 30241524 / -2.2% 42323263 / 42230553 / +0.2% 0.70 / 0.72 / -2.4%
duckdb / vortex-file-compressed / ns (1.001x ➖, 0↑ 1↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpcds_q01/duckdb:vortex-file-compressed 16058751 / 15984996 / +0.5% 23496237 / 24939201 / -5.8% 0.68 / 0.64 / +6.6%
tpcds_q02/duckdb:vortex-file-compressed 15431412 / 15498148 / -0.4% 23084069 / 24170091 / -4.5% 0.67 / 0.64 / +4.3%
tpcds_q03/duckdb:vortex-file-compressed 6917850 / 6797578 / +1.8% 15461850 / 15623672 / -1.0% 0.45 / 0.44 / +2.8%
tpcds_q04/duckdb:vortex-file-compressed 44610371 / 45438948 / -1.8% 54668964 / 54906260 / -0.4% 0.82 / 0.83 / -1.4%
tpcds_q05/duckdb:vortex-file-compressed 22942513 / 22882142 / +0.3% 30664719 / 30900231 / -0.8% 0.75 / 0.74 / +1.0%
tpcds_q06/duckdb:vortex-file-compressed 23589614 / 23832101 / -1.0% 36434571 / 37383542 / -2.5% 0.65 / 0.64 / +1.6%
tpcds_q07/duckdb:vortex-file-compressed 13839342 / 13506896 / +2.5% 24349788 / 24019291 / +1.4% 0.57 / 0.56 / +1.1%
tpcds_q08/duckdb:vortex-file-compressed 17315285 / 17415083 / -0.6% 24341957 / 23932895 / +1.7% 0.71 / 0.73 / -2.2%
tpcds_q09/duckdb:vortex-file-compressed 18153352 / 18068935 / +0.5% 27963746 / 27340131 / +2.3% 0.65 / 0.66 / -1.8%
tpcds_q10/duckdb:vortex-file-compressed 26641750 / 26675220 / -0.1% 39381611 / 40300875 / -2.3% 0.68 / 0.66 / +2.2%
tpcds_q11/duckdb:vortex-file-compressed 36514770 / 36897599 / -1.0% 44048693 / 44043145 / +0.0% 0.83 / 0.84 / -1.1%
tpcds_q12/duckdb:vortex-file-compressed 9778634 / 9752448 / +0.3% 16341684 / 16465551 / -0.8% 0.60 / 0.59 / +1.0%
tpcds_q13/duckdb:vortex-file-compressed 20760065 / 20657790 / +0.5% 34490901 / 33499614 / +3.0% 0.60 / 0.62 / -2.4%
tpcds_q14/duckdb:vortex-file-compressed 55159874 / 55189476 / -0.1% 65289232 / 65560144 / -0.4% 0.84 / 0.84 / +0.4%
tpcds_q15/duckdb:vortex-file-compressed 10834998 / 10816855 / +0.2% 18089640 / 17690002 / +2.3% 0.60 / 0.61 / -2.0%
tpcds_q16/duckdb:vortex-file-compressed 24171206 / 23984180 / +0.8% 34750588 / 34550123 / +0.6% 0.70 / 0.69 / +0.2%
tpcds_q17/duckdb:vortex-file-compressed 25167615 / 25038532 / +0.5% 38960796 / 40009594 / -2.6% 0.65 / 0.63 / +3.2%
tpcds_q18/duckdb:vortex-file-compressed 30943160 / 30674841 / +0.9% 41226733 / 40866894 / +0.9% 0.75 / 0.75 / -0.0%
tpcds_q19/duckdb:vortex-file-compressed 77387374 / 77469338 / -0.1% 90318684 / 90333776 / -0.0% 0.86 / 0.86 / -0.1%
tpcds_q20/duckdb:vortex-file-compressed 10634748 / 10516858 / +1.1% 17573813 / 17769790 / -1.1% 0.61 / 0.59 / +2.2%
tpcds_q21/duckdb:vortex-file-compressed 10108746 / 10383533 / -2.6% 23411919 / 22308078 / +4.9% 0.43 / 0.47 / -7.2%
tpcds_q22/duckdb:vortex-file-compressed 17782177 / 17960856 / -1.0% 28426351 / 28367468 / +0.2% 0.63 / 0.63 / -1.2%
tpcds_q23/duckdb:vortex-file-compressed 37072214 / 37342104 / -0.7% 48319679 / 48084789 / +0.5% 0.77 / 0.78 / -1.2%
tpcds_q24/duckdb:vortex-file-compressed 27125068 / 27065649 / +0.2% 38138341 / 38066198 / +0.2% 0.71 / 0.71 / +0.0%
tpcds_q25/duckdb:vortex-file-compressed 23422792 / 23181032 / +1.0% 37536354 / 37853410 / -0.8% 0.62 / 0.61 / +1.9%
tpcds_q26/duckdb:vortex-file-compressed 12828022 / 13017722 / -1.5% 21147036 / 21125962 / +0.1% 0.61 / 0.62 / -1.6%
tpcds_q27/duckdb:vortex-file-compressed 16213701 / 16372018 / -1.0% 27824488 / 28075114 / -0.9% 0.58 / 0.58 / -0.1%
tpcds_q28/duckdb:vortex-file-compressed 14782954 / 14791838 / -0.1% 23462405 / 23113618 / +1.5% 0.63 / 0.64 / -1.5%
tpcds_q29/duckdb:vortex-file-compressed 23153886 / 23207588 / -0.2% 36656750 / 37232123 / -1.5% 0.63 / 0.62 / +1.3%
tpcds_q30/duckdb:vortex-file-compressed 15735807 / 15797400 / -0.4% 23075940 / 23585202 / -2.2% 0.68 / 0.67 / +1.8%
tpcds_q31/duckdb:vortex-file-compressed 17769970 / 17943515 / -1.0% 25808840 / 25799932 / +0.0% 0.69 / 0.70 / -1.0%
tpcds_q32/duckdb:vortex-file-compressed 11683025 / 11553126 / +1.1% 20872848 / 19888910 / +4.9% 0.56 / 0.58 / -3.6%
tpcds_q33/duckdb:vortex-file-compressed 17609357 / 17728280 / -0.7% 25756415 / 26124933 / -1.4% 0.68 / 0.68 / +0.8%
tpcds_q34/duckdb:vortex-file-compressed 12424711 / 12178684 / +2.0% 22694460 / 21863191 / +3.8% 0.55 / 0.56 / -1.7%
tpcds_q35/duckdb:vortex-file-compressed 27937044 / 27931192 / +0.0% 39406511 / 38522622 / +2.3% 0.71 / 0.73 / -2.2%
tpcds_q36/duckdb:vortex-file-compressed 14432082 / 14746282 / -2.1% 23923602 / 24473895 / -2.2% 0.60 / 0.60 / +0.1%
tpcds_q37/duckdb:vortex-file-compressed 9228830 / 9053985 / +1.9% 22458820 / 21690400 / +3.5% 0.41 / 0.42 / -1.6%
tpcds_q38/duckdb:vortex-file-compressed 23863718 / 23932650 / -0.3% 29495928 / 30059819 / -1.9% 0.81 / 0.80 / +1.6%
tpcds_q39/duckdb:vortex-file-compressed 19904913 / 20612453 / -3.4% 31328927 / 31775873 / -1.4% 0.64 / 0.65 / -2.1%
tpcds_q40/duckdb:vortex-file-compressed 14076615 / 14013460 / +0.5% 21566448 / 21023835 / +2.6% 0.65 / 0.67 / -2.1%
tpcds_q41/duckdb:vortex-file-compressed 14484872 / 14226056 / +1.8% 21527435 / 21732212 / -0.9% 0.67 / 0.65 / +2.8%
tpcds_q42/duckdb:vortex-file-compressed 6950074 / 7009996 / -0.9% 15522294 / 15894737 / -2.3% 0.45 / 0.44 / +1.5%
tpcds_q43/duckdb:vortex-file-compressed 10138221 / 10028414 / +1.1% 19014001 / 18602655 / +2.2% 0.53 / 0.54 / -1.1%
tpcds_q44/duckdb:vortex-file-compressed 15097372 / 15143188 / -0.3% 25515719 / 26081859 / -2.2% 0.59 / 0.58 / +1.9%
tpcds_q45/duckdb:vortex-file-compressed 23359220 / 23222346 / +0.6% 31094619 / 30992386 / +0.3% 0.75 / 0.75 / +0.3%
tpcds_q46/duckdb:vortex-file-compressed 19022324 / 19417824 / -2.0% 26170278 / 27014350 / -3.1% 0.73 / 0.72 / +1.1%
tpcds_q47/duckdb:vortex-file-compressed 33947518 / 33893550 / +0.2% 43641334 / 44194649 / -1.3% 0.78 / 0.77 / +1.4%
tpcds_q48/duckdb:vortex-file-compressed 23430464 / 23430708 / -0.0% 37647913 / 35386439 / +6.4% 0.62 / 0.66 / -6.0%
tpcds_q49/duckdb:vortex-file-compressed 19785016 / 20023844 / -1.2% 33994135 / 33571590 / +1.3% 0.58 / 0.60 / -2.4%
tpcds_q50/duckdb:vortex-file-compressed 17186588 / 17235866 / -0.3% 30359657 / 28311428 / +7.2% 0.57 / 0.61 / -7.0%
tpcds_q51/duckdb:vortex-file-compressed 48335788 / 50207440 / -3.7% 57442168 / 77075926 / -25.5% 🟢 0.84 / 0.65 / +29.2%
tpcds_q52/duckdb:vortex-file-compressed 7110766 / 7300046 / -2.6% 15590996 / 15673948 / -0.5% 0.46 / 0.47 / -2.1%
tpcds_q53/duckdb:vortex-file-compressed 11319138 / 11280635 / +0.3% 19741588 / 20220990 / -2.4% 0.57 / 0.56 / +2.8%
tpcds_q54/duckdb:vortex-file-compressed 19706471 / 20050106 / -1.7% 30255050 / 29051737 / +4.1% 0.65 / 0.69 / -5.6%
tpcds_q55/duckdb:vortex-file-compressed 6902230 / 6917646 / -0.2% 15130872 / 15801340 / -4.2% 0.46 / 0.44 / +4.2%
tpcds_q56/duckdb:vortex-file-compressed 17897291 / 17852160 / +0.3% 26241858 / 26029064 / +0.8% 0.68 / 0.69 / -0.6%
tpcds_q57/duckdb:vortex-file-compressed 25544216 / 25113797 / +1.7% 33598335 / 33668395 / -0.2% 0.76 / 0.75 / +1.9%
tpcds_q58/duckdb:vortex-file-compressed 19820206 / 20099160 / -1.4% 28934545 / 28509661 / +1.5% 0.69 / 0.70 / -2.8%
tpcds_q59/duckdb:vortex-file-compressed 19429874 / 19585326 / -0.8% 27295001 / 27596113 / -1.1% 0.71 / 0.71 / +0.3%
tpcds_q60/duckdb:vortex-file-compressed 18460766 / 18399518 / +0.3% 28653739 / 28067287 / +2.1% 0.64 / 0.66 / -1.7%
tpcds_q61/duckdb:vortex-file-compressed 23358050 / 23457683 / -0.4% 33501930 / 34588901 / -3.1% 0.70 / 0.68 / +2.8%
tpcds_q62/duckdb:vortex-file-compressed 11699408 / 11902687 / -1.7% 18677483 / 20167223 / -7.4% 0.63 / 0.59 / +6.1%
tpcds_q63/duckdb:vortex-file-compressed 10850454 / 10777438 / +0.7% 19855578 / 18667795 / +6.4% 0.55 / 0.58 / -5.3%
tpcds_q64/duckdb:vortex-file-compressed 49342278 / 49136633 / +0.4% 68268386 / 69341816 / -1.5% 0.72 / 0.71 / +2.0%
tpcds_q65/duckdb:vortex-file-compressed 14867514 / 14832080 / +0.2% 24433943 / 23860112 / +2.4% 0.61 / 0.62 / -2.1%
tpcds_q66/duckdb:vortex-file-compressed 31599908 / 28573904 / +10.6% 🔴 38044798 / 38135592 / -0.2% 0.83 / 0.75 / +10.9%
tpcds_q67/duckdb:vortex-file-compressed 58165756 / 58371935 / -0.4% 67715851 / 67560675 / +0.2% 0.86 / 0.86 / -0.6%
tpcds_q68/duckdb:vortex-file-compressed 18525166 / 18641452 / -0.6% 26723138 / 27092736 / -1.4% 0.69 / 0.69 / +0.8%
tpcds_q69/duckdb:vortex-file-compressed 22295362 / 21948566 / +1.6% 36568281 / 36322168 / +0.7% 0.61 / 0.60 / +0.9%
tpcds_q70/duckdb:vortex-file-compressed 15473728 / 15385150 / +0.6% 24462448 / 23952440 / +2.1% 0.63 / 0.64 / -1.5%
tpcds_q71/duckdb:vortex-file-compressed 13101946 / 12835045 / +2.1% 22117866 / 21636717 / +2.2% 0.59 / 0.59 / -0.1%
tpcds_q72/duckdb:vortex-file-compressed 54837596 / 54600955 / +0.4% 69974941 / 70786527 / -1.1% 0.78 / 0.77 / +1.6%
tpcds_q73/duckdb:vortex-file-compressed 11315581 / 11185308 / +1.2% 20420709 / 21148473 / -3.4% 0.55 / 0.53 / +4.8%
tpcds_q74/duckdb:vortex-file-compressed 25806180 / 25685672 / +0.5% 32602383 / 33078845 / -1.4% 0.79 / 0.78 / +1.9%
tpcds_q75/duckdb:vortex-file-compressed 28768822 / 28705106 / +0.2% 38122287 / 38854375 / -1.9% 0.75 / 0.74 / +2.1%
tpcds_q76/duckdb:vortex-file-compressed 12769124 / 12557747 / +1.7% 23078269 / 22176880 / +4.1% 0.55 / 0.57 / -2.3%
tpcds_q77/duckdb:vortex-file-compressed 21018254 / 20278196 / +3.6% 30656068 / 31706704 / -3.3% 0.69 / 0.64 / +7.2%
tpcds_q78/duckdb:vortex-file-compressed 43193306 / 43008616 / +0.4% 53120583 / 51637031 / +2.9% 0.81 / 0.83 / -2.4%
tpcds_q79/duckdb:vortex-file-compressed 13140782 / 13018228 / +0.9% 21957180 / 21038811 / +4.4% 0.60 / 0.62 / -3.3%
tpcds_q80/duckdb:vortex-file-compressed 36337106 / 36223559 / +0.3% 49159230 / 50795482 / -3.2% 0.74 / 0.71 / +3.7%
tpcds_q81/duckdb:vortex-file-compressed 21083053 / 21042714 / +0.2% 28203736 / 28322510 / -0.4% 0.75 / 0.74 / +0.6%
tpcds_q82/duckdb:vortex-file-compressed 9599413 / 9417326 / +1.9% 23629767 / 22316622 / +5.9% 0.41 / 0.42 / -3.7%
tpcds_q83/duckdb:vortex-file-compressed 17416896 / 17247313 / +1.0% 23745107 / 23626637 / +0.5% 0.73 / 0.73 / +0.5%
tpcds_q84/duckdb:vortex-file-compressed 15710654 / 15769632 / -0.4% 23311765 / 23189568 / +0.5% 0.67 / 0.68 / -0.9%
tpcds_q85/duckdb:vortex-file-compressed 23736396 / 24103142 / -1.5% 37181410 / 37811664 / -1.7% 0.64 / 0.64 / +0.1%
tpcds_q86/duckdb:vortex-file-compressed 9519764 / 9445952 / +0.8% 16690259 / 16669706 / +0.1% 0.57 / 0.57 / +0.7%
tpcds_q87/duckdb:vortex-file-compressed 25411614 / 25554248 / -0.6% 32083572 / 31699103 / +1.2% 0.79 / 0.81 / -1.7%
tpcds_q88/duckdb:vortex-file-compressed 37173604 / 37337655 / -0.4% 46297860 / 46839796 / -1.2% 0.80 / 0.80 / +0.7%
tpcds_q89/duckdb:vortex-file-compressed 11951421 / 12105320 / -1.3% 21150818 / 21409292 / -1.2% 0.57 / 0.57 / -0.1%
tpcds_q90/duckdb:vortex-file-compressed 8685207 / 8595430 / +1.0% 14617225 / 15042041 / -2.8% 0.59 / 0.57 / +4.0%
tpcds_q91/duckdb:vortex-file-compressed 13884929 / 14036058 / -1.1% 21031904 / 21183633 / -0.7% 0.66 / 0.66 / -0.4%
tpcds_q92/duckdb:vortex-file-compressed 11622352 / 11744396 / -1.0% 21005968 / 19448397 / +8.0% 0.55 / 0.60 / -8.4%
tpcds_q93/duckdb:vortex-file-compressed 10697382 / 10293606 / +3.9% 24528749 / 24718827 / -0.8% 0.44 / 0.42 / +4.7%
tpcds_q94/duckdb:vortex-file-compressed 21729176 / 21621991 / +0.5% 31127540 / 31284585 / -0.5% 0.70 / 0.69 / +1.0%
tpcds_q95/duckdb:vortex-file-compressed 40699350 / 40126677 / +1.4% 51917264 / 54448481 / -4.6% 0.78 / 0.74 / +6.4%
tpcds_q96/duckdb:vortex-file-compressed 6926538 / 6649713 / +4.2% 16224884 / 15391249 / +5.4% 0.43 / 0.43 / -1.2%
tpcds_q97/duckdb:vortex-file-compressed 22825638 / 22898348 / -0.3% 32204787 / 31040870 / +3.7% 0.71 / 0.74 / -3.9%
tpcds_q98/duckdb:vortex-file-compressed 11039344 / 11084294 / -0.4% 18938571 / 19152549 / -1.1% 0.58 / 0.58 / +0.7%
tpcds_q99/duckdb:vortex-file-compressed 14657081 / 14900617 / -1.6% 22408079 / 22796978 / -1.7% 0.65 / 0.65 / +0.1%
duckdb / parquet / ns (1.001x ➖, 1↑ 1↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpcds_q01/duckdb:parquet 24275828 / 24324988 / -0.2% 31129173 / 31196200 / -0.2% 0.78 / 0.78 / +0.0%
tpcds_q02/duckdb:parquet 18571290 / 18634162 / -0.3% 24954701 / 24500490 / +1.9% 0.74 / 0.76 / -2.2%
tpcds_q03/duckdb:parquet 9850682 / 9911615 / -0.6% 15662677 / 16077600 / -2.6% 0.63 / 0.62 / +2.0%
tpcds_q04/duckdb:parquet 118290025 / 118208816 / +0.1% 127020259 / 128197788 / -0.9% 0.93 / 0.92 / +1.0%
tpcds_q05/duckdb:parquet 28946343 / 28911742 / +0.1% 33291192 / 33029545 / +0.8% 0.87 / 0.88 / -0.7%
tpcds_q06/duckdb:parquet 27000105 / 26865779 / +0.5% 36197803 / 35791940 / +1.1% 0.75 / 0.75 / -0.6%
tpcds_q07/duckdb:parquet 31106970 / 31247984 / -0.5% 40822662 / 39862514 / +2.4% 0.76 / 0.78 / -2.8%
tpcds_q08/duckdb:parquet 20338197 / 20243734 / +0.5% 26417985 / 24586102 / +7.5% 0.77 / 0.82 / -6.5%
tpcds_q09/duckdb:parquet 27366032 / 27848754 / -1.7% 30180027 / 31174342 / -3.2% 0.91 / 0.89 / +1.5%
tpcds_q10/duckdb:parquet 33008834 / 32971021 / +0.1% 41012799 / 41099255 / -0.2% 0.80 / 0.80 / +0.3%
tpcds_q11/duckdb:parquet 69104695 / 68691702 / +0.6% 76699568 / 76440369 / +0.3% 0.90 / 0.90 / +0.3%
tpcds_q12/duckdb:parquet 14307030 / 14254526 / +0.4% 19698668 / 20270330 / -2.8% 0.73 / 0.70 / +3.3%
tpcds_q13/duckdb:parquet 32639302 / 31317911 / +4.2% 41646749 / 40568480 / +2.7% 0.78 / 0.77 / +1.5%
tpcds_q14/duckdb:parquet 66231956 / 65336188 / +1.4% 70109486 / 71039186 / -1.3% 0.94 / 0.92 / +2.7%
tpcds_q15/duckdb:parquet 16952644 / 16955845 / -0.0% 23133412 / 23115268 / +0.1% 0.73 / 0.73 / -0.1%
tpcds_q16/duckdb:parquet 30666984 / 30743917 / -0.3% 37809837 / 38422332 / -1.6% 0.81 / 0.80 / +1.4%
tpcds_q17/duckdb:parquet 35173865 / 35051752 / +0.3% 40467858 / 40617125 / -0.4% 0.87 / 0.86 / +0.7%
tpcds_q18/duckdb:parquet 47898522 / 47930897 / -0.1% 55993196 / 55148334 / +1.5% 0.86 / 0.87 / -1.6%
tpcds_q19/duckdb:parquet 19112958 / 18924994 / +1.0% 26113037 / 26109217 / +0.0% 0.73 / 0.72 / +1.0%
tpcds_q20/duckdb:parquet 15355949 / 15147714 / +1.4% 20128517 / 20060428 / +0.3% 0.76 / 0.76 / +1.0%
tpcds_q21/duckdb:parquet 10854454 / 10838384 / +0.1% 17320334 / 17899871 / -3.2% 0.63 / 0.61 / +3.5%
tpcds_q22/duckdb:parquet 21122020 / 20781539 / +1.6% 26831032 / 26923173 / -0.3% 0.79 / 0.77 / +2.0%
tpcds_q23/duckdb:parquet 42249420 / 42885302 / -1.5% 48456680 / 48287789 / +0.3% 0.87 / 0.89 / -1.8%
tpcds_q24/duckdb:parquet 30972654 / 30779475 / +0.6% 36750328 / 37270281 / -1.4% 0.84 / 0.83 / +2.1%
tpcds_q25/duckdb:parquet 31020398 / 30997677 / +0.1% 37617084 / 37855018 / -0.6% 0.82 / 0.82 / +0.7%
tpcds_q26/duckdb:parquet 29470409 / 29287426 / +0.6% 35927390 / 35460235 / +1.3% 0.82 / 0.83 / -0.7%
tpcds_q27/duckdb:parquet 33124705 / 33886871 / -2.2% 42876801 / 43115767 / -0.6% 0.77 / 0.79 / -1.7%
tpcds_q28/duckdb:parquet 27384552 / 26985334 / +1.5% 33318839 / 33971368 / -1.9% 0.82 / 0.79 / +3.5%
tpcds_q29/duckdb:parquet 32859408 / 32804671 / +0.2% 39965823 / 40841577 / -2.1% 0.82 / 0.80 / +2.4%
tpcds_q30/duckdb:parquet 36004411 / 36071138 / -0.2% 45192584 / 44925345 / +0.6% 0.80 / 0.80 / -0.8%
tpcds_q31/duckdb:parquet 36086107 / 36024078 / +0.2% 43451308 / 43402632 / +0.1% 0.83 / 0.83 / +0.1%
tpcds_q32/duckdb:parquet 14452708 / 14531508 / -0.5% 21371447 / 21357470 / +0.1% 0.68 / 0.68 / -0.6%
tpcds_q33/duckdb:parquet 23701154 / 23581151 / +0.5% 29494185 / 29450236 / +0.1% 0.80 / 0.80 / +0.4%
tpcds_q34/duckdb:parquet 19125384 / 17147962 / +11.5% 🔴 24605531 / 24525863 / +0.3% 0.78 / 0.70 / +11.2%
tpcds_q35/duckdb:parquet 35596840 / 35399372 / +0.6% 44693965 / 44928840 / -0.5% 0.80 / 0.79 / +1.1%
tpcds_q36/duckdb:parquet 43552021 / 40763078 / +6.8% 49036452 / 48496032 / +1.1% 0.89 / 0.84 / +5.7%
tpcds_q37/duckdb:parquet 13147304 / 13250798 / -0.8% 19977878 / 19819538 / +0.8% 0.66 / 0.67 / -1.6%
tpcds_q38/duckdb:parquet 29792858 / 29898433 / -0.4% 34360630 / 35215706 / -2.4% 0.87 / 0.85 / +2.1%
tpcds_q39/duckdb:parquet 23498234 / 23456176 / +0.2% 30160209 / 30795212 / -2.1% 0.78 / 0.76 / +2.3%
tpcds_q40/duckdb:parquet 16336558 / 16488545 / -0.9% 22395339 / 21956973 / +2.0% 0.73 / 0.75 / -2.9%
tpcds_q41/duckdb:parquet 12276729 / 12158214 / +1.0% 18426772 / 18614898 / -1.0% 0.67 / 0.65 / +2.0%
tpcds_q42/duckdb:parquet 9672805 / 9757014 / -0.9% 15679105 / 15683186 / -0.0% 0.62 / 0.62 / -0.8%
tpcds_q43/duckdb:parquet 12520227 / 12567830 / -0.4% 18303601 / 18685103 / -2.0% 0.68 / 0.67 / +1.7%
tpcds_q44/duckdb:parquet 21162816 / 21723820 / -2.6% 28469179 / 27036799 / +5.3% 0.74 / 0.80 / -7.5%
tpcds_q45/duckdb:parquet 21296673 / 21475766 / -0.8% 28703012 / 28993524 / -1.0% 0.74 / 0.74 / +0.2%
tpcds_q46/duckdb:parquet 36043144 / 35949510 / +0.3% 44546374 / 45611400 / -2.3% 0.81 / 0.79 / +2.7%
tpcds_q47/duckdb:parquet 34452626 / 34428334 / +0.1% 41390327 / 41594611 / -0.5% 0.83 / 0.83 / +0.6%
tpcds_q48/duckdb:parquet 28989036 / 29154370 / -0.6% 38158819 / 37849120 / +0.8% 0.76 / 0.77 / -1.4%
tpcds_q49/duckdb:parquet 31771956 / 30374199 / +4.6% 36842308 / 36794620 / +0.1% 0.86 / 0.83 / +4.5%
tpcds_q50/duckdb:parquet 20051992 / 19966589 / +0.4% 26426246 / 26222281 / +0.8% 0.76 / 0.76 / -0.3%
tpcds_q51/duckdb:parquet 52963242 / 52574841 / +0.7% 59281066 / 61599974 / -3.8% 0.89 / 0.85 / +4.7%
tpcds_q52/duckdb:parquet 9607010 / 9767799 / -1.6% 15829379 / 15969132 / -0.9% 0.61 / 0.61 / -0.8%
tpcds_q53/duckdb:parquet 14133436 / 14070330 / +0.4% 21440013 / 21480507 / -0.2% 0.66 / 0.66 / +0.6%
tpcds_q54/duckdb:parquet 25164858 / 25266582 / -0.4% 32474350 / 32703256 / -0.7% 0.77 / 0.77 / +0.3%
tpcds_q55/duckdb:parquet 9633632 / 9595406 / +0.4% 15571147 / 15828583 / -1.6% 0.62 / 0.61 / +2.1%
tpcds_q56/duckdb:parquet 26721154 / 25073690 / +6.6% 30426505 / 30975701 / -1.8% 0.88 / 0.81 / +8.5%
tpcds_q57/duckdb:parquet 30645992 / 30902736 / -0.8% 36190087 / 36502754 / -0.9% 0.85 / 0.85 / +0.0%
tpcds_q58/duckdb:parquet 24353180 / 24526126 / -0.7% 30708509 / 30119382 / +2.0% 0.79 / 0.81 / -2.6%
tpcds_q59/duckdb:parquet 23413818 / 23259483 / +0.7% 30949456 / 30098960 / +2.8% 0.76 / 0.77 / -2.1%
tpcds_q60/duckdb:parquet 27177082 / 27725714 / -2.0% 31766526 / 33442437 / -5.0% 0.86 / 0.83 / +3.2%
tpcds_q61/duckdb:parquet 24794709 / 25606680 / -3.2% 30020196 / 31203503 / -3.8% 0.83 / 0.82 / +0.6%
tpcds_q62/duckdb:parquet 13253138 / 13313222 / -0.5% 18987674 / 18464802 / +2.8% 0.70 / 0.72 / -3.2%
tpcds_q63/duckdb:parquet 13851557 / 13663310 / +1.4% 20026657 / 20132066 / -0.5% 0.69 / 0.68 / +1.9%
tpcds_q64/duckdb:parquet 71797050 / 71666954 / +0.2% 81847146 / 83287042 / -1.7% 0.88 / 0.86 / +1.9%
tpcds_q65/duckdb:parquet 19275764 / 19592344 / -1.6% 25427072 / 25348221 / +0.3% 0.76 / 0.77 / -1.9%
tpcds_q66/duckdb:parquet 35614613 / 35644940 / -0.1% 42458242 / 42173351 / +0.7% 0.84 / 0.85 / -0.8%
tpcds_q67/duckdb:parquet 60680322 / 61157528 / -0.8% 68313707 / 68148243 / +0.2% 0.89 / 0.90 / -1.0%
tpcds_q68/duckdb:parquet 28849484 / 29481710 / -2.1% 37179850 / 39095356 / -4.9% 0.78 / 0.75 / +2.9%
tpcds_q69/duckdb:parquet 26388570 / 26255668 / +0.5% 34346723 / 34369435 / -0.1% 0.77 / 0.76 / +0.6%
tpcds_q70/duckdb:parquet 19656359 / 19605662 / +0.3% 26813652 / 26893805 / -0.3% 0.73 / 0.73 / +0.6%
tpcds_q71/duckdb:parquet 17236146 / 17090382 / +0.9% 24395859 / 24390662 / +0.0% 0.71 / 0.70 / +0.8%
tpcds_q72/duckdb:parquet 54748724 / 54365961 / +0.7% 62820334 / 62950402 / -0.2% 0.87 / 0.86 / +0.9%
tpcds_q73/duckdb:parquet 15086834 / 15367295 / -1.8% 22067203 / 22553756 / -2.2% 0.68 / 0.68 / +0.3%
tpcds_q74/duckdb:parquet 84310248 / 84221635 / +0.1% 92129870 / 92821190 / -0.7% 0.92 / 0.91 / +0.9%
tpcds_q75/duckdb:parquet 45309790 / 44993772 / +0.7% 51377916 / 51309455 / +0.1% 0.88 / 0.88 / +0.6%
tpcds_q76/duckdb:parquet 18618758 / 19576890 / -4.9% 24270044 / 24225727 / +0.2% 0.77 / 0.81 / -5.1%
tpcds_q77/duckdb:parquet 25441534 / 24492326 / +3.9% 32412632 / 32336267 / +0.2% 0.78 / 0.76 / +3.6%
tpcds_q78/duckdb:parquet 80530193 / 79645508 / +1.1% 87256305 / 85907717 / +1.6% 0.92 / 0.93 / -0.5%
tpcds_q79/duckdb:parquet 23575424 / 23806820 / -1.0% 29303229 / 29482395 / -0.6% 0.80 / 0.81 / -0.4%
tpcds_q80/duckdb:parquet 36896872 / 38412072 / -3.9% 44062569 / 44595083 / -1.2% 0.84 / 0.86 / -2.8%
tpcds_q81/duckdb:parquet 36751192 / 37201050 / -1.2% 45564549 / 45011626 / +1.2% 0.81 / 0.83 / -2.4%
tpcds_q82/duckdb:parquet 13763764 / 13790059 / -0.2% 20984298 / 20672355 / +1.5% 0.66 / 0.67 / -1.7%
tpcds_q83/duckdb:parquet 20777371 / 20665604 / +0.5% 25496865 / 25583247 / -0.3% 0.81 / 0.81 / +0.9%
tpcds_q84/duckdb:parquet 23168928 / 23572548 / -1.7% 28995137 / 29452344 / -1.6% 0.80 / 0.80 / -0.2%
tpcds_q85/duckdb:parquet 32886924 / 32586248 / +0.9% 40658305 / 40637005 / +0.1% 0.81 / 0.80 / +0.9%
tpcds_q86/duckdb:parquet 12067349 / 12130588 / -0.5% 17381390 / 17309861 / +0.4% 0.69 / 0.70 / -0.9%
tpcds_q87/duckdb:parquet 31551510 / 31566746 / -0.0% 36900083 / 35925387 / +2.7% 0.86 / 0.88 / -2.7%
tpcds_q88/duckdb:parquet 39266388 / 38985746 / +0.7% 46829073 / 48049433 / -2.5% 0.84 / 0.81 / +3.3%
tpcds_q89/duckdb:parquet 14364391 / 16020148 / -10.3% 🟢 21654199 / 21529172 / +0.6% 0.66 / 0.74 / -10.9%
tpcds_q90/duckdb:parquet 10381694 / 10257418 / +1.2% 15222808 / 15671675 / -2.9% 0.68 / 0.65 / +4.2%
tpcds_q91/duckdb:parquet 21210672 / 21514010 / -1.4% 28832030 / 28920156 / -0.3% 0.74 / 0.74 / -1.1%
tpcds_q92/duckdb:parquet 15943012 / 15943692 / -0.0% 22995628 / 22579147 / +1.8% 0.69 / 0.71 / -1.8%
tpcds_q93/duckdb:parquet 14355050 / 14280433 / +0.5% 21008335 / 20471031 / +2.6% 0.68 / 0.70 / -2.0%
tpcds_q94/duckdb:parquet 25746556 / 25819291 / -0.3% 33540431 / 32873032 / +2.0% 0.77 / 0.79 / -2.3%
tpcds_q95/duckdb:parquet 43854498 / 43978529 / -0.3% 49787376 / 50490336 / -1.4% 0.88 / 0.87 / +1.1%
tpcds_q96/duckdb:parquet 8375824 / 8445108 / -0.8% 14043549 / 13728342 / +2.3% 0.60 / 0.62 / -3.0%
tpcds_q97/duckdb:parquet 28000282 / 27874404 / +0.5% 33206622 / 34468727 / -3.7% 0.84 / 0.81 / +4.3%
tpcds_q98/duckdb:parquet 16649014 / 16653833 / -0.0% 23115947 / 23390632 / -1.2% 0.72 / 0.71 / +1.2%
tpcds_q99/duckdb:parquet 19415734 / 19140899 / +1.4% 24109822 / 25132646 / -4.1% 0.81 / 0.76 / +5.7%

No file size changes detected.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks: Clickbench on NVME 📖

Commits: PR 6a4c019c vs base f476db42
Verdict: No clear signal (low confidence)
Attributed Vortex impact: -0.2%
Engines: DataFusion No clear signal (-0.3%, low confidence) · DuckDB No clear signal (-0.2%, low confidence)
Vortex (geomean): hot 0.997x ➖ · cold 1.000x ➖
Parquet (geomean): hot 0.999x ➖ · cold 0.992x ➖
Shifts: Parquet (control) -0.1% · Median polish -0.2%

How to read Verdict and Engines
  • Verdict: Overall PR-level signal after subtracting baseline drift estimated from Parquet control rows. It can be Likely improvement, Likely regression, or No clear signal.
  • Engines: Per-engine attribution. DataFusion is compared against DataFusion/Parquet controls; DuckDB is compared against DuckDB/Parquet controls. This answers whether each engine improved or regressed independently.
  • Confidence: Based on directional consistency, share of rows above the noise floor, and control-run noise.
  • Hot vs cold: Every measurement is run several times. The first run is reported as the cold run, and the median of the runs after it is reported as the hot run. The verdict and significance use hot runs; each target's geomean reports hot and cold beside each other where the individual runs were recorded and hot alone where they were not, the cold column shows first-run cost per row, and hot/cold is how much of each run the warm path saves. Rows whose results predate per-run reporting show only one value, taken from the value the runner reported.
  • Table cells: Each cell reads PR / base / %diff. The hot and cold columns mark a change as 🔴 slower or 🟢 faster once it clears this suite's threshold; anything smaller is noise here and is left unmarked, as is hot/cold, because a shift in the warm-up ratio is not a win or a loss by itself.

datafusion / vortex-file-compressed / ns (0.992x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
clickbench_q00/datafusion:vortex-file-compressed 1250852 / 1266662 / -1.2% 23156440 / 23359471 / -0.9% 0.05 / 0.05 / -0.4%
clickbench_q01/datafusion:vortex-file-compressed 5742208 / 5878133 / -2.3% 32944371 / 33820904 / -2.6% 0.17 / 0.17 / +0.3%
clickbench_q02/datafusion:vortex-file-compressed 8970807 / 9256198 / -3.1% 37375887 / 37643636 / -0.7% 0.24 / 0.25 / -2.4%
clickbench_q03/datafusion:vortex-file-compressed 10784626 / 11533012 / -6.5% 53098831 / 55050025 / -3.5% 0.20 / 0.21 / -3.1%
clickbench_q04/datafusion:vortex-file-compressed 55993776 / 55229658 / +1.4% 93022322 / 91492744 / +1.7% 0.60 / 0.60 / -0.3%
clickbench_q05/datafusion:vortex-file-compressed 75422511 / 75627930 / -0.3% 116251545 / 115724386 / +0.5% 0.65 / 0.65 / -0.7%
clickbench_q06/datafusion:vortex-file-compressed 1248663 / 1249140 / -0.0% 22188869 / 21834259 / +1.6% 0.06 / 0.06 / -1.6%
clickbench_q07/datafusion:vortex-file-compressed 9126854 / 9376610 / -2.7% 32686240 / 33716325 / -3.1% 0.28 / 0.28 / +0.4%
clickbench_q08/datafusion:vortex-file-compressed 73335268 / 77693717 / -5.6% 114958359 / 115135196 / -0.2% 0.64 / 0.67 / -5.5%
clickbench_q09/datafusion:vortex-file-compressed 165703794 / 167863848 / -1.3% 206346572 / 213865339 / -3.5% 0.80 / 0.78 / +2.3%
clickbench_q10/datafusion:vortex-file-compressed 23031680 / 22564672 / +2.1% 66835306 / 63911704 / +4.6% 0.34 / 0.35 / -2.4%
clickbench_q11/datafusion:vortex-file-compressed 24696012 / 24590180 / +0.4% 69475001 / 64256481 / +8.1% 0.36 / 0.38 / -7.1%
clickbench_q12/datafusion:vortex-file-compressed 72090369 / 70880816 / +1.7% 120860999 / 117206275 / +3.1% 0.60 / 0.60 / -1.4%
clickbench_q13/datafusion:vortex-file-compressed 115350734 / 116706564 / -1.2% 178071963 / 177047474 / +0.6% 0.65 / 0.66 / -1.7%
clickbench_q14/datafusion:vortex-file-compressed 71613160 / 76374656 / -6.2% 120921033 / 121965869 / -0.9% 0.59 / 0.63 / -5.4%
clickbench_q15/datafusion:vortex-file-compressed 60250482 / 60411933 / -0.3% 95755389 / 101555182 / -5.7% 0.63 / 0.59 / +5.8%
clickbench_q16/datafusion:vortex-file-compressed 150621764 / 146839965 / +2.6% 214377275 / 205755004 / +4.2% 0.70 / 0.71 / -1.6%
clickbench_q17/datafusion:vortex-file-compressed 148041775 / 148428438 / -0.3% 216297582 / 217160666 / -0.4% 0.68 / 0.68 / +0.1%
clickbench_q18/datafusion:vortex-file-compressed 292252361 / 290727592 / +0.5% 368347945 / 397577118 / -7.4% 0.79 / 0.73 / +8.5%
clickbench_q19/datafusion:vortex-file-compressed 7253573 / 7664374 / -5.4% 50931801 / 48488412 / +5.0% 0.14 / 0.16 / -9.9%
clickbench_q20/datafusion:vortex-file-compressed 61008498 / 59509612 / +2.5% 224591119 / 224233496 / +0.2% 0.27 / 0.27 / +2.4%
clickbench_q21/datafusion:vortex-file-compressed 87645839 / 86564365 / +1.2% 269711066 / 270921745 / -0.4% 0.32 / 0.32 / +1.7%
clickbench_q22/datafusion:vortex-file-compressed 95612826 / 98145028 / -2.6% 343449434 / 341566446 / +0.6% 0.28 / 0.29 / -3.1%
clickbench_q23/datafusion:vortex-file-compressed 197115228 / 193941902 / +1.6% 486110386 / 480233633 / +1.2% 0.41 / 0.40 / +0.4%
clickbench_q24/datafusion:vortex-file-compressed 15300624 / 14689942 / +4.2% 65103940 / 68513886 / -5.0% 0.24 / 0.21 / +9.6%
clickbench_q25/datafusion:vortex-file-compressed 16791170 / 17876358 / -6.1% 56707937 / 55271507 / +2.6% 0.30 / 0.32 / -8.4%
clickbench_q26/datafusion:vortex-file-compressed 15475993 / 15540748 / -0.4% 64973628 / 69251795 / -6.2% 0.24 / 0.22 / +6.1%
clickbench_q27/datafusion:vortex-file-compressed 95850698 / 95844892 / +0.0% 242924424 / 238214801 / +2.0% 0.39 / 0.40 / -1.9%
clickbench_q28/datafusion:vortex-file-compressed 553329524 / 555949242 / -0.5% 613688398 / 620530862 / -1.1% 0.90 / 0.90 / +0.6%
clickbench_q29/datafusion:vortex-file-compressed 22741556 / 22619948 / +0.5% 50351925 / 48789386 / +3.2% 0.45 / 0.46 / -2.6%
clickbench_q30/datafusion:vortex-file-compressed 58380280 / 57974250 / +0.7% 107433146 / 104632099 / +2.7% 0.54 / 0.55 / -1.9%
clickbench_q31/datafusion:vortex-file-compressed 65504704 / 66124742 / -0.9% 152601642 / 153937121 / -0.9% 0.43 / 0.43 / -0.1%
clickbench_q32/datafusion:vortex-file-compressed 282477064 / 286539714 / -1.4% 383990834 / 389126877 / -1.3% 0.74 / 0.74 / -0.1%
clickbench_q33/datafusion:vortex-file-compressed 314641145 / 320658537 / -1.9% 420988544 / 433869506 / -3.0% 0.75 / 0.74 / +1.1%
clickbench_q34/datafusion:vortex-file-compressed 314682242 / 315681500 / -0.3% 418072792 / 431077200 / -3.0% 0.75 / 0.73 / +2.8%
clickbench_q35/datafusion:vortex-file-compressed 54391053 / 56917798 / -4.4% 87363584 / 89060182 / -1.9% 0.62 / 0.64 / -2.6%
clickbench_q36/datafusion:vortex-file-compressed 37513294 / 37056341 / +1.2% 66047203 / 65429195 / +0.9% 0.57 / 0.57 / +0.3%
clickbench_q37/datafusion:vortex-file-compressed 21498054 / 22062792 / -2.6% 46972349 / 49812137 / -5.7% 0.46 / 0.44 / +3.3%
clickbench_q38/datafusion:vortex-file-compressed 11534989 / 11628018 / -0.8% 38627232 / 40172128 / -3.8% 0.30 / 0.29 / +3.2%
clickbench_q39/datafusion:vortex-file-compressed 77866108 / 77611452 / +0.3% 109991135 / 110624894 / -0.6% 0.71 / 0.70 / +0.9%
clickbench_q40/datafusion:vortex-file-compressed 11239368 / 11092708 / +1.3% 37464590 / 37030262 / +1.2% 0.30 / 0.30 / +0.1%
clickbench_q41/datafusion:vortex-file-compressed 10812638 / 10615928 / +1.9% 36847784 / 36368689 / +1.3% 0.29 / 0.29 / +0.5%
clickbench_q42/datafusion:vortex-file-compressed 10910920 / 10729772 / +1.7% 37089202 / 37157500 / -0.2% 0.29 / 0.29 / +1.9%
datafusion / parquet / ns (0.995x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
clickbench_q00/datafusion:parquet 1273887 / 1265991 / +0.6% 50008179 / 49833868 / +0.3% 0.03 / 0.03 / +0.3%
clickbench_q01/datafusion:parquet 15812420 / 16199252 / -2.4% 71913640 / 67160706 / +7.1% 0.22 / 0.24 / -8.8%
clickbench_q02/datafusion:parquet 18921512 / 19135092 / -1.1% 79764872 / 80605269 / -1.0% 0.24 / 0.24 / -0.1%
clickbench_q03/datafusion:parquet 16937736 / 16722596 / +1.3% 78347880 / 80608156 / -2.8% 0.22 / 0.21 / +4.2%
clickbench_q04/datafusion:parquet 63960182 / 62910774 / +1.7% 125119244 / 127466028 / -1.8% 0.51 / 0.49 / +3.6%
clickbench_q05/datafusion:parquet 88003833 / 89468516 / -1.6% 156801184 / 155783906 / +0.7% 0.56 / 0.57 / -2.3%
clickbench_q06/datafusion:parquet 1286400 / 1244478 / +3.4% 48470301 / 50662855 / -4.3% 0.03 / 0.02 / +8.0%
clickbench_q07/datafusion:parquet 16925014 / 16782800 / +0.8% 67908650 / 69959674 / -2.9% 0.25 / 0.24 / +3.9%
clickbench_q08/datafusion:parquet 84799660 / 87246576 / -2.8% 164211805 / 167537358 / -2.0% 0.52 / 0.52 / -0.8%
clickbench_q09/datafusion:parquet 189517448 / 190901573 / -0.7% 271490718 / 265931229 / +2.1% 0.70 / 0.72 / -2.8%
clickbench_q10/datafusion:parquet 35439092 / 36274236 / -2.3% 101213390 / 102896283 / -1.6% 0.35 / 0.35 / -0.7%
clickbench_q11/datafusion:parquet 43701366 / 43007926 / +1.6% 109573309 / 112190733 / -2.3% 0.40 / 0.38 / +4.0%
clickbench_q12/datafusion:parquet 95849710 / 95675882 / +0.2% 162068845 / 163409838 / -0.8% 0.59 / 0.59 / +1.0%
clickbench_q13/datafusion:parquet 148109800 / 146928762 / +0.8% 227482854 / 232617752 / -2.2% 0.65 / 0.63 / +3.1%
clickbench_q14/datafusion:parquet 101413218 / 103945149 / -2.4% 174623389 / 173472173 / +0.7% 0.58 / 0.60 / -3.1%
clickbench_q15/datafusion:parquet 71679682 / 69930642 / +2.5% 130035088 / 134032152 / -3.0% 0.55 / 0.52 / +5.7%
clickbench_q16/datafusion:parquet 156689166 / 155233382 / +0.9% 231896710 / 236461122 / -1.9% 0.68 / 0.66 / +2.9%
clickbench_q17/datafusion:parquet 154511331 / 155656645 / -0.7% 235170638 / 235630003 / -0.2% 0.66 / 0.66 / -0.5%
clickbench_q18/datafusion:parquet 306965531 / 311367960 / -1.4% 416095169 / 425647528 / -2.2% 0.74 / 0.73 / +0.8%
clickbench_q19/datafusion:parquet 18512900 / 18943028 / -2.3% 79421047 / 77160990 / +2.9% 0.23 / 0.25 / -5.1%
clickbench_q20/datafusion:parquet 176502239 / 179258098 / -1.5% 307316104 / 296351764 / +3.7% 0.57 / 0.60 / -5.1%
clickbench_q21/datafusion:parquet 172687493 / 173406882 / -0.4% 301059847 / 316140962 / -4.8% 0.57 / 0.55 / +4.6%
clickbench_q22/datafusion:parquet 255732763 / 261322342 / -2.1% 422467139 / 453288822 / -6.8% 0.61 / 0.58 / +5.0%
clickbench_q23/datafusion:parquet 1015273454 / 1010256806 / +0.5% 1188409347 / 1192717245 / -0.4% 0.85 / 0.85 / +0.9%
clickbench_q24/datafusion:parquet 30327860 / 29978214 / +1.2% 88616021 / 91279455 / -2.9% 0.34 / 0.33 / +4.2%
clickbench_q25/datafusion:parquet 36431814 / 37480176 / -2.8% 100585151 / 102947342 / -2.3% 0.36 / 0.36 / -0.5%
clickbench_q26/datafusion:parquet 30281850 / 31032833 / -2.4% 88945953 / 90110350 / -1.3% 0.34 / 0.34 / -1.1%
clickbench_q27/datafusion:parquet 191536907 / 194088816 / -1.3% 292407624 / 307983976 / -5.1% 0.66 / 0.63 / +3.9%
clickbench_q28/datafusion:parquet 614967316 / 619106756 / -0.7% 705761149 / 709664106 / -0.5% 0.87 / 0.87 / -0.1%
clickbench_q29/datafusion:parquet 29641534 / 29561132 / +0.3% 90757952 / 89098215 / +1.9% 0.33 / 0.33 / -1.6%
clickbench_q30/datafusion:parquet 89320815 / 90502456 / -1.3% 171717409 / 173077938 / -0.8% 0.52 / 0.52 / -0.5%
clickbench_q31/datafusion:parquet 104078795 / 105693898 / -1.5% 194414157 / 203064326 / -4.3% 0.54 / 0.52 / +2.9%
clickbench_q32/datafusion:parquet 309801012 / 310714886 / -0.3% 424180058 / 433915012 / -2.2% 0.73 / 0.72 / +2.0%
clickbench_q33/datafusion:parquet 377954618 / 379234076 / -0.3% 474470237 / 479385769 / -1.0% 0.80 / 0.79 / +0.7%
clickbench_q34/datafusion:parquet 375388484 / 376044935 / -0.2% 473846672 / 479747382 / -1.2% 0.79 / 0.78 / +1.1%
clickbench_q35/datafusion:parquet 64019719 / 65800214 / -2.7% 122993924 / 124219249 / -1.0% 0.52 / 0.53 / -1.7%
clickbench_q36/datafusion:parquet 72835862 / 73311750 / -0.6% 134690594 / 136778605 / -1.5% 0.54 / 0.54 / +0.9%
clickbench_q37/datafusion:parquet 35518088 / 35482038 / +0.1% 90500145 / 90790482 / -0.3% 0.39 / 0.39 / +0.4%
clickbench_q38/datafusion:parquet 47503537 / 48051443 / -1.1% 106987891 / 108647172 / -1.5% 0.44 / 0.44 / +0.4%
clickbench_q39/datafusion:parquet 143268776 / 143848430 / -0.4% 211174767 / 213299033 / -1.0% 0.68 / 0.67 / +0.6%
clickbench_q40/datafusion:parquet 19900302 / 19840472 / +0.3% 76479269 / 76998913 / -0.7% 0.26 / 0.26 / +1.0%
clickbench_q41/datafusion:parquet 18763064 / 18933055 / -0.9% 76326585 / 76225890 / +0.1% 0.25 / 0.25 / -1.0%
clickbench_q42/datafusion:parquet 19287924 / 19287824 / +0.0% 74878353 / 74597093 / +0.4% 0.26 / 0.26 / -0.4%
duckdb / vortex-file-compressed / ns (1.001x ➖, 0↑ 1↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
clickbench_q00/duckdb:vortex-file-compressed 2477882 / 2172615 / +14.1% 🔴 23486063 / 24977993 / -6.0% 0.11 / 0.09 / +21.3%
clickbench_q01/duckdb:vortex-file-compressed 6946665 / 6941038 / +0.1% 27131357 / 26900384 / +0.9% 0.26 / 0.26 / -0.8%
clickbench_q02/duckdb:vortex-file-compressed 8130401 / 7964631 / +2.1% 37056416 / 36248027 / +2.2% 0.22 / 0.22 / -0.1%
clickbench_q03/duckdb:vortex-file-compressed 13810275 / 14232660 / -3.0% 56736453 / 57748334 / -1.8% 0.24 / 0.25 / -1.2%
clickbench_q04/duckdb:vortex-file-compressed 55576359 / 55968628 / -0.7% 97587520 / 100594167 / -3.0% 0.57 / 0.56 / +2.4%
clickbench_q05/duckdb:vortex-file-compressed 67105128 / 65083937 / +3.1% 94689822 / 94408464 / +0.3% 0.71 / 0.69 / +2.8%
clickbench_q06/duckdb:vortex-file-compressed 2688130 / 2699498 / -0.4% 31252090 / 28102141 / +11.2% 🔴 0.09 / 0.10 / -10.5%
clickbench_q07/duckdb:vortex-file-compressed 8331900 / 8551618 / -2.6% 30310400 / 30841354 / -1.7% 0.27 / 0.28 / -0.9%
clickbench_q08/duckdb:vortex-file-compressed 67626825 / 68269150 / -0.9% 112297356 / 113007932 / -0.6% 0.60 / 0.60 / -0.3%
clickbench_q09/duckdb:vortex-file-compressed 92971911 / 87624424 / +6.1% 130860091 / 131576262 / -0.5% 0.71 / 0.67 / +6.7%
clickbench_q10/duckdb:vortex-file-compressed 26187626 / 26276918 / -0.3% 69992273 / 72271665 / -3.2% 0.37 / 0.36 / +2.9%
clickbench_q11/duckdb:vortex-file-compressed 28888504 / 28768162 / +0.4% 74314839 / 72092838 / +3.1% 0.39 / 0.40 / -2.6%
clickbench_q12/duckdb:vortex-file-compressed 71253004 / 69617384 / +2.3% 102730936 / 98410610 / +4.4% 0.69 / 0.71 / -2.0%
clickbench_q13/duckdb:vortex-file-compressed 128777176 / 124452416 / +3.5% 166312846 / 165804928 / +0.3% 0.77 / 0.75 / +3.2%
clickbench_q14/duckdb:vortex-file-compressed 74131232 / 74726958 / -0.8% 104123291 / 106931142 / -2.6% 0.71 / 0.70 / +1.9%
clickbench_q15/duckdb:vortex-file-compressed 74734516 / 74856108 / -0.2% 116417727 / 115233999 / +1.0% 0.64 / 0.65 / -1.2%
clickbench_q16/duckdb:vortex-file-compressed 137934166 / 137640496 / +0.2% 180985726 / 184946455 / -2.1% 0.76 / 0.74 / +2.4%
clickbench_q17/duckdb:vortex-file-compressed 143348213 / 139465546 / +2.8% 180525127 / 176815912 / +2.1% 0.79 / 0.79 / +0.7%
clickbench_q18/duckdb:vortex-file-compressed 261777528 / 258030720 / +1.5% 318500050 / 316472045 / +0.6% 0.82 / 0.82 / +0.8%
clickbench_q19/duckdb:vortex-file-compressed 9109844 / 9222921 / -1.2% 43554605 / 45294644 / -3.8% 0.21 / 0.20 / +2.7%
clickbench_q20/duckdb:vortex-file-compressed 65424084 / 65629873 / -0.3% 167719095 / 164806003 / +1.8% 0.39 / 0.40 / -2.0%
clickbench_q21/duckdb:vortex-file-compressed 96776096 / 97368463 / -0.6% 275905813 / 288775199 / -4.5% 0.35 / 0.34 / +4.0%
clickbench_q22/duckdb:vortex-file-compressed 172693622 / 173552580 / -0.5% 432746390 / 437937052 / -1.2% 0.40 / 0.40 / +0.7%
clickbench_q23/duckdb:vortex-file-compressed 32488890 / 34133127 / -4.8% 85754407 / 88777005 / -3.4% 0.38 / 0.38 / -1.5%
clickbench_q24/duckdb:vortex-file-compressed 13725422 / 14301884 / -4.0% 38390477 / 34328373 / +11.8% 🔴 0.36 / 0.42 / -14.2%
clickbench_q25/duckdb:vortex-file-compressed 18209368 / 18758780 / -2.9% 49721635 / 52591646 / -5.5% 0.37 / 0.36 / +2.7%
clickbench_q26/duckdb:vortex-file-compressed 11283924 / 11319576 / -0.3% 34839614 / 33523587 / +3.9% 0.32 / 0.34 / -4.1%
clickbench_q27/duckdb:vortex-file-compressed 53294152 / 53680325 / -0.7% 222830405 / 221982002 / +0.4% 0.24 / 0.24 / -1.1%
clickbench_q28/duckdb:vortex-file-compressed 512625534 / 512195272 / +0.1% 631398076 / 576041806 / +9.6% 0.81 / 0.89 / -8.7%
clickbench_q29/duckdb:vortex-file-compressed 16736733 / 17110150 / -2.2% 44299776 / 46238829 / -4.2% 0.38 / 0.37 / +2.1%
clickbench_q30/duckdb:vortex-file-compressed 58774133 / 58403405 / +0.6% 111069529 / 111373683 / -0.3% 0.53 / 0.52 / +0.9%
clickbench_q31/duckdb:vortex-file-compressed 109462436 / 109998060 / -0.5% 197077318 / 176471477 / +11.7% 🔴 0.56 / 0.62 / -10.9%
clickbench_q32/duckdb:vortex-file-compressed 372226078 / 377028286 / -1.3% 403475959 / 417444657 / -3.3% 0.92 / 0.90 / +2.1%
clickbench_q33/duckdb:vortex-file-compressed 345276574 / 348305104 / -0.9% 442137757 / 447406906 / -1.2% 0.78 / 0.78 / +0.3%
clickbench_q34/duckdb:vortex-file-compressed 357298638 / 357459356 / -0.0% 462833075 / 461863373 / +0.2% 0.77 / 0.77 / -0.3%
clickbench_q35/duckdb:vortex-file-compressed 56522444 / 57104841 / -1.0% 92298248 / 92628153 / -0.4% 0.61 / 0.62 / -0.7%
clickbench_q36/duckdb:vortex-file-compressed 11660916 / 11906602 / -2.1% 32728735 / 33692041 / -2.9% 0.36 / 0.35 / +0.8%
clickbench_q37/duckdb:vortex-file-compressed 7817892 / 7803988 / +0.2% 28236058 / 28487341 / -0.9% 0.28 / 0.27 / +1.1%
clickbench_q38/duckdb:vortex-file-compressed 8764192 / 8450513 / +3.7% 30316491 / 28105750 / +7.9% 0.29 / 0.30 / -3.9%
clickbench_q39/duckdb:vortex-file-compressed 19362456 / 19315650 / +0.2% 40031189 / 41441230 / -3.4% 0.48 / 0.47 / +3.8%
clickbench_q40/duckdb:vortex-file-compressed 7063682 / 6935784 / +1.8% 31665366 / 28335751 / +11.8% 🔴 0.22 / 0.24 / -8.9%
clickbench_q41/duckdb:vortex-file-compressed 7836202 / 7979178 / -1.8% 29544780 / 29761390 / -0.7% 0.27 / 0.27 / -1.1%
clickbench_q42/duckdb:vortex-file-compressed 6912748 / 7069820 / -2.2% 30201720 / 30944674 / -2.4% 0.23 / 0.23 / +0.2%
duckdb / parquet / ns (1.003x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
clickbench_q00/duckdb:parquet 11646086 / 11383580 / +2.3% 18541464 / 18062047 / +2.7% 0.63 / 0.63 / -0.3%
clickbench_q01/duckdb:parquet 16359946 / 16438743 / -0.5% 23864587 / 25187700 / -5.3% 0.69 / 0.65 / +5.0%
clickbench_q02/duckdb:parquet 23963942 / 24179519 / -0.9% 38106329 / 33759847 / +12.9% 🔴 0.63 / 0.72 / -12.2%
clickbench_q03/duckdb:parquet 24955650 / 24324734 / +2.6% 37880949 / 39685425 / -4.5% 0.66 / 0.61 / +7.5%
clickbench_q04/duckdb:parquet 63175680 / 63474640 / -0.5% 79919687 / 80056488 / -0.2% 0.79 / 0.79 / -0.3%
clickbench_q05/duckdb:parquet 85489840 / 84509512 / +1.2% 101350780 / 103477305 / -2.1% 0.84 / 0.82 / +3.3%
clickbench_q06/duckdb:parquet 22653854 / 23330090 / -2.9% 31121085 / 31685091 / -1.8% 0.73 / 0.74 / -1.1%
clickbench_q07/duckdb:parquet 19127080 / 19128920 / -0.0% 27002042 / 26233653 / +2.9% 0.71 / 0.73 / -2.9%
clickbench_q08/duckdb:parquet 76259058 / 76844065 / -0.8% 91644502 / 95132790 / -3.7% 0.83 / 0.81 / +3.0%
clickbench_q09/duckdb:parquet 104696654 / 105264848 / -0.5% 120300869 / 124324883 / -3.2% 0.87 / 0.85 / +2.8%
clickbench_q10/duckdb:parquet 42744856 / 42362040 / +0.9% 59124167 / 59297038 / -0.3% 0.72 / 0.71 / +1.2%
clickbench_q11/duckdb:parquet 47437944 / 47164516 / +0.6% 68177902 / 64946430 / +5.0% 0.70 / 0.73 / -4.2%
clickbench_q12/duckdb:parquet 94132175 / 93654582 / +0.5% 114446217 / 114920417 / -0.4% 0.82 / 0.81 / +0.9%
clickbench_q13/duckdb:parquet 154794784 / 151698432 / +2.0% 177192062 / 176745853 / +0.3% 0.87 / 0.86 / +1.8%
clickbench_q14/duckdb:parquet 103287606 / 102865160 / +0.4% 127864553 / 131272554 / -2.6% 0.81 / 0.78 / +3.1%
clickbench_q15/duckdb:parquet 89194128 / 89257749 / -0.1% 106669382 / 106486737 / +0.2% 0.84 / 0.84 / -0.2%
clickbench_q16/duckdb:parquet 187170305 / 179364130 / +4.4% 189384091 / 185400344 / +2.1% 0.99 / 0.97 / +2.2%
clickbench_q17/duckdb:parquet 180467802 / 173590478 / +4.0% 192992621 / 189355433 / +1.9% 0.94 / 0.92 / +2.0%
clickbench_q18/duckdb:parquet 306506864 / 305780488 / +0.2% 334677705 / 341753095 / -2.1% 0.92 / 0.89 / +2.4%
clickbench_q19/duckdb:parquet 21728448 / 20846174 / +4.2% 30424894 / 32678979 / -6.9% 0.71 / 0.64 / +12.0%
clickbench_q20/duckdb:parquet 181888342 / 192372747 / -5.5% 230046575 / 237407308 / -3.1% 0.79 / 0.81 / -2.4%
clickbench_q21/duckdb:parquet 229288841 / 227780386 / +0.7% 267152563 / 269541954 / -0.9% 0.86 / 0.85 / +1.6%
clickbench_q22/duckdb:parquet 324689635 / 321378114 / +1.0% 355562420 / 368165499 / -3.4% 0.91 / 0.87 / +4.6%
clickbench_q23/duckdb:parquet 172551839 / 173540963 / -0.6% 256747380 / 250826182 / +2.4% 0.67 / 0.69 / -2.9%
clickbench_q24/duckdb:parquet 33097316 / 32511236 / +1.8% 45601437 / 47917023 / -4.8% 0.73 / 0.68 / +7.0%
clickbench_q25/duckdb:parquet 43393895 / 44116980 / -1.6% 59365253 / 66104937 / -10.2% 🟢 0.73 / 0.67 / +9.5%
clickbench_q26/duckdb:parquet 31425302 / 33425872 / -6.0% 54411134 / 47009570 / +15.7% 🔴 0.58 / 0.71 / -18.8%
clickbench_q27/duckdb:parquet 195295302 / 194413190 / +0.5% 234237640 / 236402112 / -0.9% 0.83 / 0.82 / +1.4%
clickbench_q28/duckdb:parquet 998518430 / 983502768 / +1.5% 966455050 / 968899949 / -0.3% 1.03 / 1.02 / +1.8%
clickbench_q29/duckdb:parquet 26194506 / 26254540 / -0.2% 34715702 / 35039693 / -0.9% 0.75 / 0.75 / +0.7%
clickbench_q30/duckdb:parquet 108853394 / 107635400 / +1.1% 137103226 / 139022062 / -1.4% 0.79 / 0.77 / +2.5%
clickbench_q31/duckdb:parquet 164492182 / 162951870 / +0.9% 207329067 / 183774255 / +12.8% 🔴 0.79 / 0.89 / -10.5%
clickbench_q32/duckdb:parquet 409062657 / 392487528 / +4.2% 421997661 / 431999329 / -2.3% 0.97 / 0.91 / +6.7%
clickbench_q33/duckdb:parquet 481438320 / 486290342 / -1.0% 455214496 / 458390375 / -0.7% 1.06 / 1.06 / -0.3%
clickbench_q34/duckdb:parquet 476748978 / 473928504 / +0.6% 482652060 / 461228499 / +4.6% 0.99 / 1.03 / -3.9%
clickbench_q35/duckdb:parquet 62928554 / 63680347 / -1.2% 76406981 / 80308677 / -4.9% 0.82 / 0.79 / +3.9%
clickbench_q36/duckdb:parquet 31871047 / 31503630 / +1.2% 41661440 / 40089499 / +3.9% 0.77 / 0.79 / -2.7%
clickbench_q37/duckdb:parquet 25759452 / 24994606 / +3.1% 33881747 / 35262705 / -3.9% 0.76 / 0.71 / +7.3%
clickbench_q38/duckdb:parquet 25091116 / 25787656 / -2.7% 34841007 / 34434511 / +1.2% 0.72 / 0.75 / -3.8%
clickbench_q39/duckdb:parquet 55024960 / 53904002 / +2.1% 63605635 / 63886451 / -0.4% 0.87 / 0.84 / +2.5%
clickbench_q40/duckdb:parquet 15722344 / 15738781 / -0.1% 24440283 / 25672570 / -4.8% 0.64 / 0.61 / +4.9%
clickbench_q41/duckdb:parquet 16232167 / 16923779 / -4.1% 24120302 / 26059067 / -7.4% 0.67 / 0.65 / +3.6%
clickbench_q42/duckdb:parquet 16442995 / 16321736 / +0.7% 25054827 / 25523551 / -1.8% 0.66 / 0.64 / +2.6%

No file size changes detected.

@github-actions

github-actions Bot commented Oct 26, 2026 •

Copy link
Copy Markdown
Contributor

Benchmarks: TPC-H SF=1 on S3 📖

Commits: PR 6a4c019c vs base f476db42
Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +1.1%
Engines: DataFusion No clear signal (+6.7%, environment too noisy confidence) · DuckDB No clear signal (-4.3%, environment too noisy confidence)
Vortex (geomean): hot 0.967x ➖ · cold 0.921x ➖
Parquet (geomean): hot 0.957x ➖ · cold 0.940x ➖
Shifts: Parquet (control) -4.3% · Median polish -3.6%

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.
  • Hot vs cold: Every measurement is run several times. The first run is reported as the cold run, and the median of the runs after it is reported as the hot run. The verdict and significance use hot runs; each target's geomean reports hot and cold beside each other where the individual runs were recorded and hot alone where they were not, the cold column shows first-run cost per row, and hot/cold is how much of each run the warm path saves. Rows whose results predate per-run reporting show only one value, taken from the value the runner reported.
  • Table cells: Each cell reads PR / base / %diff. The hot and cold columns mark a change as 🔴 slower or 🟢 faster once it clears this suite's threshold; anything smaller is noise here and is left unmarked, as is hot/cold, because a shift in the warm-up ratio is not a win or a loss by itself.

datafusion / vortex-file-compressed / ns (1.012x ➖, 1↑ 4↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/datafusion:vortex-file-compressed 286703533 / 320364357 / -10.5% 632373577 / 857290181 / -26.2% 0.45 / 0.37 / +21.3%
tpch_q02/datafusion:vortex-file-compressed 412639157 / 326144621 / +26.5% 717240857 / 672847220 / +6.6% 0.58 / 0.48 / +18.7%
tpch_q03/datafusion:vortex-file-compressed 425442027 / 399027247 / +6.6% 943510327 / 918913972 / +2.7% 0.45 / 0.43 / +3.8%
tpch_q04/datafusion:vortex-file-compressed 236109361 / 202196966 / +16.8% 422519830 / 437895083 / -3.5% 0.56 / 0.46 / +21.0%
tpch_q05/datafusion:vortex-file-compressed 404975211 / 523269529 / -22.6% 636465692 / 780854161 / -18.5% 0.64 / 0.67 / -5.0%
tpch_q06/datafusion:vortex-file-compressed 195367288 / 260802184 / -25.1% 296052009 / 682739839 / -56.6% 🟢 0.66 / 0.38 / +72.8%
tpch_q07/datafusion:vortex-file-compressed 458541135 / 510279764 / -10.1% 624743897 / 703158017 / -11.2% 0.73 / 0.73 / +1.1%
tpch_q08/datafusion:vortex-file-compressed 518479253 / 453547656 / +14.3% 664650701 / 1481400535 / -55.1% 🟢 0.78 / 0.31 / +154.8%
tpch_q09/datafusion:vortex-file-compressed 379553560 / 358235473 / +6.0% 743668184 / 635825003 / +17.0% 0.51 / 0.56 / -9.4%
tpch_q10/datafusion:vortex-file-compressed 395872865 / 693460969 / -42.9% 🟢 592837372 / 1249518501 / -52.6% 🟢 0.67 / 0.55 / +20.3%
tpch_q11/datafusion:vortex-file-compressed 269702372 / 272332135 / -1.0% 403804323 / 421317365 / -4.2% 0.67 / 0.65 / +3.3%
tpch_q12/datafusion:vortex-file-compressed 341674792 / 263695793 / +29.6% 446844596 / 409814730 / +9.0% 0.76 / 0.64 / +18.8%
tpch_q13/datafusion:vortex-file-compressed 155490661 / 136144923 / +14.2% 353804278 / 341646149 / +3.6% 0.44 / 0.40 / +10.3%
tpch_q14/datafusion:vortex-file-compressed 229073990 / 172712088 / +32.6% 🔴 469146288 / 330244378 / +42.1% 🔴 0.49 / 0.52 / -6.6%
tpch_q15/datafusion:vortex-file-compressed 467829464 / 355297643 / +31.7% 🔴 745473210 / 652894981 / +14.2% 0.63 / 0.54 / +15.3%
tpch_q16/datafusion:vortex-file-compressed 168498046 / 163121892 / +3.3% 284170805 / 284294570 / -0.0% 0.59 / 0.57 / +3.3%
tpch_q17/datafusion:vortex-file-compressed 418946555 / 297114077 / +41.0% 🔴 477458700 / 523987138 / -8.9% 0.88 / 0.57 / +54.7%
tpch_q18/datafusion:vortex-file-compressed 262476922 / 345141421 / -24.0% 461919444 / 750100375 / -38.4% 🟢 0.57 / 0.46 / +23.5%
tpch_q19/datafusion:vortex-file-compressed 283623381 / 309519456 / -8.4% 448473530 / 548284533 / -18.2% 0.63 / 0.56 / +12.0%
tpch_q20/datafusion:vortex-file-compressed 410586646 / 295834923 / +38.8% 🔴 537402325 / 560724029 / -4.2% 0.76 / 0.53 / +44.8%
tpch_q21/datafusion:vortex-file-compressed 564156902 / 672575246 / -16.1% 719534917 / 628021338 / +14.6% 0.78 / 1.07 / -26.8%
tpch_q22/datafusion:vortex-file-compressed 148626775 / 176615971 / -15.8% 410571910 / 468165807 / -12.3% 0.36 / 0.38 / -4.0%
datafusion / parquet / ns (0.948x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/datafusion:parquet 154479567 / 160300645 / -3.6% 464208013 / 443195328 / +4.7% 0.33 / 0.36 / -8.0%
tpch_q02/datafusion:parquet 309338671 / 283567515 / +9.1% 418108519 / 422801735 / -1.1% 0.74 / 0.67 / +10.3%
tpch_q03/datafusion:parquet 246503159 / 247195034 / -0.3% 644289021 / 740384150 / -13.0% 0.38 / 0.33 / +14.6%
tpch_q04/datafusion:parquet 144702116 / 167579109 / -13.7% 342577727 / 337343066 / +1.6% 0.42 / 0.50 / -15.0%
tpch_q05/datafusion:parquet 354669222 / 362746322 / -2.2% 474807753 / 489035449 / -2.9% 0.75 / 0.74 / +0.7%
tpch_q06/datafusion:parquet 106455103 / 133206102 / -20.1% 250133920 / 260640923 / -4.0% 0.43 / 0.51 / -16.7%
tpch_q07/datafusion:parquet 364773982 / 379149445 / -3.8% 526796504 / 670471364 / -21.4% 0.69 / 0.57 / +22.4%
tpch_q08/datafusion:parquet 552464247 / 458493065 / +20.5% 612714725 / 594978431 / +3.0% 0.90 / 0.77 / +17.0%
tpch_q09/datafusion:parquet 380725757 / 415584737 / -8.4% 478388205 / 764018022 / -37.4% 🟢 0.80 / 0.54 / +46.3%
tpch_q10/datafusion:parquet 326081062 / 343932218 / -5.2% 508179912 / 482076994 / +5.4% 0.64 / 0.71 / -10.1%
tpch_q11/datafusion:parquet 285952458 / 269661812 / +6.0% 356604876 / 417281762 / -14.5% 0.80 / 0.65 / +24.1%
tpch_q12/datafusion:parquet 163021594 / 179630083 / -9.2% 470694849 / 322715529 / +45.9% 🔴 0.35 / 0.56 / -37.8%
tpch_q13/datafusion:parquet 274277294 / 306211511 / -10.4% 408631482 / 666892703 / -38.7% 🟢 0.67 / 0.46 / +46.2%
tpch_q14/datafusion:parquet 155548351 / 165265319 / -5.9% 308634961 / 326711771 / -5.5% 0.50 / 0.51 / -0.4%
tpch_q15/datafusion:parquet 299490780 / 325984868 / -8.1% 443267584 / 571266015 / -22.4% 0.68 / 0.57 / +18.4%
tpch_q16/datafusion:parquet 106710120 / 108865637 / -2.0% 207740111 / 214225526 / -3.0% 0.51 / 0.51 / +1.1%
tpch_q17/datafusion:parquet 298118164 / 353992956 / -15.8% 433241339 / 488451273 / -11.3% 0.69 / 0.72 / -5.1%
tpch_q18/datafusion:parquet 324103085 / 374472275 / -13.5% 486517724 / 710405369 / -31.5% 🟢 0.67 / 0.53 / +26.4%
tpch_q19/datafusion:parquet 162412452 / 165845090 / -2.1% 301324375 / 332415526 / -9.4% 0.54 / 0.50 / +8.0%
tpch_q20/datafusion:parquet 234917469 / 258639694 / -9.2% 400356073 / 333402091 / +20.1% 0.59 / 0.78 / -24.4%
tpch_q21/datafusion:parquet 314097009 / 325938709 / -3.6% 495941200 / 509246875 / -2.6% 0.63 / 0.64 / -1.0%
tpch_q22/datafusion:parquet 158239183 / 166419442 / -4.9% 319285823 / 317591477 / +0.5% 0.50 / 0.52 / -5.4%
duckdb / vortex-file-compressed / ns (0.925x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/duckdb:vortex-file-compressed 247736655 / 247144121 / +0.2% 264818548 / 248248927 / +6.7% 0.94 / 1.00 / -6.0%
tpch_q02/duckdb:vortex-file-compressed 421942145 / 458374863 / -7.9% 529254792 / 708303911 / -25.3% 0.80 / 0.65 / +23.2%
tpch_q03/duckdb:vortex-file-compressed 403712238 / 437683411 / -7.8% 454879399 / 487443889 / -6.7% 0.89 / 0.90 / -1.2%
tpch_q04/duckdb:vortex-file-compressed 242210968 / 253663885 / -4.5% 306416402 / 292766492 / +4.7% 0.79 / 0.87 / -8.8%
tpch_q05/duckdb:vortex-file-compressed 509641928 / 534955520 / -4.7% 574334741 / 653473585 / -12.1% 0.89 / 0.82 / +8.4%
tpch_q06/duckdb:vortex-file-compressed 161023129 / 219701966 / -26.7% 173560517 / 353931909 / -51.0% 🟢 0.93 / 0.62 / +49.5%
tpch_q07/duckdb:vortex-file-compressed 452241104 / 442072584 / +2.3% 667511510 / 526800407 / +26.7% 0.68 / 0.84 / -19.3%
tpch_q08/duckdb:vortex-file-compressed 542847063 / 613812589 / -11.6% 575597855 / 598517389 / -3.8% 0.94 / 1.03 / -8.0%
tpch_q09/duckdb:vortex-file-compressed 394786890 / 452502746 / -12.8% 452650676 / 479408415 / -5.6% 0.87 / 0.94 / -7.6%
tpch_q10/duckdb:vortex-file-compressed 485175600 / 529495628 / -8.4% 521822580 / 519274051 / +0.5% 0.93 / 1.02 / -8.8%
tpch_q11/duckdb:vortex-file-compressed 299898858 / 310476607 / -3.4% 411475734 / 322626818 / +27.5% 0.73 / 0.96 / -24.3%
tpch_q12/duckdb:vortex-file-compressed 233038853 / 255292380 / -8.7% 440747109 / 267706145 / +64.6% 🔴 0.53 / 0.95 / -44.6%
tpch_q13/duckdb:vortex-file-compressed 272171837 / 263544685 / +3.3% 265030007 / 256264494 / +3.4% 1.03 / 1.03 / -0.1%
tpch_q14/duckdb:vortex-file-compressed 225335643 / 261640787 / -13.9% 262726648 / 293545704 / -10.5% 0.86 / 0.89 / -3.8%
tpch_q15/duckdb:vortex-file-compressed 247033097 / 248061475 / -0.4% 266930716 / 322173156 / -17.1% 0.93 / 0.77 / +20.2%
tpch_q16/duckdb:vortex-file-compressed 213733695 / 208236020 / +2.6% 258378803 / 275422164 / -6.2% 0.83 / 0.76 / +9.4%
tpch_q17/duckdb:vortex-file-compressed 302514180 / 374079804 / -19.1% 522516653 / 406536914 / +28.5% 0.58 / 0.92 / -37.1%
tpch_q18/duckdb:vortex-file-compressed 413222613 / 413700835 / -0.1% 614427518 / 592965619 / +3.6% 0.67 / 0.70 / -3.6%
tpch_q19/duckdb:vortex-file-compressed 295681383 / 355497969 / -16.8% 301837143 / 324615142 / -7.0% 0.98 / 1.10 / -10.5%
tpch_q20/duckdb:vortex-file-compressed 355169872 / 363625500 / -2.3% 400378474 / 454801783 / -12.0% 0.89 / 0.80 / +11.0%
tpch_q21/duckdb:vortex-file-compressed 603622591 / 647884984 / -6.8% 721908062 / 748492455 / -3.6% 0.84 / 0.87 / -3.4%
tpch_q22/duckdb:vortex-file-compressed 228524636 / 256329460 / -10.8% 278244187 / 295710683 / -5.9% 0.82 / 0.87 / -5.3%
duckdb / parquet / ns (0.966x ➖, 0↑ 0↓)
name hot ns (PR / base / %diff) cold ns (PR / base / %diff) hot/cold (PR / base / %diff)
tpch_q01/duckdb:parquet 165967657 / 148497419 / +11.8% 212315929 / 173516019 / +22.4% 0.78 / 0.86 / -8.7%
tpch_q02/duckdb:parquet 471808722 / 474892002 / -0.6% 508989178 / 606833133 / -16.1% 0.93 / 0.78 / +18.4%
tpch_q03/duckdb:parquet 392178287 / 441228944 / -11.1% 483522116 / 528083252 / -8.4% 0.81 / 0.84 / -2.9%
tpch_q04/duckdb:parquet 292763044 / 271501224 / +7.8% 337978610 / 352838483 / -4.2% 0.87 / 0.77 / +12.6%
tpch_q05/duckdb:parquet 502057659 / 557919902 / -10.0% 586744386 / 539249486 / +8.8% 0.86 / 1.03 / -17.3%
tpch_q06/duckdb:parquet 127351938 / 181221074 / -29.7% 172658454 / 203061467 / -15.0% 0.74 / 0.89 / -17.4%
tpch_q07/duckdb:parquet 461824900 / 487789769 / -5.3% 487613798 / 521792954 / -6.6% 0.95 / 0.93 / +1.3%
tpch_q08/duckdb:parquet 663367231 / 686648790 / -3.4% 691726702 / 705457503 / -1.9% 0.96 / 0.97 / -1.5%
tpch_q09/duckdb:parquet 550708346 / 645859152 / -14.7% 583977273 / 684772304 / -14.7% 0.94 / 0.94 / -0.0%
tpch_q10/duckdb:parquet 567044650 / 545953930 / +3.9% 701045473 / 618354653 / +13.4% 0.81 / 0.88 / -8.4%
tpch_q11/duckdb:parquet 292391080 / 287684829 / +1.6% 334646229 / 307817884 / +8.7% 0.87 / 0.93 / -6.5%
tpch_q12/duckdb:parquet 244981311 / 231438480 / +5.9% 382990698 / 329714592 / +16.2% 0.64 / 0.70 / -8.9%
tpch_q13/duckdb:parquet 374554370 / 422209968 / -11.3% 487009423 / 563063356 / -13.5% 0.77 / 0.75 / +2.6%
tpch_q14/duckdb:parquet 279836771 / 299174567 / -6.5% 369277149 / 581905419 / -36.5% 🟢 0.76 / 0.51 / +47.4%
tpch_q15/duckdb:parquet 213931633 / 202905415 / +5.4% 256024660 / 240991039 / +6.2% 0.84 / 0.84 / -0.8%
tpch_q16/duckdb:parquet 268887096 / 276648116 / -2.8% 287303637 / 295455317 / -2.8% 0.94 / 0.94 / -0.0%
tpch_q17/duckdb:parquet 271336582 / 281008197 / -3.4% 325470333 / 454794488 / -28.4% 0.83 / 0.62 / +34.9%
tpch_q18/duckdb:parquet 341020022 / 320562646 / +6.4% 401040014 / 358666528 / +11.8% 0.85 / 0.89 / -4.9%
tpch_q19/duckdb:parquet 289401547 / 252487007 / +14.6% 335458139 / 285481348 / +17.5% 0.86 / 0.88 / -2.5%
tpch_q20/duckdb:parquet 470855306 / 465418597 / +1.2% 461002775 / 541277845 / -14.8% 1.02 / 0.86 / +18.8%
tpch_q21/duckdb:parquet 422617059 / 481395074 / -12.2% 538705414 / 573582619 / -6.1% 0.78 / 0.84 / -6.5%
tpch_q22/duckdb:parquet 292447022 / 325011478 / -10.0% 313608353 / 303941128 / +3.2% 0.93 / 1.07 / -12.8%

@codspeed

codspeed Bot commented Oct 26, 2026 •

Copy link
Copy Markdown

Merging this PR will degrade performance by 4.21%

3 warnings

⚠️ Walltime results may be unreliable

Some benchmarks used the Walltime instrument outside CodSpeed Macro Runners, which can make the results inconsistent.

Learn more about Macro Runners

See affected benchmarks

⚠️ 2 benchmarks are dominated by system calls

System calls cannot be simulated consistently and are left out of the measure. The reported value understates the real cost. Switch to the Walltime instrument to measure them.

Learn more about system calls

See affected benchmarks

⚠️ Base and head ran on different runner types

Some benchmarks with significant performance changes were compared across different runner types, so the changes might not come from the code. Run base and head on the same runner type, or use CodSpeed Macro Runners for more stable results.

Learn more about Macro Runners

Open the report in CodSpeed to investigate

⚡ 1 improved benchmark
❌ 1 regressed benchmark
✅ 2202 untouched benchmarks
⏩ 370 skipped benchmarks1
🗄️ 30 archived benchmarks run2

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
❌ CPU Simulation missing_stats[16] 71 µs 88.7 µs -19.9%
⚡ Walltime threshold_avx2[80] 3 µs 2.6 µs +14.56%

Tip

Investigate this regression by commenting @codspeedbot fix this regression on this PR, or directly use the CodSpeed MCP with your agent.


Comparing ji/vibrant-cray-rw57ni (143c86e) with develop (088118b)

Open in CodSpeed

Footnotes

  1. 370 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. ↩

  2. 30 benchmarks were run, but are now archived. If they were deleted in another branch, consider rebasing to remove them from the report. Instead if they were added back, click here to restore them. ↩

Concurrency 1 made a scan run its chunks inline, and the opener derived
it from the engine's partition count. A file the engine does not split,
such as a small dimension table, was then read by one partition with its
chunks run one after another while other cores idled. The opener now
divides the cores by the partitions that split this file, so a whole-file
scan runs its chunks beside each other and a file split a partition per
core still runs inline. A V2 scan's concurrency now counts its chunks in
flight, one per worker thread by default, instead of per worker thread.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
@joseph-isaacs joseph-isaacs added the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026 — with Claude
@github-actions github-actions Bot removed the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026
On a many-core machine DataFusion split SF1 lineitem into a partition per
core, about 62K rows each, so every partition paid the V2 scan's fixed
work (planning, zone proofs, compiling each conjunct) for one output
window of rows. A V2 scan now caps the engine's target partitions by the
files' row counts, so each partition reads at least 256Ki rows; the
engine repartitions after the scan as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
@joseph-isaacs joseph-isaacs added the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026 — with Claude
@github-actions github-actions Bot removed the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026
A filtered chunk was always 1Mi rows, so a partition of a few hundred
thousand rows ran one chunk at a time however many chunks its
concurrency allowed, leaving cores idle on CPU-heavy predicates. A
filtered chunk now takes the scan's rows divided by its concurrency,
rounded to the row grid and kept between 64Ki and 1Mi rows.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Signed-off-by: Claude <noreply@anthropic.com>
@joseph-isaacs joseph-isaacs added the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026 — with Claude
@github-actions github-actions Bot removed the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
develop now carries #10707 as a squash; keep this branch's changes on top of it.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
Resolve conflicts with #10708, which moved V2 scan driving out of
ScanBuilder into ScanDrivers in vortex-datafusion and vortex-file, and
renamed zone proofs to pruning plans.

- Port per-root IO sessions and the inline-at-concurrency-one gate into
  both ScanDrivers. The DataFusion driver takes concurrency as the
  scan's total chunks in flight; the vortex-file driver keeps its
  per-worker-thread meaning.
- Restore ScanBuilder::with_concurrency, used only to size filtered
  chunks, and set it from both drivers.
- Keep the OnceCell scan cache, MaskScan and the is_zone_pruning dtype
  check under develop's pruning names.
- Port dense_chunk_yields_a_batch_per_window onto PreparedScan; drop
  unordered_yields_before_the_split_finishes with the code develop
  removed.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01HJp2eSZRzHhv4cVCUNo6nV
@joseph-isaacs joseph-isaacs added the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026 — with Claude
@github-actions github-actions Bot removed the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026
A partition keeps at least 256Ki rows, so a small, wide table such as
TPC-H SF10's customer (1.5M rows) is read by 6 partitions instead of one
per core. Each ran 4 projection chunks of 64Ki rows, so only 24 chunks
decoded the table on 96 cores, and Q10 ran 19-24% slower than develop.

A projection chunk is now cut like a filtered one: small enough that
every chunk the scan runs at once has rows, down to one row block, and
never larger than before.

Also correct ProjectionMorsel's doc: each split decodes the segments it
reads; a chunk's splits share the reads and dictionary values, not the
decoded segments.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
@joseph-isaacs joseph-isaacs added the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026 — with Claude
@github-actions github-actions Bot removed the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026
The minimum rows per V2 partition cut TPC-H SF10's customer from one
partition per core to 6 and part to 8. Every row of an unfiltered scan
flows into the operators above it, which run a task per partition, so
Q10 and Q14 ran 13-17% slower than develop on 96 cores however many
chunks each partition ran at once. Forcing customer and part to one
partition reproduces it locally: Q10 and Q14 at SF10 are 13% slower on
4 cores.

The minimum now applies only to a filtered scan, whose partitions each
prove and plan the filter and emit a fraction of the rows they read.
Locally the SF10 slowdown is gone, and TPC-H SF1 split 96 ways keeps
most of what the minimum saves: a geomean of 87 ms, against 83 ms with
the minimum on every scan and 104 ms without it.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
@joseph-isaacs joseph-isaacs added the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026 — with Claude
@github-actions github-actions Bot removed the action/bench-sql Run SQL benchmarks without Vortex Compact on this PR label Oct 26, 2026
Resolve vortex-file's ScanDriver against #10861, which maps batches on
the driver's tasks: keep develop's map_fn plumbing and reapply the
per-root IO sessions, the inline-at-concurrency-one gate and the scan
builder's concurrency.

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

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GwhHqFVpQqPgQQkkK2y9kX
I, Claude <noreply@anthropic.com>, hereby add my Signed-off-by to this commit: 09d0360
I, Claude <noreply@anthropic.com>, hereby add my Signed-off-by to this commit: 6a4c019

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

This branch has not been deployed

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

Labels

changelog/performance A performance improvement

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants