Skip to content

Add FSSTView encoding: a ListView-style FSST array#8191

Draft
joseph-isaacs wants to merge 23 commits into
developfrom
claude/fsstview-conversion-floor-kRAeg
Draft

Add FSSTView encoding: a ListView-style FSST array#8191
joseph-isaacs wants to merge 23 commits into
developfrom
claude/fsstview-conversion-floor-kRAeg

Conversation

@joseph-isaacs
Copy link
Copy Markdown
Contributor

FSSTView addresses its FSST-compressed codes with separate offsets and
sizes arrays (like ListView) instead of FSST's single monotonic offsets
array (like List/VarBin). Decoupling start from length means offsets need
not be monotonic or contiguous, so filter/take/slice become metadata-only:
they rewrite only the small offsets/sizes/lengths/validity arrays and reuse
the compressed byte heap and symbol table untouched.

This avoids the heap rewrite that plain FSST incurs on filter/take (which
delegate to VarBin), giving the same speed win ListView has over List.

  • New vortex.fsstview encoding in the fsst crate, reusing FSSTData for the
    symbol table + compressed byte heap. Children are declared with the
    #[array_slots(FSSTView)] proc macro (uncompressed_lengths, codes_offsets,
    codes_sizes, codes_validity).
  • Metadata-only FilterKernel, TakeExecute, and SliceReduce.
  • scalar_at decodes a single element via its offset+size slice.
  • Canonicalization gathers the live codes (possibly out-of-order) and
    bulk-decompresses into a VarBinView.
  • fsstview_from_fsst zero-copy conversion from an FSST array.
  • Registered in register_default_encodings.
  • Tests: canonical/filter/take/slice equivalence vs FSST, scalar_at, and
    filter/take/consistency conformance for nullable and non-nullable data.

Signed-off-by: Joe Isaacs joe.isaacs@live.co.uk<!--
Thank you for submitting a pull request! We appreciate your time and effort.

Please make sure to provide enough information so that we can review your pull
request. The Summary and Testing sections below contain guidance on what to
include.
-->

Summary

Closes: #000

Testing

claude added 23 commits May 30, 2026 09:43
FSSTView addresses its FSST-compressed codes with separate `offsets` and
`sizes` arrays (like ListView) instead of FSST's single monotonic offsets
array (like List/VarBin). Decoupling start from length means offsets need
not be monotonic or contiguous, so filter/take/slice become metadata-only:
they rewrite only the small offsets/sizes/lengths/validity arrays and reuse
the compressed byte heap and symbol table untouched.

This avoids the heap rewrite that plain FSST incurs on filter/take (which
delegate to VarBin), giving the same speed win ListView has over List.

- New `vortex.fsstview` encoding in the fsst crate, reusing FSSTData for the
  symbol table + compressed byte heap. Children are declared with the
  `#[array_slots(FSSTView)]` proc macro (uncompressed_lengths, codes_offsets,
  codes_sizes, codes_validity).
- Metadata-only FilterKernel, TakeExecute, and SliceReduce.
- scalar_at decodes a single element via its offset+size slice.
- Canonicalization gathers the live codes (possibly out-of-order) and
  bulk-decompresses into a VarBinView.
- `fsstview_from_fsst` zero-copy conversion from an FSST array.
- Registered in `register_default_encodings`.
- Tests: canonical/filter/take/slice equivalence vs FSST, scalar_at, and
  filter/take/consistency conformance for nullable and non-nullable data.

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

Adds the second hop and the canonicalization decision for the FSSTView
pipeline, plus a benchmark that measures the trade-off directly.

- `fsst_filter_to_view` / `fsst_take_to_view`: reinterpret an FSSTArray as an
  FSSTView (sharing symbols + codes bytes) and apply the metadata-only kernel,
  so filtering/taking an FSSTArray never rewrites the compressed byte heap.

- Canonicalization now chooses a compaction strategy (FsstViewCompaction):
  - Direct: live codes still contiguous/in-order (untouched or sliced view) ->
    one bulk decompress, no copy.
  - GatherBulk ("compact"): copy the scattered live codes contiguous, then one
    bulk decompress. Wins when strings are short/numerous (per-call overhead
    dominates otherwise; the gather is cheap and unlocks bulk SIMD).
  - PerElement ("no compact"): decompress each element's slice in place, no
    copy. Wins when strings are long/few (the gather copy dominates).
  Auto picks Direct when contiguous, else GatherBulk/PerElement by average
  compressed bytes/element. `canonicalize_fsstview_with` exposes each strategy
  for benchmarking.

- benches/fsst_view_compute.rs: calls kernels directly (no dispatch) and
  measures each part. filter (selective/non-selective), take (shuffle /
  selective / dense), and a filter+take combo, over two ~2 MiB inputs (many
  short strings, fewer long strings). fsst pipeline compacts into a fresh
  FSSTArray each step then canonicalizes; fsstview pipeline stays metadata-only
  then canonicalizes under each compaction strategy.

- Tests: from_fsst helpers vs canonical, and all compaction strategies agree
  on both contiguous and scattered views.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
The fsst_view_compute benchmark (two ~2 MiB inputs, ~12-byte and ~256-byte
strings) shows GatherBulk beats PerElement across the entire tested range, not
just for short strings as originally guessed. FSST's decoder has a fast 8-wide
body and a slow byte-by-byte tail; PerElement pays that tail once per element
while GatherBulk pays it once for the whole heap, which dominates the gather
memcpy even at 256-byte strings.

Selected medians (canonicalize after the metadata-only hop):
  take few_long/shuffle:    gather 459us  vs per_element 623us
  take few_long/dense:      gather 838us  vs per_element 981us
  filter many_short/nonsel: gather 5.38ms vs per_element 5.92ms

And the metadata-only hop itself is far cheaper than compacting FSST:
  take_step many_short/shuffle: view 650us vs fsst 2.84ms (~4x)
  take_step many_short/dense:   view 604us vs fsst 4.15ms (~7x)

So Auto now picks Direct when the live codes are contiguous and GatherBulk
otherwise; it never selects PerElement (kept selectable for measurement, wins
only in the few-very-long-strings extreme outside real columns). Drops the
SHORT_STRING_THRESHOLD heuristic and updates the docs to the measured behavior.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
- fsstview_from_fsst now reuses the FSST offsets buffer for codes_offsets via a
  zero-copy slice of its first `len` elements, instead of re-copying into a new
  Vec. Only the derived sizes array is freshly allocated.

- Add chain_pipeline_{fsst,view} benches: a 5-op alternating filter/take chain
  ending in a canonicalize. This is where the view model is meant to win — each
  fsst op re-compacts the byte heap (cost compounds with chain length), while
  the view converts once and chains metadata-only ops, deferring the single
  gather+decode to the end.

  Measured medians (100 samples):
    FewLong:   fsst 765us  -> view 481us  (1.6x)
    ManyShort: fsst 14.49ms -> view 9.64ms (1.5x)

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

Implements the "compact like a list / export paired slices into a VarBinView"
idea: decode contiguous heap runs straight into a heap-ordered buffer and point
VarBinView views back into it out of order, with no gather copy and duplicate
dedup. Wired as FsstViewCompaction::RunCoalesce, hash-free (sort-based), handles
nulls/empties/duplicates; covered by an adversarial gaps+shuffle+nullable test
and the all-strategies-agree test.

Benchmark verdict: it loses to GatherBulk everywhere, badly for short strings
(take many_short/shuffle ~18ms vs ~5.6ms). The random access you avoid at decode
time reappears at view-build time: views are built in element order over a
heap-ordered output, so make_view does N cache-missing random reads (and random
inlining copies for <=12-byte strings), plus an O(N log N) sort. GatherBulk's
output is element-ordered, so its view-build is sequential; the cheap sequential
gather memcpy beats the scattered view construction.

So Auto keeps using Direct (contiguous) / GatherBulk (otherwise) and never picks
RunCoalesce; it's retained as a selectable, measurable baseline. Docs updated
with the full reasoning.

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

Callgrind on a shuffle take showed the kernel's cost was dominated by running
take -> fill_null -> cast -> optimize three times (offsets/sizes/lengths). The
fill_null + cast is only needed when a null index could introduce a null, i.e.
when the indices are nullable. For non-nullable indices (the common case) the
children stay non-nullable, so we now skip fill_null entirely. Re-profiling
confirms fill_null (~450K ir) and its cast (~252K ir) drop out and the take
kernel falls from ~612K to ~474K instructions per call.

Also add take_op_only_view / filter_op_only_view benches that hoist the
one-time FSST->view conversion out of the timed loop, isolating the
metadata-only op. These show the op is constant-time regardless of size or
selectivity (~457 ns filter, ~657 ns take), like a ListView op — the earlier
"view loses on selective" was purely the O(n) conversion being charged to every
op, which only the first op of a chain actually pays.

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

Adds FsstViewByteStats / fsstview_byte_stats reporting, in both compressed (code)
and uncompressed (decoded) space: live vs run-spanned vs whole-heap bytes,
distinct spans, run count, and the dead-byte waste a gap-merged decode would
carry. A byte_stats_report test prints it for a selective filter and a shuffle
take (run with --nocapture).

This quantifies why merging across gaps to keep decode runs long doesn't pay:

  filter_10pct (keep ~10% of 65536):
    runs=5945 over 6616 survivors (avg ~1.1 elem/run -> survivors are isolated)
    compressed: live=25.8KB, heap=255KB
    full-heap-merge waste = 89.9%  (you'd decode ~10x the needed compressed bytes)

  shuffle_take (reorder all):
    runs=1, waste=0%  (RunCoalesce's ideal) -- yet it still loses on time to
    GatherBulk because the random access just moves to view-build.

So the dead-value budget the gap-merge idea needs is blown immediately on a
selective filter (90% dead), and on the one input where merging is free
(shuffle, 0% dead) GatherBulk still wins. There's also a hard blocker: after a
filter the dead elements' uncompressed_lengths are gone and FSST decode only
returns a total written count, so a single gap-merged decode can't even locate
post-gap survivors. Conclusion: GatherBulk (zero waste) / Direct (contiguous)
remain the right canonicalization; the stats make the trade-off measurable.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
The only overhead GatherBulk carries over the theoretical minimum is the gather
memcpy, and it was copying every element's span individually. For an
order-preserving filter, surviving neighbours are still heap-adjacent, so a run
of k survivors can be copied in one memcpy instead of k. The gather now
accumulates a contiguous [run_start, run_end) heap range and flushes it once per
run, making the copy cost proportional to the number of runs rather than the
number of elements.

This is a strict win where survivors form long runs (non-selective filter:
many_short/nonselective canonicalize ~5.38ms -> ~4.75ms) and a no-op for a
shuffle (no adjacency -> one copy per element as before, behind a cheap branch).
Combined with Direct (single contiguous run, zero copy), the export is now
optimal: gather work scales with run count, then one bulk decode, then a
sequential element-ordered view-build.

Correctness: spans are still emitted in element order, so the decoded buffer
stays element-ordered; coalescing only fires on genuine zero-gap adjacency.
Covered by the existing all-strategies-agree and gaps+shuffle+nullable tests.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Add canonicalize_fsstview_to_varbin: reuses the element-ordered decode path of
the VarBinView canonicalizer (Direct/GatherBulk/PerElement), but the finisher
builds len+1 cumulative offsets over the contiguous decoded bytes instead of a
16-byte view per element. Covered by varbin_export_matches_canonical across all
element-ordered strategies on gapped nullable data.

Add export_{fsst,view}_to_{varbin,varbinview} benches: a single filter then
export, the full {fsst, fsstview} x {VarBin, VarBinView} matrix.

Medians (100 samples), single filter + export:

  many_short (174k x ~12B):        fsst->VBV  fsst->VB  view->VBV  view->VB
    nonselective 90%                 3.11ms    2.63ms    4.75ms     2.64ms
    selective 10%                    561us     534us     1.02ms     728us
  few_long (8k x ~256B):
    nonselective 90%                 467us     328us     472us      303us
    selective 10%                    73us      55us      77us       72us

Takeaways:
 - VarBin export is consistently cheaper than VarBinView for both encodings: no
   per-element 16-byte view construction, just an offsets cumsum. Biggest gap on
   many short strings (view->VB 2.64ms vs view->VBV 4.75ms, ~1.8x).
 - For a single filter, fsst is competitive with or ahead of fsstview: fsst pays
   the heap rewrite once during the (cheap-when-selective) filter, while fsstview
   pays a gather at export plus the one-time FSST->view conversion. The view's
   advantage is in chains, where the per-op heap rewrite is amortized away (see
   the chain_pipeline benches).

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Adds convert_varbin_to_varbinview: takes the VarBin produced by the view->VarBin
export and times converting it into a VarBinView, isolated (conversion only).

Medians (100 samples):
  many_short (174k x ~12B):  nonsel 2.29ms   selective 203us
  few_long   (8k  x ~256B):  nonsel 197us    selective 12us

This answers "is decode-to-VarBin-then-convert cheaper than decode-straight-to-
VarBinView?" when the consumer wants a view:

  many_short/nonsel, to reach a VarBinView:
    view->VarBin (3.42ms) + convert (2.29ms) = 5.71ms
    view->VarBinView直                          = 4.92ms

Going via VarBin is worse (5.71ms vs 4.92ms): the conversion adds back the
per-element view construction you skipped, plus a full re-decode/copy of the
bytes. So VarBin export is only the right target when the consumer actually
wants offsets+bytes (VarBin); if the result must be a VarBinView, decode
straight to it.

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

Two parts, driven by what realistic query shapes revealed.

Benches: real query masks are rarely uniform-random. Add Selectivity shapes
(uniform / range-scan / clustered bursts) and a sorted-index "index lookup"
take, plus a canon_only bench that isolates the export decode by strategy. These
showed that *run length* (set by the selection shape), not raw selectivity,
drives the view's export cost — and that uniform-random was the view's worst
case all along.

Optimization: callgrind showed fsstview_from_fsst is ~21% of a single-op
filter->VarBinView (it derives sizes for all n elements before the filter
discards most). Rather than fuse convert+filter (which would break composition
across a chain of filters/takes), the new RunDecode export strategy attacks the
gather instead: when survivors are monotonic (after any filter / sorted take /
slice), decode each contiguous heap run directly into the element-ordered output
with NO gather copy. Output stays element-ordered so the view-build is
sequential (unlike RunCoalesce). Auto now chooses "export all in place"
(RunDecode) vs "compact codes then export" (GatherBulk) by run count:
runs <= len/4 and monotonic -> RunDecode, else GatherBulk.

canon_only medians (export decode only):
  many_short clustered:  RunDecode 313us vs GatherBulk 333us   (Auto -> 313us)
  many_short range:      RunDecode 345us vs GatherBulk 370us   (Auto -> 333us)
  many_short uniform:    GatherBulk 561us vs RunDecode 657us   (Auto -> 563us)
Auto picks the winner on every shape. The conversion and metadata-only
filter/take stay separate, so chains still compose; only the final canonicalize
compacts or not.

Covered by run_decode_monotonic_filter (nulls/empties/multi-run/trailing-run)
and the existing all-strategies-agree tests; 111 tests pass.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Callgrind on fsstview_from_fsst in isolation showed BufferMut::push was 68% of
the conversion: deriving the sizes array pushed element-by-element, and push
does a reserve(1) capacity recheck every iteration even though capacity is
reserved up front. Switching the size-derivation loop to push_unchecked over
offsets.windows(2) (capacity guaranteed) lets it vectorize.

Conversion instruction count: 20.7B -> 1.73B over 3000 iters (~12x).

End-to-end single filter -> VarBinView (many_short, where conversion was ~21%):
  clustered  868us -> 406us  (2.1x)
  range      885us -> 417us  (2.1x)
  uniform   1108us -> 689us  (1.6x)

This flips the single-op verdict: the view now beats fsst on clustered and
range filters (the realistic DB selection shapes), losing only on the
adversarial uniform-random case. Combined with the RunDecode export heuristic,
the view is now competitive even for a single op, not just chains.

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

Profiling the full single-op pipeline (post conversion-fix) showed
canonicalize_fsstview_with self-cost at ~19%, dominated by materializing three
Vec<usize> (offsets, sizes, ulens) and the VarBin exporter's per-element offset
push.

- total_size is now summed straight from the typed uncompressed-lengths slice;
  the widened ulens: Vec<usize> is built lazily (widen_ulens) only by the
  run/per-element decoders. Direct and GatherBulk no longer allocate it.
- The VarBin exporter builds its len+1 cumulative offsets directly from the
  typed slice with push_unchecked (capacity reserved), instead of widening to
  Vec<usize> and pushing element-by-element.

Net: VarBin export many_short/selective ~726us -> ~467us; the canon decode
itself is unchanged (RunDecode already avoided the ulens Vec). All strategies
still agree; 111 tests pass.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Adds fsst_view_fineweb, which benchmarks FSST vs FSSTView on two real columns
from the HuggingFace FineWeb 10BT sample, instead of synthetic data. The sample
is ~2GB so it isn't downloaded by the bench; it reads length-prefixed dumps of
the `url` (~72B avg, 200k rows) and `text` (~3KB avg, 40k rows) columns produced
once with DuckDB (recipe in the module docs). The bench no-ops if the
FINEWEB_URL / FINEWEB_TEXT env vars are unset, so CI stays green.

Two workloads, fsst (rewrite heap per op) vs fsstview (metadata-only per op):
single filter -> VarBinView, and a 5-op filter/take chain -> VarBinView.

Real-data medians:
                       fsst       fsstview   speedup
  single_filter url    1.02ms     0.84ms     1.2x
  single_filter text   5.81ms     4.38ms     1.3x
  chain         url    6.23ms     3.95ms     1.6x
  chain         text   44.2ms     5.16ms     8.6x

The view wins every real case, decisively on chained ops over long strings
(text chain 8.6x): fsst rewrites the large code heap on every op while the view
stays metadata-only and decodes once at the end. On real (longer) strings the
FSST->view conversion is no longer a notable cost — the earlier synthetic
"conversion dominates" finding was an artifact of 12-byte strings plus
per-op-in-a-loop measurement; the design win (metadata-only chaining) is what
actually pays off.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Removes exploratory scaffolding now that the design has settled, keeping only
what production uses:

- Compaction strategies: drop PerElement and RunCoalesce (both proven to lose;
  Auto never picked them) and the FsstViewByteStats diagnostics. FsstViewCompaction
  is now Auto / Direct / GatherBulk / RunDecode.
- canonical.rs: factor the shared element-ordered decode into decode_element_ordered,
  reused by the VarBinView and VarBin finishers; ~600 -> ~430 lines.
- Synthetic bench (fsst_view_compute): replace the 945-line exploration matrix
  with a focused single-filter + 5-op-chain comparison over two shapes, mirroring
  the FineWeb bench. Real-data benchmarking lives in fsst_view_fineweb.
- Tests: drop the removed-strategy cases and the byte-stats report; keep the
  all-strategies-agree, gapped-filter, RunDecode-monotonic, VarBin-export, and
  conformance coverage.

Net -1361/+195 lines. 107 tests pass, clippy clean, fmt clean, vortex-file builds.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Adds fsst_view_fineweb_queries, which materializes a string column under the
actual WHERE predicates from the vortex-bench FineWeb queries (dump = ..., date
LIKE '2020-10-%', url/text LIKE '%google%', '%espn%', '% vortex %', ...). Each
predicate is evaluated once in DuckDB against the real HuggingFace 10BT sample to
produce an authentic per-row selection mask (recipe in fineweb_queries_extract.py);
the bench applies that mask to the FSST-compressed url/text column and decodes to
a VarBinViewArray, fsst vs fsstview. No-ops if FINEWEB_DIR is unset.

The real masks span the spectrum: clustered selections (dump_eq 7%/177 runs,
date_prefix 12%) vs scattered LIKE-containment (google_or 2%/4046 runs) vs tiny
(vortex 0.04%, espn ~0.08%).

Real-query medians:
                       fsst      view
  text/date_prefix     63.4ms    43.9ms   view 1.4x
  text/dump_eq         40.9ms    26.0ms   view 1.6x
  text/google_or       26.8ms    21.4ms   view 1.25x
  url/dump_eq          1.13ms    0.94ms   view 1.2x
  url/google_and       30us      164us    fsst (tiny, very selective)
  url/vortex           8us       140us    fsst (tiny)

Two regimes: on bulk-ish selections over the long text column the view wins
(1.3-1.6x) by skipping fsst's per-op heap rewrite; on highly selective predicates
over the short url column fsst wins because its filter rewrites an almost-empty
heap while the view pays a fixed ~130us floor converting all 200k offsets before
filtering discards >99% of them. Both are sub-millisecond there, but it confirms
on real query masks that converting the whole column ahead of a very selective
predicate is the view's one real weakness.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Documents what each benchmark measures (fsst_view_compute synthetic shapes,
fsst_view_fineweb real columns, fsst_view_fineweb_queries real query predicates),
the workloads, and the headline median results, plus how Auto picks the decode
strategy.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
FSSTVIEW_HANDOVER.md summarizes the encoding, the three benchmarks and their
median results, the Auto decode strategy, the known conversion-floor limitation,
and the profiling methodology. FSSTVIEW_NEXT_PROMPT.md is a copy-paste prompt to
continue the work (eliminate the selective-filter conversion floor).

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Replace the per-element `codes_sizes` child with `codes_ends` (the end
offset, `offset + size`). A freshly converted FSST heap is contiguous, so
element `i` occupies `offsets[i]..offsets[i + 1]` and both addressing arrays
are now zero-copy slices of the FSST's existing monotonic offsets buffer
(`codes_offsets = offsets[0..len]`, `codes_ends = offsets[1..len + 1]`).

`fsstview_from_fsst` therefore allocates and copies nothing and no longer
materializes a per-row `sizes` array, so a selective `filter`/`take` that
keeps a handful of rows never pays an O(rows) cost to derive sizes for the
rows it discards. The per-element size is recovered as
`codes_ends[i] - codes_offsets[i]` only at canonicalize / `scalar_at`, over
the survivors only. `filter`/`take`/`slice` stay metadata-only and compose
across a chain (they carry `codes_ends` alongside `codes_offsets`); the
conversion is not fused into the filter.

Same-machine before/after on the real `fsst_view_fineweb_queries` bench
(divan medians): `url/vortex` 140 us -> 9.1 us, `url/espn_and` 146 us ->
14.9 us, `text/espn_and` 407 us -> 271 us (flips to a view win), while the
previously winning clustered cases hold (`text/dump_eq` 25.3 ms, 1.68x;
`text/date_prefix` 41.4 ms, 1.67x). The view now wins or ties every query in
the matrix.

107 tests pass; clippy --all-targets --all-features clean; cargo +nightly fmt
clean; vortex-file builds; doc tests pass. README and handover updated.

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

Hot-path cleanups on top of the codes_ends representation:
- canonicalize: derive each survivor's size in place from the widened
  `ends` buffer instead of allocating a third index Vec, and sum `live`
  (total compressed bytes) only on the bulk-decode paths that use it
  rather than unconditionally up front (RunDecode never needs it).
- fsstview_from_fsst: construct via `new_unchecked`. Every FSSTView
  invariant is already guaranteed by the source FSSTArray, so re-running
  `validate_fsstview` on the hot conversion path is wasted work.

Trim the test/bench surface for merge:
- Drop the `fsst_view_fineweb` bench: its multi-op chain is already
  covered synthetically by `fsst_view_compute`, and its column
  materialization overlaps `fsst_view_fineweb_queries`.
- Remove the filter/take/slice `*_matches_canonical` smoke tests; the
  framework conformance tests and the strategy-agreement tests already
  cover those paths.

104 tests pass; clippy --all-targets --all-features clean; cargo +nightly
fmt clean; vortex-file builds; doc tests pass. README and handover updated.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
The conversion-floor fix rests on codes_offsets/codes_ends being zero-copy
slices of the FSST's single monotonic offsets buffer (offsets[0..len] and
offsets[1..len+1]) — no copy, no per-element sizes array. Nothing tested
that invariant directly: the value/agreement tests would still pass if the
conversion were reverted to materialize sizes (silently reintroducing the
floor), and the bench that measures the floor is gated out of CI.

Add conversion_shares_offsets_buffer_zero_copy, which asserts structurally
that a freshly converted view's codes_ends slice begins exactly one element
past codes_offsets in the same allocation. Deterministic, no timing.

105 tests pass; clippy --all-targets --all-features clean; fmt clean.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
RunDecode walked the uncompressed-lengths array into a Vec<usize> solely to
advance its output cursor by each run's total uncompressed length. But
Decompressor::decompress_into already returns the exact decoded byte count
for the bytes it just wrote (the same value Direct uses for set_len), and
that count equals the run's uncompressed length. Advance out_pos by the
return value instead.

This removes one O(survivors) allocation on the clustered/range path (the
text/dump_eq, text/date_prefix wins) and the per-element run_uncompressed
accumulation, and deletes the now-unused widen_ulens helper. A
debug_assert_eq!(out_pos, total_size) documents and checks the cursor
invariant. The inter-run 7-byte decode slack behaviour is unchanged: each
run still decodes exactly its own compressed input.

105 tests pass (incl. the RunDecode-exercising gaps/monotonic-filter
tests); clippy --all-targets --all-features clean; fmt clean.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
The three FSSTViewMetadata::get_*_ptype getters were each used once, in
deserialize, and only wrapped PType::try_from with a custom error message.
The sibling FSST encoding's own deserialize already inlines
PType::try_from(metadata.x)? directly (its TryFrom error converts to
VortexError via ?), so match that: inline the three calls and delete the
getter impl block. This also drops the now-unused vortex_err import.

Also refresh a comment in canonical.rs that still referenced the
ulens: Vec<usize> precompute removed in the previous commit.

105 tests pass; clippy --all-targets --all-features clean; fmt clean.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs added the action/benchmark Trigger full benchmarks to run on this PR label Jun 1, 2026
@github-actions github-actions Bot removed the action/benchmark Trigger full benchmarks to run on this PR label Jun 1, 2026
@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done d1418cf 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: PolarSignals Profiling

Vortex (geomean): 0.976x ➖

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

datafusion / vortex-file-compressed (0.976x ➖, 1↑ 0↓)
name PR d1418cf (ns) base b2605ca (ns) ratio (PR/base)
polarsignals_q00/datafusion:vortex-file-compressed 114450167 118378410 0.97
polarsignals_q01/datafusion:vortex-file-compressed 256502660 268613244 0.95
polarsignals_q02/datafusion:vortex-file-compressed 🚀 21894532 25411726 0.86
polarsignals_q03/datafusion:vortex-file-compressed 272700253 271049212 1.01
polarsignals_q04/datafusion:vortex-file-compressed 10454734 10518764 0.99
polarsignals_q05/datafusion:vortex-file-compressed 13957399 14306391 0.98
polarsignals_q06/datafusion:vortex-file-compressed 18414394 17868566 1.03
polarsignals_q07/datafusion:vortex-file-compressed 13319423 13557192 0.98
polarsignals_q08/datafusion:vortex-file-compressed 390476007 386265363 1.01
polarsignals_q09/datafusion:vortex-file-compressed 10592798 10756265 0.98

No file size changes detected.

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: FineWeb NVMe

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -1.1%
Engines: DataFusion No clear signal (-0.3%, low confidence) · DuckDB No clear signal (-1.9%, low confidence)
Vortex (geomean): 1.053x ➖
Parquet (geomean): 1.065x ➖
Shifts: Parquet (control) +6.5% · Median polish +5.4%

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

datafusion / vortex-file-compressed (1.066x ➖, 0↑ 3↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 5702569 5777540 0.99
fineweb_q01/datafusion:vortex-file-compressed 🚨 23508433 20253065 1.16
fineweb_q02/datafusion:vortex-file-compressed 🚨 25851922 21678395 1.19
fineweb_q03/datafusion:vortex-file-compressed 82314443 84546670 0.97
fineweb_q04/datafusion:vortex-file-compressed 234929203 231999290 1.01
fineweb_q05/datafusion:vortex-file-compressed 220842715 222852000 0.99
fineweb_q06/datafusion:vortex-file-compressed 🚨 59095905 50251119 1.18
fineweb_q07/datafusion:vortex-file-compressed 63020174 60087156 1.05
fineweb_q08/datafusion:vortex-file-compressed 23536493 21726440 1.08
datafusion / vortex-compact (1.063x ➖, 0↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 🚨 6586078 5657168 1.16
fineweb_q01/datafusion:vortex-compact 99817988 94125747 1.06
fineweb_q02/datafusion:vortex-compact 109067003 108582762 1.00
fineweb_q03/datafusion:vortex-compact 916762636 887095984 1.03
fineweb_q04/datafusion:vortex-compact 982889462 926054806 1.06
fineweb_q05/datafusion:vortex-compact 875549607 835433900 1.05
fineweb_q06/datafusion:vortex-compact 498690090 462660677 1.08
fineweb_q07/datafusion:vortex-compact 513571806 489556588 1.05
fineweb_q08/datafusion:vortex-compact 20114076 18724901 1.07
datafusion / parquet (1.068x ➖, 0↑ 2↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 6960290 6618162 1.05
fineweb_q01/datafusion:parquet 297243262 291089634 1.02
fineweb_q02/datafusion:parquet 323222443 301344816 1.07
fineweb_q03/datafusion:parquet 🚨 313304316 278095726 1.13
fineweb_q04/datafusion:parquet 🚨 331932046 301414282 1.10
fineweb_q05/datafusion:parquet 324172537 306306814 1.06
fineweb_q06/datafusion:parquet 306251956 291569494 1.05
fineweb_q07/datafusion:parquet 302225365 281829705 1.07
fineweb_q08/datafusion:parquet 298599337 280976435 1.06
duckdb / vortex-file-compressed (1.032x ➖, 1↑ 2↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 🚨 3753728 3308367 1.13
fineweb_q01/duckdb:vortex-file-compressed 🚨 25168626 22735252 1.11
fineweb_q02/duckdb:vortex-file-compressed 24205811 23201616 1.04
fineweb_q03/duckdb:vortex-file-compressed 🚀 130207248 165031712 0.79
fineweb_q04/duckdb:vortex-file-compressed 218557068 221179143 0.99
fineweb_q05/duckdb:vortex-file-compressed 221863861 215042142 1.03
fineweb_q06/duckdb:vortex-file-compressed 56949426 52903894 1.08
fineweb_q07/duckdb:vortex-file-compressed 57667204 53041957 1.09
fineweb_q08/duckdb:vortex-file-compressed 24296369 22597347 1.08
duckdb / vortex-compact (1.052x ➖, 0↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 🚨 4614934 4177737 1.10
fineweb_q01/duckdb:vortex-compact 114712555 108929091 1.05
fineweb_q02/duckdb:vortex-compact 116071754 111211655 1.04
fineweb_q03/duckdb:vortex-compact 911369512 862956470 1.06
fineweb_q04/duckdb:vortex-compact 955717641 900127841 1.06
fineweb_q05/duckdb:vortex-compact 846905447 804813023 1.05
fineweb_q06/duckdb:vortex-compact 485785086 464822827 1.05
fineweb_q07/duckdb:vortex-compact 489413250 482673567 1.01
fineweb_q08/duckdb:vortex-compact 20453792 19663145 1.04
duckdb / parquet (1.062x ➖, 0↑ 2↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 🚨 34254876 31079860 1.10
fineweb_q01/duckdb:parquet 91879917 88324430 1.04
fineweb_q02/duckdb:parquet 91000744 86837546 1.05
fineweb_q03/duckdb:parquet 330731427 320681059 1.03
fineweb_q04/duckdb:parquet 461982856 450250711 1.03
fineweb_q05/duckdb:parquet 433462053 416658931 1.04
fineweb_q06/duckdb:parquet 216143752 204330124 1.06
fineweb_q07/duckdb:parquet 227304590 216391632 1.05
fineweb_q08/duckdb:parquet 🚨 37880036 32302519 1.17

No file size changes detected.

Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-compact +16.4% +7.7% +8.1% +47.9% ➖ noise
0 datafusion:vortex-file-compressed -1.3% +7.7% -8.3% +53.8% ➖ noise
0 duckdb:vortex-compact +10.5% +7.7% +2.6% +126.4% ➖ noise
0 duckdb:vortex-file-compressed +13.5% +7.7% +5.4% +76.5% ➖ noise
1 datafusion:vortex-compact +6.0% +3.1% +2.9% +19.6% ➖ noise
1 datafusion:vortex-file-compressed +16.1% +3.1% +12.6% +25.7% ➖ noise
1 duckdb:vortex-compact +5.3% +3.1% +2.2% +29.0% ➖ noise
1 duckdb:vortex-file-compressed +10.7% +3.1% +7.4% +65.0% ➖ noise
2 datafusion:vortex-compact +0.4% +6.0% -5.3% +10.9% ➖ noise
2 datafusion:vortex-file-compressed +19.3% +6.0% +12.5% +13.5% ➖ noise
2 duckdb:vortex-compact +4.4% +6.0% -1.6% +10.0% ➖ noise
2 duckdb:vortex-file-compressed +4.3% +6.0% -1.6% +10.0% ➖ noise
3 datafusion:vortex-compact +3.3% +7.8% -4.1% +10.0% ➖ noise
3 datafusion:vortex-file-compressed -2.6% +7.8% -9.7% +19.2% ➖ noise
3 duckdb:vortex-compact +5.6% +7.8% -2.0% +10.0% ➖ noise
3 duckdb:vortex-file-compressed -21.1% +7.8% -26.8% +34.3% ✅ faster
4 datafusion:vortex-compact +6.1% +6.3% -0.2% +10.0% ➖ noise
4 datafusion:vortex-file-compressed +1.3% +6.3% -4.7% +10.0% ➖ noise
4 duckdb:vortex-compact +6.2% +6.3% -0.1% +10.0% ➖ noise
4 duckdb:vortex-file-compressed -1.2% +6.3% -7.0% +10.0% ➖ noise
5 datafusion:vortex-compact +4.8% +4.9% -0.1% +10.0% ➖ noise
5 datafusion:vortex-file-compressed -0.9% +4.9% -5.6% +10.0% ➖ noise
5 duckdb:vortex-compact +5.2% +4.9% +0.3% +10.0% ➖ noise
5 duckdb:vortex-file-compressed +3.2% +4.9% -1.7% +10.0% ➖ noise
6 datafusion:vortex-compact +7.8% +5.4% +2.3% +10.0% ➖ noise
6 datafusion:vortex-file-compressed +17.6% +5.4% +11.6% +10.5% 🚨 regression
6 duckdb:vortex-compact +4.5% +5.4% -0.9% +10.0% ➖ noise
6 duckdb:vortex-file-compressed +7.6% +5.4% +2.1% +10.0% ➖ noise
7 datafusion:vortex-compact +4.9% +6.1% -1.2% +10.0% ➖ noise
7 datafusion:vortex-file-compressed +4.9% +6.1% -1.2% +18.4% ➖ noise
7 duckdb:vortex-compact +1.4% +6.1% -4.5% +10.0% ➖ noise
7 duckdb:vortex-file-compressed +8.7% +6.1% +2.4% +20.5% ➖ noise
8 datafusion:vortex-compact +7.4% +11.6% -3.8% +19.7% ➖ noise
8 datafusion:vortex-file-compressed +8.3% +11.6% -3.0% +12.7% ➖ noise
8 duckdb:vortex-compact +4.0% +11.6% -6.8% +46.5% ➖ noise
8 duckdb:vortex-file-compressed +7.5% +11.6% -3.7% +10.1% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: TPC-H SF=1 on NVME

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +0.1%
Engines: DataFusion No clear signal (+0.3%, environment too noisy confidence) · DuckDB No clear signal (-0.1%, environment too noisy confidence)
Vortex (geomean): 1.046x ➖
Parquet (geomean): 1.048x ➖
Shifts: Parquet (control) +4.8% · Median polish +5.3%

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

datafusion / vortex-file-compressed (1.050x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 53550784 49837959 1.07
tpch_q02/datafusion:vortex-file-compressed 24256344 22743282 1.07
tpch_q03/datafusion:vortex-file-compressed 29923339 28530626 1.05
tpch_q04/datafusion:vortex-file-compressed 21935580 20477587 1.07
tpch_q05/datafusion:vortex-file-compressed 52347140 50554005 1.04
tpch_q06/datafusion:vortex-file-compressed 11260308 10460917 1.08
tpch_q07/datafusion:vortex-file-compressed 57901856 55419922 1.04
tpch_q08/datafusion:vortex-file-compressed 41664060 39698608 1.05
tpch_q09/datafusion:vortex-file-compressed 55112857 52390091 1.05
tpch_q10/datafusion:vortex-file-compressed 42006125 40128645 1.05
tpch_q11/datafusion:vortex-file-compressed 17217225 15957319 1.08
tpch_q12/datafusion:vortex-file-compressed 24855594 25842039 0.96
tpch_q13/datafusion:vortex-file-compressed 27727593 25930339 1.07
tpch_q14/datafusion:vortex-file-compressed 16712511 15823058 1.06
tpch_q15/datafusion:vortex-file-compressed 25896505 24356722 1.06
tpch_q16/datafusion:vortex-file-compressed 20769882 20076324 1.03
tpch_q17/datafusion:vortex-file-compressed 69811101 67266120 1.04
tpch_q18/datafusion:vortex-file-compressed 86715014 81544013 1.06
tpch_q19/datafusion:vortex-file-compressed 22703819 22279803 1.02
tpch_q20/datafusion:vortex-file-compressed 30718703 29144037 1.05
tpch_q21/datafusion:vortex-file-compressed 75777903 72518248 1.04
tpch_q22/datafusion:vortex-file-compressed 13323393 12690628 1.05
datafusion / vortex-compact (1.055x ➖, 0↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 60390742 59759493 1.01
tpch_q02/datafusion:vortex-compact 27817851 25950548 1.07
tpch_q03/datafusion:vortex-compact 31180248 29108955 1.07
tpch_q04/datafusion:vortex-compact 24026406 22686123 1.06
tpch_q05/datafusion:vortex-compact 54333719 49564728 1.10
tpch_q06/datafusion:vortex-compact 13179370 12657779 1.04
tpch_q07/datafusion:vortex-compact 62986101 59187629 1.06
tpch_q08/datafusion:vortex-compact 45258159 43477642 1.04
tpch_q09/datafusion:vortex-compact 59897880 56311467 1.06
tpch_q10/datafusion:vortex-compact 48046370 45569357 1.05
tpch_q11/datafusion:vortex-compact 17818259 17614113 1.01
tpch_q12/datafusion:vortex-compact 32197456 32047055 1.00
tpch_q13/datafusion:vortex-compact 34570043 31903003 1.08
tpch_q14/datafusion:vortex-compact 19765548 19458553 1.02
tpch_q15/datafusion:vortex-compact 33802282 31510079 1.07
tpch_q16/datafusion:vortex-compact 26010968 23826183 1.09
tpch_q17/datafusion:vortex-compact 75217147 71908398 1.05
tpch_q18/datafusion:vortex-compact 92112778 84193751 1.09
tpch_q19/datafusion:vortex-compact 32770647 33366385 0.98
tpch_q20/datafusion:vortex-compact 🚨 37543249 33519227 1.12
tpch_q21/datafusion:vortex-compact 82433655 76352701 1.08
tpch_q22/datafusion:vortex-compact 13556064 12887628 1.05
datafusion / parquet (1.052x ➖, 0↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 🚨 137742802 92075113 1.50
tpch_q02/datafusion:parquet 65495572 61945570 1.06
tpch_q03/datafusion:parquet 73364355 72111316 1.02
tpch_q04/datafusion:parquet 45523943 43805213 1.04
tpch_q05/datafusion:parquet 96603018 93861205 1.03
tpch_q06/datafusion:parquet 41935085 42207452 0.99
tpch_q07/datafusion:parquet 111065815 106185795 1.05
tpch_q08/datafusion:parquet 97964264 96274692 1.02
tpch_q09/datafusion:parquet 133941920 126785875 1.06
tpch_q10/datafusion:parquet 116777154 110422453 1.06
tpch_q11/datafusion:parquet 43742011 40526641 1.08
tpch_q12/datafusion:parquet 88654246 87439782 1.01
tpch_q13/datafusion:parquet 216415729 201559919 1.07
tpch_q14/datafusion:parquet 46805356 47818520 0.98
tpch_q15/datafusion:parquet 61171723 59845785 1.02
tpch_q16/datafusion:parquet 43569545 40385394 1.08
tpch_q17/datafusion:parquet 138235378 127449769 1.08
tpch_q18/datafusion:parquet 174401508 169193243 1.03
tpch_q19/datafusion:parquet 72431091 78857172 0.92
tpch_q20/datafusion:parquet 72672267 66475011 1.09
tpch_q21/datafusion:parquet 142558238 137488252 1.04
tpch_q22/datafusion:parquet 32374028 31755099 1.02
datafusion / arrow (1.060x ➖, 0↑ 3↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:arrow 56068806 60489025 0.93
tpch_q02/datafusion:arrow 19142794 18981976 1.01
tpch_q03/datafusion:arrow 32010493 29506460 1.08
tpch_q04/datafusion:arrow 27022578 24792626 1.09
tpch_q05/datafusion:arrow 🚨 87676989 72476994 1.21
tpch_q06/datafusion:arrow 🚨 23021511 19738148 1.17
tpch_q07/datafusion:arrow 109871676 103827095 1.06
tpch_q08/datafusion:arrow 🚨 48005407 42148927 1.14
tpch_q09/datafusion:arrow 67198471 65210490 1.03
tpch_q10/datafusion:arrow 48050265 49888927 0.96
tpch_q11/datafusion:arrow 9863339 9187480 1.07
tpch_q12/datafusion:arrow 52891250 51764663 1.02
tpch_q13/datafusion:arrow 49062493 46462660 1.06
tpch_q14/datafusion:arrow 22652189 21211289 1.07
tpch_q15/datafusion:arrow 47033594 43428658 1.08
tpch_q16/datafusion:arrow 20193991 18925731 1.07
tpch_q17/datafusion:arrow 73146866 67478653 1.08
tpch_q18/datafusion:arrow 144773414 137457628 1.05
tpch_q19/datafusion:arrow 37236667 34043179 1.09
tpch_q20/datafusion:arrow 36007050 34752625 1.04
tpch_q21/datafusion:arrow 159179030 156372580 1.02
tpch_q22/datafusion:arrow 18542782 18218851 1.02
duckdb / vortex-file-compressed (1.040x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 31901717 31077944 1.03
tpch_q02/duckdb:vortex-file-compressed 25849764 24919119 1.04
tpch_q03/duckdb:vortex-file-compressed 34663077 33211681 1.04
tpch_q04/duckdb:vortex-file-compressed 29911043 29107901 1.03
tpch_q05/duckdb:vortex-file-compressed 39616255 37211070 1.06
tpch_q06/duckdb:vortex-file-compressed 8725874 8440979 1.03
tpch_q07/duckdb:vortex-file-compressed 36783833 34545990 1.06
tpch_q08/duckdb:vortex-file-compressed 38293187 37578255 1.02
tpch_q09/duckdb:vortex-file-compressed 60662969 58217097 1.04
tpch_q10/duckdb:vortex-file-compressed 43447198 40880204 1.06
tpch_q11/duckdb:vortex-file-compressed 15367442 15111301 1.02
tpch_q12/duckdb:vortex-file-compressed 23706159 21933479 1.08
tpch_q13/duckdb:vortex-file-compressed 42827218 40735852 1.05
tpch_q14/duckdb:vortex-file-compressed 22470565 21981915 1.02
tpch_q15/duckdb:vortex-file-compressed 17457066 17170089 1.02
tpch_q16/duckdb:vortex-file-compressed 30415704 30011085 1.01
tpch_q17/duckdb:vortex-file-compressed 24741779 24382083 1.01
tpch_q18/duckdb:vortex-file-compressed 55011434 53060697 1.04
tpch_q19/duckdb:vortex-file-compressed 31250352 29215897 1.07
tpch_q20/duckdb:vortex-file-compressed 34724649 32686057 1.06
tpch_q21/duckdb:vortex-file-compressed 105000366 100107839 1.05
tpch_q22/duckdb:vortex-file-compressed 17895733 17255224 1.04
duckdb / vortex-compact (1.040x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 39442659 38254260 1.03
tpch_q02/duckdb:vortex-compact 33739337 33860485 1.00
tpch_q03/duckdb:vortex-compact 36344312 34448960 1.06
tpch_q04/duckdb:vortex-compact 31719389 31446598 1.01
tpch_q05/duckdb:vortex-compact 43728191 40643538 1.08
tpch_q06/duckdb:vortex-compact 11146188 11436448 0.97
tpch_q07/duckdb:vortex-compact 42352674 40006297 1.06
tpch_q08/duckdb:vortex-compact 42854806 42158312 1.02
tpch_q09/duckdb:vortex-compact 68186889 65443854 1.04
tpch_q10/duckdb:vortex-compact 48310197 45378190 1.06
tpch_q11/duckdb:vortex-compact 19436434 18201315 1.07
tpch_q12/duckdb:vortex-compact 31036543 29867375 1.04
tpch_q13/duckdb:vortex-compact 48074374 46337941 1.04
tpch_q14/duckdb:vortex-compact 27697351 26031237 1.06
tpch_q15/duckdb:vortex-compact 20932323 20355839 1.03
tpch_q16/duckdb:vortex-compact 34217024 33354524 1.03
tpch_q17/duckdb:vortex-compact 30691994 28332355 1.08
tpch_q18/duckdb:vortex-compact 54164139 54074538 1.00
tpch_q19/duckdb:vortex-compact 35263044 32634280 1.08
tpch_q20/duckdb:vortex-compact 41134277 40364190 1.02
tpch_q21/duckdb:vortex-compact 109370038 102511034 1.07
tpch_q22/duckdb:vortex-compact 19413707 18283386 1.06
duckdb / parquet (1.043x ➖, 1↑ 3↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 76606466 77750842 0.99
tpch_q02/duckdb:parquet 41175222 39712926 1.04
tpch_q03/duckdb:parquet 72571468 71354642 1.02
tpch_q04/duckdb:parquet 50957992 50240819 1.01
tpch_q05/duckdb:parquet 70275761 68774760 1.02
tpch_q06/duckdb:parquet 22902388 22432579 1.02
tpch_q07/duckdb:parquet 🚨 85686049 74946377 1.14
tpch_q08/duckdb:parquet 🚨 103166024 82257413 1.25
tpch_q09/duckdb:parquet 🚨 164280924 140065625 1.17
tpch_q10/duckdb:parquet 129560964 128448181 1.01
tpch_q11/duckdb:parquet 23241427 22307310 1.04
tpch_q12/duckdb:parquet 47765139 48252544 0.99
tpch_q13/duckdb:parquet 266058304 250919586 1.06
tpch_q14/duckdb:parquet 52788293 50791600 1.04
tpch_q15/duckdb:parquet 🚀 26711265 30653184 0.87
tpch_q16/duckdb:parquet 60038755 57852617 1.04
tpch_q17/duckdb:parquet 60638018 56490429 1.07
tpch_q18/duckdb:parquet 120644537 120705312 1.00
tpch_q19/duckdb:parquet 75228958 68903646 1.09
tpch_q20/duckdb:parquet 66815027 65029948 1.03
tpch_q21/duckdb:parquet 185138037 171955755 1.08
tpch_q22/duckdb:parquet 54967957 53813152 1.02
duckdb / duckdb (1.047x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 18583761 17776548 1.05
tpch_q02/duckdb:duckdb 15338085 14438028 1.06
tpch_q03/duckdb:duckdb 23635891 22004082 1.07
tpch_q04/duckdb:duckdb 23515636 22274411 1.06
tpch_q05/duckdb:duckdb 24235412 23352507 1.04
tpch_q06/duckdb:duckdb 7166622 7024619 1.02
tpch_q07/duckdb:duckdb 26552799 25119240 1.06
tpch_q08/duckdb:duckdb 24969365 23951562 1.04
tpch_q09/duckdb:duckdb 61080318 57514131 1.06
tpch_q10/duckdb:duckdb 53509481 51143878 1.05
tpch_q11/duckdb:duckdb 7802116 7108388 1.10
tpch_q12/duckdb:duckdb 18496992 18096696 1.02
tpch_q13/duckdb:duckdb 40888138 39276278 1.04
tpch_q14/duckdb:duckdb 22813884 21499427 1.06
tpch_q15/duckdb:duckdb 14217280 13592796 1.05
tpch_q16/duckdb:duckdb 27271339 26001918 1.05
tpch_q17/duckdb:duckdb 17045321 16175320 1.05
tpch_q18/duckdb:duckdb 41444276 40827825 1.02
tpch_q19/duckdb:duckdb 32990462 31222544 1.06
tpch_q20/duckdb:duckdb 25851063 25669917 1.01
tpch_q21/duckdb:duckdb 64776678 61049629 1.06
tpch_q22/duckdb:duckdb 26192160 25484937 1.03

No file size changes detected.

Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:arrow -7.3% +21.4% -23.7% +19.5% ✅ faster
1 datafusion:vortex-compact +1.1% +21.4% -16.8% +17.7% ✅ faster
1 datafusion:vortex-file-compressed +7.4% +21.4% -11.5% +19.1% ➖ noise
1 duckdb:duckdb +4.5% +21.4% -13.9% +17.0% ➖ noise
1 duckdb:vortex-compact +3.1% +21.4% -15.1% +16.5% ✅ faster
1 duckdb:vortex-file-compressed +2.7% +21.4% -15.4% +17.9% ✅ faster
2 datafusion:arrow +0.8% +4.7% -3.7% +14.2% ➖ noise
2 datafusion:vortex-compact +7.2% +4.7% +2.4% +14.2% ➖ noise
2 datafusion:vortex-file-compressed +6.7% +4.7% +1.9% +14.2% ➖ noise
2 duckdb:duckdb +6.2% +4.7% +1.5% +14.2% ➖ noise
2 duckdb:vortex-compact -0.4% +4.7% -4.8% +14.2% ➖ noise
2 duckdb:vortex-file-compressed +3.7% +4.7% -0.9% +14.2% ➖ noise
3 datafusion:arrow +8.5% +1.7% +6.7% +14.2% ➖ noise
3 datafusion:vortex-compact +7.1% +1.7% +5.3% +14.2% ➖ noise
3 datafusion:vortex-file-compressed +4.9% +1.7% +3.1% +14.2% ➖ noise
3 duckdb:duckdb +7.4% +1.7% +5.6% +14.2% ➖ noise
3 duckdb:vortex-compact +5.5% +1.7% +3.7% +14.2% ➖ noise
3 duckdb:vortex-file-compressed +4.4% +1.7% +2.6% +14.2% ➖ noise
4 datafusion:arrow +9.0% +2.7% +6.2% +14.2% ➖ noise
4 datafusion:vortex-compact +5.9% +2.7% +3.2% +14.2% ➖ noise
4 datafusion:vortex-file-compressed +7.1% +2.7% +4.3% +14.2% ➖ noise
4 duckdb:duckdb +5.6% +2.7% +2.8% +14.2% ➖ noise
4 duckdb:vortex-compact +0.9% +2.7% -1.8% +14.2% ➖ noise
4 duckdb:vortex-file-compressed +2.8% +2.7% +0.1% +14.2% ➖ noise
5 datafusion:arrow +21.0% +2.6% +18.0% +14.2% 🚨 regression
5 datafusion:vortex-compact +9.6% +2.6% +6.9% +14.2% ➖ noise
5 datafusion:vortex-file-compressed +3.5% +2.6% +1.0% +14.2% ➖ noise
5 duckdb:duckdb +3.8% +2.6% +1.2% +14.2% ➖ noise
5 duckdb:vortex-compact +7.6% +2.6% +4.9% +14.2% ➖ noise
5 duckdb:vortex-file-compressed +6.5% +2.6% +3.8% +14.2% ➖ noise
6 datafusion:arrow +16.6% +0.7% +15.8% +15.5% 🚨 regression
6 datafusion:vortex-compact +4.1% +0.7% +3.4% +21.6% ➖ noise
6 datafusion:vortex-file-compressed +7.6% +0.7% +6.9% +15.3% ➖ noise
6 duckdb:duckdb +2.0% +0.7% +1.3% +15.8% ➖ noise
6 duckdb:vortex-compact -2.5% +0.7% -3.2% +23.4% ➖ noise
6 duckdb:vortex-file-compressed +3.4% +0.7% +2.6% +16.5% ➖ noise
7 datafusion:arrow +5.8% +9.4% -3.2% +14.2% ➖ noise
7 datafusion:vortex-compact +6.4% +9.4% -2.7% +14.2% ➖ noise
7 datafusion:vortex-file-compressed +4.5% +9.4% -4.5% +14.2% ➖ noise
7 duckdb:duckdb +5.7% +9.4% -3.3% +14.2% ➖ noise
7 duckdb:vortex-compact +5.9% +9.4% -3.2% +14.2% ➖ noise
7 duckdb:vortex-file-compressed +6.5% +9.4% -2.6% +14.2% ➖ noise
8 datafusion:arrow +13.9% +13.0% +0.8% +14.2% ➖ noise
8 datafusion:vortex-compact +4.1% +13.0% -7.9% +14.2% ➖ noise
8 datafusion:vortex-file-compressed +5.0% +13.0% -7.1% +14.2% ➖ noise
8 duckdb:duckdb +4.2% +13.0% -7.7% +14.2% ➖ noise
8 duckdb:vortex-compact +1.7% +13.0% -10.0% +14.2% ➖ noise
8 duckdb:vortex-file-compressed +1.9% +13.0% -9.8% +14.2% ➖ noise
9 datafusion:arrow +3.0% +11.3% -7.4% +14.2% ➖ noise
9 datafusion:vortex-compact +6.4% +11.3% -4.4% +14.2% ➖ noise
9 datafusion:vortex-file-compressed +5.2% +11.3% -5.5% +14.2% ➖ noise
9 duckdb:duckdb +6.2% +11.3% -4.6% +14.2% ➖ noise
9 duckdb:vortex-compact +4.2% +11.3% -6.4% +14.2% ➖ noise
9 duckdb:vortex-file-compressed +4.2% +11.3% -6.4% +14.2% ➖ noise
10 datafusion:arrow -3.7% +3.3% -6.7% +14.2% ➖ noise
10 datafusion:vortex-compact +5.4% +3.3% +2.1% +14.2% ➖ noise
10 datafusion:vortex-file-compressed +4.7% +3.3% +1.4% +14.2% ➖ noise
10 duckdb:duckdb +4.6% +3.3% +1.3% +14.2% ➖ noise
10 duckdb:vortex-compact +6.5% +3.3% +3.1% +14.2% ➖ noise
10 duckdb:vortex-file-compressed +6.3% +3.3% +2.9% +14.2% ➖ noise
11 datafusion:arrow +7.4% +6.0% +1.2% +14.2% ➖ noise
11 datafusion:vortex-compact +1.2% +6.0% -4.6% +14.2% ➖ noise
11 datafusion:vortex-file-compressed +7.9% +6.0% +1.7% +14.2% ➖ noise
11 duckdb:duckdb +9.8% +6.0% +3.5% +14.2% ➖ noise
11 duckdb:vortex-compact +6.8% +6.0% +0.7% +14.2% ➖ noise
11 duckdb:vortex-file-compressed +1.7% +6.0% -4.1% +20.4% ➖ noise
12 datafusion:arrow +2.2% +0.2% +2.0% +19.3% ➖ noise
12 datafusion:vortex-compact +0.5% +0.2% +0.3% +14.2% ➖ noise
12 datafusion:vortex-file-compressed -3.8% +0.2% -4.0% +19.6% ➖ noise
12 duckdb:duckdb +2.2% +0.2% +2.0% +14.2% ➖ noise
12 duckdb:vortex-compact +3.9% +0.2% +3.7% +14.2% ➖ noise
12 duckdb:vortex-file-compressed +8.1% +0.2% +7.9% +14.2% ➖ noise
13 datafusion:arrow +5.6% +6.7% -1.0% +14.2% ➖ noise
13 datafusion:vortex-compact +8.4% +6.7% +1.6% +14.2% ➖ noise
13 datafusion:vortex-file-compressed +6.9% +6.7% +0.2% +14.2% ➖ noise
13 duckdb:duckdb +4.1% +6.7% -2.4% +14.2% ➖ noise
13 duckdb:vortex-compact +3.7% +6.7% -2.8% +14.2% ➖ noise
13 duckdb:vortex-file-compressed +5.1% +6.7% -1.5% +14.2% ➖ noise
14 datafusion:arrow +6.8% +0.9% +5.9% +14.2% ➖ noise
14 datafusion:vortex-compact +1.6% +0.9% +0.7% +14.2% ➖ noise
14 datafusion:vortex-file-compressed +5.6% +0.9% +4.7% +14.2% ➖ noise
14 duckdb:duckdb +6.1% +0.9% +5.2% +14.2% ➖ noise
14 duckdb:vortex-compact +6.4% +0.9% +5.5% +14.2% ➖ noise
14 duckdb:vortex-file-compressed +2.2% +0.9% +1.4% +14.2% ➖ noise
15 datafusion:arrow +8.3% -5.6% +14.8% +14.2% 🚨 regression
15 datafusion:vortex-compact +7.3% -5.6% +13.7% +14.2% ➖ noise
15 datafusion:vortex-file-compressed +6.3% -5.6% +12.7% +14.2% ➖ noise
15 duckdb:duckdb +4.6% -5.6% +10.8% +14.2% ➖ noise
15 duckdb:vortex-compact +2.8% -5.6% +9.0% +14.2% ➖ noise
15 duckdb:vortex-file-compressed +1.7% -5.6% +7.7% +14.2% ➖ noise
16 datafusion:arrow +6.7% +5.8% +0.8% +14.2% ➖ noise
16 datafusion:vortex-compact +9.2% +5.8% +3.2% +14.2% ➖ noise
16 datafusion:vortex-file-compressed +3.5% +5.8% -2.2% +14.2% ➖ noise
16 duckdb:duckdb +4.9% +5.8% -0.9% +14.2% ➖ noise
16 duckdb:vortex-compact +2.6% +5.8% -3.0% +14.2% ➖ noise
16 duckdb:vortex-file-compressed +1.3% +5.8% -4.2% +14.2% ➖ noise
17 datafusion:arrow +8.4% +7.9% +0.5% +14.2% ➖ noise
17 datafusion:vortex-compact +4.6% +7.9% -3.1% +14.2% ➖ noise
17 datafusion:vortex-file-compressed +3.8% +7.9% -3.8% +14.2% ➖ noise
17 duckdb:duckdb +5.4% +7.9% -2.3% +14.2% ➖ noise
17 duckdb:vortex-compact +8.3% +7.9% +0.4% +14.2% ➖ noise
17 duckdb:vortex-file-compressed +1.5% +7.9% -6.0% +14.2% ➖ noise
18 datafusion:arrow +5.3% +1.5% +3.8% +14.2% ➖ noise
18 datafusion:vortex-compact +9.4% +1.5% +7.8% +14.2% ➖ noise
18 datafusion:vortex-file-compressed +6.3% +1.5% +4.8% +14.2% ➖ noise
18 duckdb:duckdb +1.5% +1.5% +0.0% +14.2% ➖ noise
18 duckdb:vortex-compact +0.2% +1.5% -1.3% +14.2% ➖ noise
18 duckdb:vortex-file-compressed +3.7% +1.5% +2.1% +14.2% ➖ noise
19 datafusion:arrow +9.4% +0.1% +9.2% +22.5% ➖ noise
19 datafusion:vortex-compact -1.8% +0.1% -1.9% +14.2% ➖ noise
19 datafusion:vortex-file-compressed +1.9% +0.1% +1.8% +14.7% ➖ noise
19 duckdb:duckdb +5.7% +0.1% +5.5% +14.2% ➖ noise
19 duckdb:vortex-compact +8.1% +0.1% +7.9% +14.2% ➖ noise
19 duckdb:vortex-file-compressed +7.0% +0.1% +6.8% +14.2% ➖ noise
20 datafusion:arrow +3.6% +6.0% -2.2% +14.2% ➖ noise
20 datafusion:vortex-compact +12.0% +6.0% +5.7% +14.2% ➖ noise
20 datafusion:vortex-file-compressed +5.4% +6.0% -0.5% +14.2% ➖ noise
20 duckdb:duckdb +0.7% +6.0% -5.0% +14.2% ➖ noise
20 duckdb:vortex-compact +1.9% +6.0% -3.8% +14.2% ➖ noise
20 duckdb:vortex-file-compressed +6.2% +6.0% +0.2% +14.2% ➖ noise
21 datafusion:arrow +1.8% +5.7% -3.7% +14.2% ➖ noise
21 datafusion:vortex-compact +8.0% +5.7% +2.2% +14.2% ➖ noise
21 datafusion:vortex-file-compressed +4.5% +5.7% -1.1% +14.2% ➖ noise
21 duckdb:duckdb +6.1% +5.7% +0.4% +14.2% ➖ noise
21 duckdb:vortex-compact +6.7% +5.7% +1.0% +14.2% ➖ noise
21 duckdb:vortex-file-compressed +4.9% +5.7% -0.7% +14.2% ➖ noise
22 datafusion:arrow +1.8% +2.0% -0.3% +14.2% ➖ noise
22 datafusion:vortex-compact +5.2% +2.0% +3.1% +14.2% ➖ noise
22 datafusion:vortex-file-compressed +5.0% +2.0% +2.9% +14.2% ➖ noise
22 duckdb:duckdb +2.8% +2.0% +0.7% +14.2% ➖ noise
22 duckdb:vortex-compact +6.2% +2.0% +4.1% +14.4% ➖ noise
22 duckdb:vortex-file-compressed +3.7% +2.0% +1.6% +14.2% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: TPC-DS SF=1 on NVME

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

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

datafusion / vortex-file-compressed (1.007x ➖, 1↑ 2↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-file-compressed 25673024 26969435 0.95
tpcds_q02/datafusion:vortex-file-compressed 47776512 47108640 1.01
tpcds_q03/datafusion:vortex-file-compressed 15599413 15546614 1.00
tpcds_q04/datafusion:vortex-file-compressed 251010233 251813615 1.00
tpcds_q05/datafusion:vortex-file-compressed 44596729 44065631 1.01
tpcds_q06/datafusion:vortex-file-compressed 60590720 61720853 0.98
tpcds_q07/datafusion:vortex-file-compressed 41215590 41231085 1.00
tpcds_q08/datafusion:vortex-file-compressed 29446886 28650725 1.03
tpcds_q09/datafusion:vortex-file-compressed 38821308 39540925 0.98
tpcds_q10/datafusion:vortex-file-compressed 39254351 37866351 1.04
tpcds_q11/datafusion:vortex-file-compressed 126558211 126143455 1.00
tpcds_q12/datafusion:vortex-file-compressed 19299050 20183200 0.96
tpcds_q13/datafusion:vortex-file-compressed 49504032 49903302 0.99
tpcds_q14/datafusion:vortex-file-compressed 173802163 176127495 0.99
tpcds_q15/datafusion:vortex-file-compressed 28997428 29453242 0.98
tpcds_q16/datafusion:vortex-file-compressed 28966015 28244099 1.03
tpcds_q17/datafusion:vortex-file-compressed 63124959 62882729 1.00
tpcds_q18/datafusion:vortex-file-compressed 68961246 68574890 1.01
tpcds_q19/datafusion:vortex-file-compressed 23056746 21830787 1.06
tpcds_q20/datafusion:vortex-file-compressed 21981263 21905236 1.00
tpcds_q21/datafusion:vortex-file-compressed 35505100 33810646 1.05
tpcds_q22/datafusion:vortex-file-compressed 🚨 153702976 112858002 1.36
tpcds_q23/datafusion:vortex-file-compressed 153032097 153880601 0.99
tpcds_q24/datafusion:vortex-file-compressed 85940226 83934391 1.02
tpcds_q25/datafusion:vortex-file-compressed 64689467 69028819 0.94
tpcds_q26/datafusion:vortex-file-compressed 33924454 33039382 1.03
tpcds_q27/datafusion:vortex-file-compressed 101856818 106270785 0.96
tpcds_q28/datafusion:vortex-file-compressed 33774099 34078440 0.99
tpcds_q29/datafusion:vortex-file-compressed 61501298 62171830 0.99
tpcds_q30/datafusion:vortex-file-compressed 26198070 24367108 1.08
tpcds_q31/datafusion:vortex-file-compressed 74857417 76867307 0.97
tpcds_q32/datafusion:vortex-file-compressed 20229676 19843681 1.02
tpcds_q33/datafusion:vortex-file-compressed 29855351 30090368 0.99
tpcds_q34/datafusion:vortex-file-compressed 24692715 24548291 1.01
tpcds_q35/datafusion:vortex-file-compressed 47384019 44706113 1.06
tpcds_q36/datafusion:vortex-file-compressed 57348933 57138399 1.00
tpcds_q37/datafusion:vortex-file-compressed 24477579 24170097 1.01
tpcds_q38/datafusion:vortex-file-compressed 43734831 43271453 1.01
tpcds_q39/datafusion:vortex-file-compressed 105995880 103797016 1.02
tpcds_q40/datafusion:vortex-file-compressed 32700073 32593468 1.00
tpcds_q41/datafusion:vortex-file-compressed 15871627 15558891 1.02
tpcds_q42/datafusion:vortex-file-compressed 14294639 14473115 0.99
tpcds_q43/datafusion:vortex-file-compressed 18897334 18868724 1.00
tpcds_q44/datafusion:vortex-file-compressed 31372874 31862979 0.98
tpcds_q45/datafusion:vortex-file-compressed 27584652 28147339 0.98
tpcds_q46/datafusion:vortex-file-compressed 33977594 35335623 0.96
tpcds_q47/datafusion:vortex-file-compressed 130925768 132522975 0.99
tpcds_q48/datafusion:vortex-file-compressed 38105836 36254048 1.05
tpcds_q49/datafusion:vortex-file-compressed 59179584 57896736 1.02
tpcds_q50/datafusion:vortex-file-compressed 40048174 39378615 1.02
tpcds_q51/datafusion:vortex-file-compressed 93071226 88503337 1.05
tpcds_q52/datafusion:vortex-file-compressed 14737421 14371080 1.03
tpcds_q53/datafusion:vortex-file-compressed 21674638 21688452 1.00
tpcds_q54/datafusion:vortex-file-compressed 35955931 34856628 1.03
tpcds_q55/datafusion:vortex-file-compressed 14259885 14684276 0.97
tpcds_q56/datafusion:vortex-file-compressed 30176188 30094405 1.00
tpcds_q57/datafusion:vortex-file-compressed 114758412 108831734 1.05
tpcds_q58/datafusion:vortex-file-compressed 54137835 52488481 1.03
tpcds_q59/datafusion:vortex-file-compressed 56402263 56441098 1.00
tpcds_q60/datafusion:vortex-file-compressed 29768922 30697213 0.97
tpcds_q61/datafusion:vortex-file-compressed 40777439 42563147 0.96
tpcds_q62/datafusion:vortex-file-compressed 🚨 27260931 22385073 1.22
tpcds_q63/datafusion:vortex-file-compressed 21317259 21329191 1.00
tpcds_q64/datafusion:vortex-file-compressed 421059207 417218810 1.01
tpcds_q65/datafusion:vortex-file-compressed 39760328 40625890 0.98
tpcds_q66/datafusion:vortex-file-compressed 74787610 72626178 1.03
tpcds_q67/datafusion:vortex-file-compressed 144577070 149734436 0.97
tpcds_q68/datafusion:vortex-file-compressed 35608225 33264684 1.07
tpcds_q69/datafusion:vortex-file-compressed 36207446 36366412 1.00
tpcds_q70/datafusion:vortex-file-compressed 85903024 83849535 1.02
tpcds_q71/datafusion:vortex-file-compressed 23377753 23496452 0.99
tpcds_q72/datafusion:vortex-file-compressed 2189552631 2187294917 1.00
tpcds_q73/datafusion:vortex-file-compressed 23336246 23954440 0.97
tpcds_q74/datafusion:vortex-file-compressed 84873445 81693369 1.04
tpcds_q75/datafusion:vortex-file-compressed 107808290 114152278 0.94
tpcds_q76/datafusion:vortex-file-compressed 33114153 33781169 0.98
tpcds_q77/datafusion:vortex-file-compressed 40648319 39049294 1.04
tpcds_q78/datafusion:vortex-file-compressed 124026204 126500144 0.98
tpcds_q79/datafusion:vortex-file-compressed 27931796 28450194 0.98
tpcds_q80/datafusion:vortex-file-compressed 92218168 99248740 0.93
tpcds_q81/datafusion:vortex-file-compressed 23853180 23488721 1.02
tpcds_q82/datafusion:vortex-file-compressed 24056773 26223101 0.92
tpcds_q83/datafusion:vortex-file-compressed 36579779 34685752 1.05
tpcds_q84/datafusion:vortex-file-compressed 12882737 12669940 1.02
tpcds_q85/datafusion:vortex-file-compressed 93489068 91938088 1.02
tpcds_q86/datafusion:vortex-file-compressed 16858817 16408649 1.03
tpcds_q87/datafusion:vortex-file-compressed 43632544 42944059 1.02
tpcds_q88/datafusion:vortex-file-compressed 56844267 57417462 0.99
tpcds_q89/datafusion:vortex-file-compressed 25417288 24815666 1.02
tpcds_q90/datafusion:vortex-file-compressed 14448418 14967992 0.97
tpcds_q91/datafusion:vortex-file-compressed 18201007 18604125 0.98
tpcds_q92/datafusion:vortex-file-compressed 18210746 18434278 0.99
tpcds_q93/datafusion:vortex-file-compressed 33245005 33371238 1.00
tpcds_q94/datafusion:vortex-file-compressed 23803674 23454850 1.01
tpcds_q95/datafusion:vortex-file-compressed 64542821 62544839 1.03
tpcds_q96/datafusion:vortex-file-compressed 13818160 13720234 1.01
tpcds_q97/datafusion:vortex-file-compressed 32792281 30938394 1.06
tpcds_q98/datafusion:vortex-file-compressed 24562315 24303116 1.01
tpcds_q99/datafusion:vortex-file-compressed 🚀 28111034 32017599 0.88
datafusion / vortex-compact (1.005x ➖, 1↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpcds_q01/datafusion:vortex-compact 25350245 24654319 1.03
tpcds_q02/datafusion:vortex-compact 54929269 54194010 1.01
tpcds_q03/datafusion:vortex-compact 19766662 19639428 1.01
tpcds_q04/datafusion:vortex-compact 299474380 300180870 1.00
tpcds_q05/datafusion:vortex-compact 52145600 47636102 1.09
tpcds_q06/datafusion:vortex-compact 62686946 63612354 0.99
tpcds_q07/datafusion:vortex-compact 52266989 53221135 0.98
tpcds_q08/datafusion:vortex-compact 35478055 35829944 0.99
tpcds_q09/datafusion:vortex-compact 53286069 52798767 1.01
tpcds_q10/datafusion:vortex-compact 49085440 48845243 1.00
tpcds_q11/datafusion:vortex-compact 151289706 153679340 0.98
tpcds_q12/datafusion:vortex-compact 23271867 25452703 0.91
tpcds_q13/datafusion:vortex-compact 132376676 124380483 1.06
tpcds_q14/datafusion:vortex-compact 197279875 202799393 0.97
tpcds_q15/datafusion:vortex-compact 31026602 30868596 1.01
tpcds_q16/datafusion:vortex-compact 32309915 32263954 1.00
tpcds_q17/datafusion:vortex-compact 74433991 75333154 0.99
tpcds_q18/datafusion:vortex-compact 79076232 79422850 1.00
tpcds_q19/datafusion:vortex-compact 29693515 29626928 1.00
tpcds_q20/datafusion:vortex-compact 25598490 25217863 1.02
tpcds_q21/datafusion:vortex-compact 39775875 41413852 0.96
tpcds_q22/datafusion:vortex-compact 153278321 146229398 1.05
tpcds_q23/datafusion:vortex-compact 171052396 164441377 1.04
tpcds_q24/datafusion:vortex-compact 97416003 95934916 1.02
tpcds_q25/datafusion:vortex-compact 77929402 78671237 0.99
tpcds_q26/datafusion:vortex-compact 44837935 44683176 1.00
tpcds_q27/datafusion:vortex-compact 130159585 124337322 1.05
tpcds_q28/datafusion:vortex-compact 98915511 98503669 1.00
tpcds_q29/datafusion:vortex-compact 74416619 75122282 0.99
tpcds_q30/datafusion:vortex-compact 29977612 29168847 1.03
tpcds_q31/datafusion:vortex-compact 98606185 97594588 1.01
tpcds_q32/datafusion:vortex-compact 24590116 25870997 0.95
tpcds_q33/datafusion:vortex-compact 37556392 36316863 1.03
tpcds_q34/datafusion:vortex-compact 35223037 33534011 1.05
tpcds_q35/datafusion:vortex-compact 51524898 52440863 0.98
tpcds_q36/datafusion:vortex-compact 76448258 78100649 0.98
tpcds_q37/datafusion:vortex-compact 35103566 33508607 1.05
tpcds_q38/datafusion:vortex-compact 52070058 54612657 0.95
tpcds_q39/datafusion:vortex-compact 114393679 114797468 1.00
tpcds_q40/datafusion:vortex-compact 39038704 35827436 1.09
tpcds_q41/datafusion:vortex-compact 18142416 18306235 0.99
tpcds_q42/datafusion:vortex-compact 18682631 18838444 0.99
tpcds_q43/datafusion:vortex-compact 26471136 25853968 1.02
tpcds_q44/datafusion:vortex-compact 47180738 49090432 0.96
tpcds_q45/datafusion:vortex-compact 31812689 33621056 0.95
tpcds_q46/datafusion:vortex-compact 🚨 49587564 44347107 1.12
tpcds_q47/datafusion:vortex-compact 152489927 153740078 0.99
tpcds_q48/datafusion:vortex-compact 89526234 87075975 1.03
tpcds_q49/datafusion:vortex-compact 69689818 70841289 0.98
tpcds_q50/datafusion:vortex-compact 47433790 48670941 0.97
tpcds_q51/datafusion:vortex-compact 97557859 98640444 0.99
tpcds_q52/datafusion:vortex-compact 18254689 18073707 1.01
tpcds_q53/datafusion:vortex-compact 30340172 29764546 1.02
tpcds_q54/datafusion:vortex-compact 42846581 46191490 0.93
tpcds_q55/datafusion:vortex-compact 18220923 18073588 1.01
tpcds_q56/datafusion:vortex-compact 37900960 36128165 1.05
tpcds_q57/datafusion:vortex-compact 115235544 117475704 0.98
tpcds_q58/datafusion:vortex-compact 63973500 60674295 1.05
tpcds_q59/datafusion:vortex-compact 68735852 69958944 0.98
tpcds_q60/datafusion:vortex-compact 35901599 35785886 1.00
tpcds_q61/datafusion:vortex-compact 55122684 56298929 0.98
tpcds_q62/datafusion:vortex-compact 31576319 29099494 1.09
tpcds_q63/datafusion:vortex-compact 29063707 28850417 1.01
tpcds_q64/datafusion:vortex-compact 462289799 458450649 1.01
tpcds_q65/datafusion:vortex-compact 52966116 53335506 0.99
tpcds_q66/datafusion:vortex-compact 80813053 74754201 1.08
tpcds_q67/datafusion:vortex-compact 150539481 162649393 0.93
tpcds_q68/datafusion:vortex-compact 46242829 45510410 1.02
tpcds_q69/datafusion:vortex-compact 46244112 44874937 1.03
tpcds_q70/datafusion:vortex-compact 93924472 96230524 0.98
tpcds_q71/datafusion:vortex-compact 30347975 29800940 1.02
tpcds_q72/datafusion:vortex-compact 2172166315 2153935613 1.01
tpcds_q73/datafusion:vortex-compact 31002078 31698965 0.98
tpcds_q74/datafusion:vortex-compact 95801031 94004413 1.02
tpcds_q75/datafusion:vortex-compact 127420900 130965040 0.97
tpcds_q76/datafusion:vortex-compact 33349356 32424439 1.03
tpcds_q77/datafusion:vortex-compact 50562645 53530103 0.94
tpcds_q78/datafusion:vortex-compact 139343272 137931931 1.01
tpcds_q79/datafusion:vortex-compact 38138700 37728509 1.01
tpcds_q80/datafusion:vortex-compact 109482057 110860568 0.99
tpcds_q81/datafusion:vortex-compact 28462393 28014361 1.02
tpcds_q82/datafusion:vortex-compact 35148251 34916971 1.01
tpcds_q83/datafusion:vortex-compact 34244471 34046493 1.01
tpcds_q84/datafusion:vortex-compact 14462862 13818343 1.05
tpcds_q85/datafusion:vortex-compact 163047114 150361612 1.08
tpcds_q86/datafusion:vortex-compact 18048895 18150097 0.99
tpcds_q87/datafusion:vortex-compact 50816402 52241927 0.97
tpcds_q88/datafusion:vortex-compact 79770853 77206897 1.03
tpcds_q89/datafusion:vortex-compact 32149474 31073849 1.03
tpcds_q90/datafusion:vortex-compact 15482543 15053438 1.03
tpcds_q91/datafusion:vortex-compact 33163966 31425674 1.06
tpcds_q92/datafusion:vortex-compact 24147352 24303785 0.99
tpcds_q93/datafusion:vortex-compact 39453183 39804049 0.99
tpcds_q94/datafusion:vortex-compact 26646450 26361684 1.01
tpcds_q95/datafusion:vortex-compact 66026501 66326011 1.00
tpcds_q96/datafusion:vortex-compact 17483354 17373719 1.01
tpcds_q97/datafusion:vortex-compact 36531537 36128680 1.01
tpcds_q98/datafusion:vortex-compact 31404950 30452579 1.03
tpcds_q99/datafusion:vortex-compact 🚀 31031595 35705252 0.87
datafusion / parquet (1.004x ➖, 1↑ 2↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpcds_q01/datafusion:parquet 29433146 32005688 0.92
tpcds_q02/datafusion:parquet 41784771 41729294 1.00
tpcds_q03/datafusion:parquet 12734151 12585433 1.01
tpcds_q04/datafusion:parquet 262026123 267442057 0.98
tpcds_q05/datafusion:parquet 41855048 39716960 1.05
tpcds_q06/datafusion:parquet 59397414 59373662 1.00
tpcds_q07/datafusion:parquet 76523974 74432453 1.03
tpcds_q08/datafusion:parquet 🚨 28153572 25543594 1.10
tpcds_q09/datafusion:parquet 47159930 44111490 1.07
tpcds_q10/datafusion:parquet 71772591 69111882 1.04
tpcds_q11/datafusion:parquet 154030235 146054110 1.05
tpcds_q12/datafusion:parquet 18364668 17565037 1.05
tpcds_q13/datafusion:parquet 75152218 74034119 1.02
tpcds_q14/datafusion:parquet 162473985 163416798 0.99
tpcds_q15/datafusion:parquet 21170183 21332081 0.99
tpcds_q16/datafusion:parquet 24695123 22522049 1.10
tpcds_q17/datafusion:parquet 62468509 64797788 0.96
tpcds_q18/datafusion:parquet 114563190 114911873 1.00
tpcds_q19/datafusion:parquet 22488837 22091312 1.02
tpcds_q20/datafusion:parquet 16869508 16841844 1.00
tpcds_q21/datafusion:parquet 19562591 17809085 1.10
tpcds_q22/datafusion:parquet 158941521 173807289 0.91
tpcds_q23/datafusion:parquet 141559877 144153664 0.98
tpcds_q24/datafusion:parquet 87900397 93672929 0.94
tpcds_q25/datafusion:parquet 63784829 64794036 0.98
tpcds_q26/datafusion:parquet 64275662 62942147 1.02
tpcds_q27/datafusion:parquet 147224571 144563039 1.02
tpcds_q28/datafusion:parquet 44481924 44366761 1.00
tpcds_q29/datafusion:parquet 64856737 67222871 0.96
tpcds_q30/datafusion:parquet 34046560 33590270 1.01
tpcds_q31/datafusion:parquet 62802577 63517414 0.99
tpcds_q32/datafusion:parquet 18211082 18836531 0.97
tpcds_q33/datafusion:parquet 26965672 26804619 1.01
tpcds_q34/datafusion:parquet 23209027 23094700 1.00
tpcds_q35/datafusion:parquet 68263742 67232902 1.02
tpcds_q36/datafusion:parquet 56553176 56225946 1.01
tpcds_q37/datafusion:parquet 18631619 18444758 1.01
tpcds_q38/datafusion:parquet 39549847 43312477 0.91
tpcds_q39/datafusion:parquet 75037750 73961001 1.01
tpcds_q40/datafusion:parquet 24583268 24277210 1.01
tpcds_q41/datafusion:parquet 13372892 13545370 0.99
tpcds_q42/datafusion:parquet 11663410 11514835 1.01
tpcds_q43/datafusion:parquet 16994454 16870459 1.01
tpcds_q44/datafusion:parquet 34731589 35409374 0.98
tpcds_q45/datafusion:parquet 27920504 28672570 0.97
tpcds_q46/datafusion:parquet 32211379 32357246 1.00
tpcds_q47/datafusion:parquet 128763477 127761396 1.01
tpcds_q48/datafusion:parquet 68007020 70344210 0.97
tpcds_q49/datafusion:parquet 55685826 55590728 1.00
tpcds_q50/datafusion:parquet 44059464 43401568 1.02
tpcds_q51/datafusion:parquet 86405525 89015695 0.97
tpcds_q52/datafusion:parquet 12327129 11633825 1.06
tpcds_q53/datafusion:parquet 17482761 17425446 1.00
tpcds_q54/datafusion:parquet 35465321 33920588 1.05
tpcds_q55/datafusion:parquet 11264041 11080951 1.02
tpcds_q56/datafusion:parquet 28587136 27635337 1.03
tpcds_q57/datafusion:parquet 98871498 101740900 0.97
tpcds_q58/datafusion:parquet 50514491 50619179 1.00
tpcds_q59/datafusion:parquet 58148977 57114167 1.02
tpcds_q60/datafusion:parquet 28456299 27046428 1.05
tpcds_q61/datafusion:parquet 42423604 43185532 0.98
tpcds_q62/datafusion:parquet 🚀 20516482 24992927 0.82
tpcds_q63/datafusion:parquet 17762973 17531474 1.01
tpcds_q64/datafusion:parquet 513309108 510471268 1.01
tpcds_q65/datafusion:parquet 37645540 38022090 0.99
tpcds_q66/datafusion:parquet 70988425 70438343 1.01
tpcds_q67/datafusion:parquet 152086467 147918198 1.03
tpcds_q68/datafusion:parquet 31864917 31636526 1.01
tpcds_q69/datafusion:parquet 66721243 66095506 1.01
tpcds_q70/datafusion:parquet 86718748 89980076 0.96
tpcds_q71/datafusion:parquet 21983762 23242221 0.95
tpcds_q72/datafusion:parquet 610450067 614314350 0.99
tpcds_q73/datafusion:parquet 21145234 20255199 1.04
tpcds_q74/datafusion:parquet 87765413 83379675 1.05
tpcds_q75/datafusion:parquet 98646737 99769908 0.99
tpcds_q76/datafusion:parquet 29722379 29747893 1.00
tpcds_q77/datafusion:parquet 39381262 39473046 1.00
tpcds_q78/datafusion:parquet 113064396 116959735 0.97
tpcds_q79/datafusion:parquet 26508923 26226974 1.01
tpcds_q80/datafusion:parquet 85855840 79885698 1.07
tpcds_q81/datafusion:parquet 31418482 31098022 1.01
tpcds_q82/datafusion:parquet 19084250 18890606 1.01
tpcds_q83/datafusion:parquet 35878555 35922827 1.00
tpcds_q84/datafusion:parquet 38444454 38092333 1.01
tpcds_q85/datafusion:parquet 150809700 151602922 0.99
tpcds_q86/datafusion:parquet 🚨 16109333 13754464 1.17
tpcds_q87/datafusion:parquet 41859185 42776660 0.98
tpcds_q88/datafusion:parquet 61209703 60343209 1.01
tpcds_q89/datafusion:parquet 21079302 21008692 1.00
tpcds_q90/datafusion:parquet 13892906 13955348 1.00
tpcds_q91/datafusion:parquet 58046652 56964817 1.02
tpcds_q92/datafusion:parquet 17751496 17389408 1.02
tpcds_q93/datafusion:parquet 33075066 32247733 1.03
tpcds_q94/datafusion:parquet 19897841 20934739 0.95
tpcds_q95/datafusion:parquet 58954587 59788916 0.99
tpcds_q96/datafusion:parquet 11966971 12210702 0.98
tpcds_q97/datafusion:parquet 30089253 29863374 1.01
tpcds_q98/datafusion:parquet 21267824 20729571 1.03
tpcds_q99/datafusion:parquet 26037800 25412524 1.02
duckdb / vortex-file-compressed (1.001x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-file-compressed 23919046 24714359 0.97
tpcds_q02/duckdb:vortex-file-compressed 33284293 33576360 0.99
tpcds_q03/duckdb:vortex-file-compressed 21538037 21931580 0.98
tpcds_q04/duckdb:vortex-file-compressed 97627540 93812351 1.04
tpcds_q05/duckdb:vortex-file-compressed 32803008 33422901 0.98
tpcds_q06/duckdb:vortex-file-compressed 32973473 33348024 0.99
tpcds_q07/duckdb:vortex-file-compressed 21285502 21707873 0.98
tpcds_q08/duckdb:vortex-file-compressed 27441127 26051197 1.05
tpcds_q09/duckdb:vortex-file-compressed 15314718 15338626 1.00
tpcds_q10/duckdb:vortex-file-compressed 37659838 36722071 1.03
tpcds_q11/duckdb:vortex-file-compressed 64076342 67993745 0.94
tpcds_q12/duckdb:vortex-file-compressed 15339058 15473352 0.99
tpcds_q13/duckdb:vortex-file-compressed 32938573 32428463 1.02
tpcds_q14/duckdb:vortex-file-compressed 97284884 94628072 1.03
tpcds_q15/duckdb:vortex-file-compressed 26816730 26535737 1.01
tpcds_q16/duckdb:vortex-file-compressed 27645035 25812349 1.07
tpcds_q17/duckdb:vortex-file-compressed 44777926 44074066 1.02
tpcds_q18/duckdb:vortex-file-compressed 36563240 36671189 1.00
tpcds_q19/duckdb:vortex-file-compressed 32278069 31705783 1.02
tpcds_q20/duckdb:vortex-file-compressed 16758418 17039320 0.98
tpcds_q21/duckdb:vortex-file-compressed 17360780 16486189 1.05
tpcds_q22/duckdb:vortex-file-compressed 79804054 75460906 1.06
tpcds_q23/duckdb:vortex-file-compressed 97094313 97391201 1.00
tpcds_q24/duckdb:vortex-file-compressed 46689302 46934725 0.99
tpcds_q25/duckdb:vortex-file-compressed 41301269 40601988 1.02
tpcds_q26/duckdb:vortex-file-compressed 19621890 20706487 0.95
tpcds_q27/duckdb:vortex-file-compressed 22813091 25034190 0.91
tpcds_q28/duckdb:vortex-file-compressed 12205087 12364242 0.99
tpcds_q29/duckdb:vortex-file-compressed 39125733 39740350 0.98
tpcds_q30/duckdb:vortex-file-compressed 24599684 24796637 0.99
tpcds_q31/duckdb:vortex-file-compressed 29812549 30421699 0.98
tpcds_q32/duckdb:vortex-file-compressed 13399805 13121378 1.02
tpcds_q33/duckdb:vortex-file-compressed 23569474 24201908 0.97
tpcds_q34/duckdb:vortex-file-compressed 25114720 24440353 1.03
tpcds_q35/duckdb:vortex-file-compressed 63054964 63111709 1.00
tpcds_q36/duckdb:vortex-file-compressed 24648160 24422638 1.01
tpcds_q37/duckdb:vortex-file-compressed 19537452 19321057 1.01
tpcds_q38/duckdb:vortex-file-compressed 36138159 36401917 0.99
tpcds_q39/duckdb:vortex-file-compressed 35101486 35140847 1.00
tpcds_q40/duckdb:vortex-file-compressed 20515785 19539870 1.05
tpcds_q41/duckdb:vortex-file-compressed 10110761 10254315 0.99
tpcds_q42/duckdb:vortex-file-compressed 13452975 13587543 0.99
tpcds_q43/duckdb:vortex-file-compressed 21137193 21284784 0.99
tpcds_q44/duckdb:vortex-file-compressed 21199217 20761541 1.02
tpcds_q45/duckdb:vortex-file-compressed 29832769 29466655 1.01
tpcds_q46/duckdb:vortex-file-compressed 29570620 32262070 0.92
tpcds_q47/duckdb:vortex-file-compressed 51838839 52553656 0.99
tpcds_q48/duckdb:vortex-file-compressed 28723572 28374947 1.01
tpcds_q49/duckdb:vortex-file-compressed 33098655 33794618 0.98
tpcds_q50/duckdb:vortex-file-compressed 25661519 27547779 0.93
tpcds_q51/duckdb:vortex-file-compressed 104328928 104912744 0.99
tpcds_q52/duckdb:vortex-file-compressed 13350525 12439096 1.07
tpcds_q53/duckdb:vortex-file-compressed 23314631 22050408 1.06
tpcds_q54/duckdb:vortex-file-compressed 28779107 28423097 1.01
tpcds_q55/duckdb:vortex-file-compressed 12574147 12439066 1.01
tpcds_q56/duckdb:vortex-file-compressed 24679559 24871443 0.99
tpcds_q57/duckdb:vortex-file-compressed 42566746 41968880 1.01
tpcds_q58/duckdb:vortex-file-compressed 29890138 30349630 0.98
tpcds_q59/duckdb:vortex-file-compressed 56967836 56177545 1.01
tpcds_q60/duckdb:vortex-file-compressed 25534931 24852937 1.03
tpcds_q61/duckdb:vortex-file-compressed 31027910 30681437 1.01
tpcds_q62/duckdb:vortex-file-compressed 14942816 14993120 1.00
tpcds_q63/duckdb:vortex-file-compressed 20843318 20383507 1.02
tpcds_q64/duckdb:vortex-file-compressed 91050133 91379199 1.00
tpcds_q65/duckdb:vortex-file-compressed 22660698 24676230 0.92
tpcds_q66/duckdb:vortex-file-compressed 29570324 29053052 1.02
tpcds_q67/duckdb:vortex-file-compressed 140446402 137843092 1.02
tpcds_q68/duckdb:vortex-file-compressed 32469159 30544773 1.06
tpcds_q69/duckdb:vortex-file-compressed 39821185 39203374 1.02
tpcds_q70/duckdb:vortex-file-compressed 38024241 35781140 1.06
tpcds_q71/duckdb:vortex-file-compressed 20871813 20666209 1.01
tpcds_q72/duckdb:vortex-file-compressed 168247449 166753190 1.01
tpcds_q73/duckdb:vortex-file-compressed 25192657 24775821 1.02
tpcds_q74/duckdb:vortex-file-compressed 41251115 42049233 0.98
tpcds_q75/duckdb:vortex-file-compressed 47609316 47045720 1.01
tpcds_q76/duckdb:vortex-file-compressed 21856727 21563881 1.01
tpcds_q77/duckdb:vortex-file-compressed 23335387 24687003 0.95
tpcds_q78/duckdb:vortex-file-compressed 76226828 76868447 0.99
tpcds_q79/duckdb:vortex-file-compressed 24154348 23448464 1.03
tpcds_q80/duckdb:vortex-file-compressed 46183752 51239915 0.90
tpcds_q81/duckdb:vortex-file-compressed 29354020 29364476 1.00
tpcds_q82/duckdb:vortex-file-compressed 46004312 45459397 1.01
tpcds_q83/duckdb:vortex-file-compressed 25605085 26249779 0.98
tpcds_q84/duckdb:vortex-file-compressed 16579783 16410362 1.01
tpcds_q85/duckdb:vortex-file-compressed 40030506 39733103 1.01
tpcds_q86/duckdb:vortex-file-compressed 16420673 15937302 1.03
tpcds_q87/duckdb:vortex-file-compressed 39672504 40606247 0.98
tpcds_q88/duckdb:vortex-file-compressed 52466041 53100171 0.99
tpcds_q89/duckdb:vortex-file-compressed 21638277 22177525 0.98
tpcds_q90/duckdb:vortex-file-compressed 10010233 9911276 1.01
tpcds_q91/duckdb:vortex-file-compressed 21381243 21763379 0.98
tpcds_q92/duckdb:vortex-file-compressed 20011404 18945859 1.06
tpcds_q93/duckdb:vortex-file-compressed 30178358 29821486 1.01
tpcds_q94/duckdb:vortex-file-compressed 21137523 21306251 0.99
tpcds_q95/duckdb:vortex-file-compressed 158670401 157805856 1.01
tpcds_q96/duckdb:vortex-file-compressed 12064118 12443388 0.97
tpcds_q97/duckdb:vortex-file-compressed 39116622 38511549 1.02
tpcds_q98/duckdb:vortex-file-compressed 19050482 19081007 1.00
tpcds_q99/duckdb:vortex-file-compressed 23098697 22200379 1.04
duckdb / vortex-compact (1.000x ➖, 1↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpcds_q01/duckdb:vortex-compact 26048238 27923187 0.93
tpcds_q02/duckdb:vortex-compact 42935443 42851659 1.00
tpcds_q03/duckdb:vortex-compact 48442109 48355335 1.00
tpcds_q04/duckdb:vortex-compact 103982271 107787899 0.96
tpcds_q05/duckdb:vortex-compact 42162397 39821038 1.06
tpcds_q06/duckdb:vortex-compact 39540174 38060790 1.04
tpcds_q07/duckdb:vortex-compact 35067512 34098406 1.03
tpcds_q08/duckdb:vortex-compact 40063369 41909068 0.96
tpcds_q09/duckdb:vortex-compact 18747499 19319421 0.97
tpcds_q10/duckdb:vortex-compact 53290502 51217806 1.04
tpcds_q11/duckdb:vortex-compact 72956013 75160417 0.97
tpcds_q12/duckdb:vortex-compact 22726660 21733435 1.05
tpcds_q13/duckdb:vortex-compact 54071831 53654296 1.01
tpcds_q14/duckdb:vortex-compact 114966241 113877849 1.01
tpcds_q15/duckdb:vortex-compact 30077671 29356507 1.02
tpcds_q16/duckdb:vortex-compact 29098392 26699830 1.09
tpcds_q17/duckdb:vortex-compact 56238697 55931782 1.01
tpcds_q18/duckdb:vortex-compact 49913850 46520014 1.07
tpcds_q19/duckdb:vortex-compact 43894185 44071180 1.00
tpcds_q20/duckdb:vortex-compact 20887625 20731333 1.01
tpcds_q21/duckdb:vortex-compact 18456985 17611808 1.05
tpcds_q22/duckdb:vortex-compact 81955453 77059117 1.06
tpcds_q23/duckdb:vortex-compact 108074720 107812650 1.00
tpcds_q24/duckdb:vortex-compact 58094926 58148861 1.00
tpcds_q25/duckdb:vortex-compact 54946903 55044858 1.00
tpcds_q26/duckdb:vortex-compact 31390818 29303887 1.07
tpcds_q27/duckdb:vortex-compact 36770361 36356560 1.01
tpcds_q28/duckdb:vortex-compact 34102534 35412418 0.96
tpcds_q29/duckdb:vortex-compact 53108973 52943362 1.00
tpcds_q30/duckdb:vortex-compact 29148320 30430547 0.96
tpcds_q31/duckdb:vortex-compact 36604125 34330368 1.07
tpcds_q32/duckdb:vortex-compact 20741664 21181260 0.98
tpcds_q33/duckdb:vortex-compact 32754787 33850824 0.97
tpcds_q34/duckdb:vortex-compact 30386319 29656511 1.02
tpcds_q35/duckdb:vortex-compact 74372635 75181726 0.99
tpcds_q36/duckdb:vortex-compact 35280959 35562218 0.99
tpcds_q37/duckdb:vortex-compact 23537998 23683093 0.99
tpcds_q38/duckdb:vortex-compact 38990183 41018736 0.95
tpcds_q39/duckdb:vortex-compact 37490030 39461198 0.95
tpcds_q40/duckdb:vortex-compact 23646499 24361205 0.97
tpcds_q41/duckdb:vortex-compact 11760046 11504952 1.02
tpcds_q42/duckdb:vortex-compact 19000070 19568314 0.97
tpcds_q43/duckdb:vortex-compact 30365229 30170272 1.01
tpcds_q44/duckdb:vortex-compact 31051204 30877696 1.01
tpcds_q45/duckdb:vortex-compact 34666342 35135975 0.99
tpcds_q46/duckdb:vortex-compact 41925296 46015518 0.91
tpcds_q47/duckdb:vortex-compact 63677448 61048075 1.04
tpcds_q48/duckdb:vortex-compact 45424931 46138221 0.98
tpcds_q49/duckdb:vortex-compact 47723009 50059073 0.95
tpcds_q50/duckdb:vortex-compact 38944611 37541463 1.04
tpcds_q51/duckdb:vortex-compact 109866906 111010460 0.99
tpcds_q52/duckdb:vortex-compact 19447523 18491505 1.05
tpcds_q53/duckdb:vortex-compact 33923252 33362561 1.02
tpcds_q54/duckdb:vortex-compact 38397656 36760800 1.04
tpcds_q55/duckdb:vortex-compact 18641481 18533745 1.01
tpcds_q56/duckdb:vortex-compact 33150880 32862364 1.01
tpcds_q57/duckdb:vortex-compact 44508965 45542741 0.98
tpcds_q58/duckdb:vortex-compact 37257880 36607111 1.02
tpcds_q59/duckdb:vortex-compact 67466958 66604835 1.01
tpcds_q60/duckdb:vortex-compact 36865201 35866936 1.03
tpcds_q61/duckdb:vortex-compact 53163563 52926300 1.00
tpcds_q62/duckdb:vortex-compact 20660640 20719457 1.00
tpcds_q63/duckdb:vortex-compact 33041368 30247107 1.09
tpcds_q64/duckdb:vortex-compact 120830930 122739409 0.98
tpcds_q65/duckdb:vortex-compact 31024757 30213416 1.03
tpcds_q66/duckdb:vortex-compact 36167568 39270583 0.92
tpcds_q67/duckdb:vortex-compact 157495468 153891386 1.02
tpcds_q68/duckdb:vortex-compact 46167110 45222884 1.02
tpcds_q69/duckdb:vortex-compact 54159561 53738899 1.01
tpcds_q70/duckdb:vortex-compact 59531976 55426353 1.07
tpcds_q71/duckdb:vortex-compact 29043810 29241055 0.99
tpcds_q72/duckdb:vortex-compact 187825918 185569930 1.01
tpcds_q73/duckdb:vortex-compact 27907651 29293726 0.95
tpcds_q74/duckdb:vortex-compact 50207358 47085612 1.07
tpcds_q75/duckdb:vortex-compact 59959627 62156700 0.96
tpcds_q76/duckdb:vortex-compact 32123242 30149034 1.07
tpcds_q77/duckdb:vortex-compact 38315740 35785922 1.07
tpcds_q78/duckdb:vortex-compact 86078767 88111402 0.98
tpcds_q79/duckdb:vortex-compact 39024563 38528007 1.01
tpcds_q80/duckdb:vortex-compact 69574321 71945052 0.97
tpcds_q81/duckdb:vortex-compact 32881021 33695383 0.98
tpcds_q82/duckdb:vortex-compact 49343857 49024044 1.01
tpcds_q83/duckdb:vortex-compact 35261515 35892650 0.98
tpcds_q84/duckdb:vortex-compact 22015132 21214697 1.04
tpcds_q85/duckdb:vortex-compact 51693669 54654257 0.95
tpcds_q86/duckdb:vortex-compact 20289298 20453833 0.99
tpcds_q87/duckdb:vortex-compact 44874448 45267133 0.99
tpcds_q88/duckdb:vortex-compact 76249993 78688482 0.97
tpcds_q89/duckdb:vortex-compact 31716780 32388217 0.98
tpcds_q90/duckdb:vortex-compact 10981410 11616184 0.95
tpcds_q91/duckdb:vortex-compact 41219689 41815136 0.99
tpcds_q92/duckdb:vortex-compact 🚀 40589425 48246686 0.84
tpcds_q93/duckdb:vortex-compact 31991006 32538335 0.98
tpcds_q94/duckdb:vortex-compact 27647919 28260802 0.98
tpcds_q95/duckdb:vortex-compact 163540583 167881293 0.97
tpcds_q96/duckdb:vortex-compact 15794425 16100582 0.98
tpcds_q97/duckdb:vortex-compact 40446594 41630511 0.97
tpcds_q98/duckdb:vortex-compact 27090156 27472946 0.99
tpcds_q99/duckdb:vortex-compact 26864996 25758718 1.04
duckdb / parquet (1.000x ➖, 1↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpcds_q01/duckdb:parquet 29341271 31222252 0.94
tpcds_q02/duckdb:parquet 25006364 24258923 1.03
tpcds_q03/duckdb:parquet 12539305 13151440 0.95
tpcds_q04/duckdb:parquet 167984479 168571191 1.00
tpcds_q05/duckdb:parquet 31511268 32592025 0.97
tpcds_q06/duckdb:parquet 33685287 34150079 0.99
tpcds_q07/duckdb:parquet 24379304 24144921 1.01
tpcds_q08/duckdb:parquet 30185746 29643389 1.02
tpcds_q09/duckdb:parquet 44559616 44778431 1.00
tpcds_q10/duckdb:parquet 38370456 37946587 1.01
tpcds_q11/duckdb:parquet 91914847 88256098 1.04
tpcds_q12/duckdb:parquet 16968580 17246178 0.98
tpcds_q13/duckdb:parquet 35047354 34974813 1.00
tpcds_q14/duckdb:parquet 100373205 103029077 0.97
tpcds_q15/duckdb:parquet 30864327 31011250 1.00
tpcds_q16/duckdb:parquet 22601559 22283516 1.01
tpcds_q17/duckdb:parquet 38384699 38897998 0.99
tpcds_q18/duckdb:parquet 48224745 48657313 0.99
tpcds_q19/duckdb:parquet 31503540 31984305 0.98
tpcds_q20/duckdb:parquet 18679754 18680060 1.00
tpcds_q21/duckdb:parquet 12100125 12008336 1.01
tpcds_q22/duckdb:parquet 71254420 68613522 1.04
tpcds_q23/duckdb:parquet 82130695 81876187 1.00
tpcds_q24/duckdb:parquet 46445030 46371828 1.00
tpcds_q25/duckdb:parquet 35925131 35662423 1.01
tpcds_q26/duckdb:parquet 39071147 39439280 0.99
tpcds_q27/duckdb:parquet 52445316 52676338 1.00
tpcds_q28/duckdb:parquet 43054193 43246020 1.00
tpcds_q29/duckdb:parquet 38388378 39469651 0.97
tpcds_q30/duckdb:parquet 36975320 37728800 0.98
tpcds_q31/duckdb:parquet 26449616 28576255 0.93
tpcds_q32/duckdb:parquet 12752770 12578824 1.01
tpcds_q33/duckdb:parquet 23878754 23153645 1.03
tpcds_q34/duckdb:parquet 23209602 22516434 1.03
tpcds_q35/duckdb:parquet 61173132 59935667 1.02
tpcds_q36/duckdb:parquet 22490924 22503246 1.00
tpcds_q37/duckdb:parquet 14238334 14180218 1.00
tpcds_q38/duckdb:parquet 36962497 36665654 1.01
tpcds_q39/duckdb:parquet 32526439 32741882 0.99
tpcds_q40/duckdb:parquet 19425707 19198544 1.01
tpcds_q41/duckdb:parquet 8909307 8663023 1.03
tpcds_q42/duckdb:parquet 12275540 13386776 0.92
tpcds_q43/duckdb:parquet 17970297 17678979 1.02
tpcds_q44/duckdb:parquet 26178968 25677103 1.02
tpcds_q45/duckdb:parquet 28075984 28093910 1.00
tpcds_q46/duckdb:parquet 46653827 47569539 0.98
tpcds_q47/duckdb:parquet 49545994 49375600 1.00
tpcds_q48/duckdb:parquet 32628417 31406423 1.04
tpcds_q49/duckdb:parquet 28910242 28782598 1.00
tpcds_q50/duckdb:parquet 26313219 26418910 1.00
tpcds_q51/duckdb:parquet 103460146 103840366 1.00
tpcds_q52/duckdb:parquet 12771609 13747012 0.93
tpcds_q53/duckdb:parquet 19100763 18964508 1.01
tpcds_q54/duckdb:parquet 28877229 28083260 1.03
tpcds_q55/duckdb:parquet 🚀 12522000 14027606 0.89
tpcds_q56/duckdb:parquet 24731580 24362980 1.02
tpcds_q57/duckdb:parquet 38023954 37911911 1.00
tpcds_q58/duckdb:parquet 26478379 26013398 1.02
tpcds_q59/duckdb:parquet 36179261 36589990 0.99
tpcds_q60/duckdb:parquet 25512999 24823730 1.03
tpcds_q61/duckdb:parquet 34437686 34160365 1.01
tpcds_q62/duckdb:parquet 12652775 12563314 1.01
tpcds_q63/duckdb:parquet 17622685 17769510 0.99
tpcds_q64/duckdb:parquet 77756149 76123191 1.02
tpcds_q65/duckdb:parquet 23031114 22019431 1.05
tpcds_q66/duckdb:parquet 30209486 31027477 0.97
tpcds_q67/duckdb:parquet 140246795 138800151 1.01
tpcds_q68/duckdb:parquet 39990416 39179611 1.02
tpcds_q69/duckdb:parquet 38649635 37519937 1.03
tpcds_q70/duckdb:parquet 23338074 22638991 1.03
tpcds_q71/duckdb:parquet 22112670 23290025 0.95
tpcds_q72/duckdb:parquet 167700908 165990899 1.01
tpcds_q73/duckdb:parquet 20999554 20934674 1.00
tpcds_q74/duckdb:parquet 126742759 128840832 0.98
tpcds_q75/duckdb:parquet 56538780 55465935 1.02
tpcds_q76/duckdb:parquet 22448722 22004748 1.02
tpcds_q77/duckdb:parquet 24612748 24757826 0.99
tpcds_q78/duckdb:parquet 76951092 80449182 0.96
tpcds_q79/duckdb:parquet 30009744 29999096 1.00
tpcds_q80/duckdb:parquet 44211208 43106672 1.03
tpcds_q81/duckdb:parquet 34748644 35509480 0.98
tpcds_q82/duckdb:parquet 17089609 17752267 0.96
tpcds_q83/duckdb:parquet 18547474 18454098 1.01
tpcds_q84/duckdb:parquet 20411677 20992126 0.97
tpcds_q85/duckdb:parquet 42351046 41361722 1.02
tpcds_q86/duckdb:parquet 13777278 13721366 1.00
tpcds_q87/duckdb:parquet 39494796 39048709 1.01
tpcds_q88/duckdb:parquet 53872174 53057647 1.02
tpcds_q89/duckdb:parquet 21696520 22207251 0.98
tpcds_q90/duckdb:parquet 8384965 8278946 1.01
tpcds_q91/duckdb:parquet 24958263 24461400 1.02
tpcds_q92/duckdb:parquet 13060863 12876534 1.01
tpcds_q93/duckdb:parquet 32210346 31950553 1.01
tpcds_q94/duckdb:parquet 17728071 18196084 0.97
tpcds_q95/duckdb:parquet 132927454 121125300 1.10
tpcds_q96/duckdb:parquet 10077409 10513602 0.96
tpcds_q97/duckdb:parquet 37704574 39165825 0.96
tpcds_q98/duckdb:parquet 24715364 23287533 1.06
tpcds_q99/duckdb:parquet 20512360 19986501 1.03
duckdb / duckdb (1.007x ➖, 1↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpcds_q01/duckdb:duckdb 22989786 22343419 1.03
tpcds_q02/duckdb:duckdb 19779833 18993287 1.04
tpcds_q03/duckdb:duckdb 10129761 10136857 1.00
tpcds_q04/duckdb:duckdb 179495766 186364643 0.96
tpcds_q05/duckdb:duckdb 20616567 20475137 1.01
tpcds_q06/duckdb:duckdb 28081843 28049257 1.00
tpcds_q07/duckdb:duckdb 40405271 40369992 1.00
tpcds_q08/duckdb:duckdb 119873315 119401483 1.00
tpcds_q09/duckdb:duckdb 20678932 20551551 1.01
tpcds_q10/duckdb:duckdb 28271514 27300077 1.04
tpcds_q11/duckdb:duckdb 95904231 95525399 1.00
tpcds_q12/duckdb:duckdb 14170078 13937458 1.02
tpcds_q13/duckdb:duckdb 26480943 25946355 1.02
tpcds_q14/duckdb:duckdb 92846010 97696853 0.95
tpcds_q15/duckdb:duckdb 24754961 24639429 1.00
tpcds_q16/duckdb:duckdb 19550189 19057329 1.03
tpcds_q17/duckdb:duckdb 25348802 25809178 0.98
tpcds_q18/duckdb:duckdb 47247413 46698003 1.01
tpcds_q19/duckdb:duckdb 19699644 18917821 1.04
tpcds_q20/duckdb:duckdb 14375711 14194167 1.01
tpcds_q21/duckdb:duckdb 🚨 8886003 7620572 1.17
tpcds_q22/duckdb:duckdb 62318974 61193565 1.02
tpcds_q23/duckdb:duckdb 76385961 78781825 0.97
tpcds_q24/duckdb:duckdb 25780490 25704992 1.00
tpcds_q25/duckdb:duckdb 18895437 18740027 1.01
tpcds_q26/duckdb:duckdb 28359605 28170598 1.01
tpcds_q27/duckdb:duckdb 41447465 41491370 1.00
tpcds_q28/duckdb:duckdb 26514880 25824619 1.03
tpcds_q29/duckdb:duckdb 24185571 22845749 1.06
tpcds_q30/duckdb:duckdb 30920055 30821907 1.00
tpcds_q31/duckdb:duckdb 51099094 52196182 0.98
tpcds_q32/duckdb:duckdb 8192403 7892827 1.04
tpcds_q33/duckdb:duckdb 16255693 16055394 1.01
tpcds_q34/duckdb:duckdb 18860163 17386759 1.08
tpcds_q35/duckdb:duckdb 37002540 37526725 0.99
tpcds_q36/duckdb:duckdb 69970986 71402017 0.98
tpcds_q37/duckdb:duckdb 8971414 8838168 1.02
tpcds_q38/duckdb:duckdb 33347383 32943742 1.01
tpcds_q39/duckdb:duckdb 28382796 28148496 1.01
tpcds_q40/duckdb:duckdb 14574478 14814958 0.98
tpcds_q41/duckdb:duckdb 10361506 9458417 1.10
tpcds_q42/duckdb:duckdb 8987331 8921683 1.01
tpcds_q43/duckdb:duckdb 14722097 14884233 0.99
tpcds_q44/duckdb:duckdb 15984987 15638517 1.02
tpcds_q45/duckdb:duckdb 18979242 18825860 1.01
tpcds_q46/duckdb:duckdb 38485077 38620792 1.00
tpcds_q47/duckdb:duckdb 45843528 46740675 0.98
tpcds_q48/duckdb:duckdb 24982575 25175209 0.99
tpcds_q49/duckdb:duckdb 21958273 21661316 1.01
tpcds_q50/duckdb:duckdb 15984839 16347155 0.98
tpcds_q51/duckdb:duckdb 100742471 101305168 0.99
tpcds_q52/duckdb:duckdb 🚀 9474457 10969808 0.86
tpcds_q53/duckdb:duckdb 17387531 17603953 0.99
tpcds_q54/duckdb:duckdb 18546648 18698134 0.99
tpcds_q55/duckdb:duckdb 8868524 9183421 0.97
tpcds_q56/duckdb:duckdb 16579216 16506536 1.00
tpcds_q57/duckdb:duckdb 36250783 36333598 1.00
tpcds_q58/duckdb:duckdb 17339001 16843831 1.03
tpcds_q59/duckdb:duckdb 36717054 36895079 1.00
tpcds_q60/duckdb:duckdb 18978148 18545886 1.02
tpcds_q61/duckdb:duckdb 17656680 16426084 1.07
tpcds_q62/duckdb:duckdb 9812070 9895308 0.99
tpcds_q63/duckdb:duckdb 15955245 16085590 0.99
tpcds_q64/duckdb:duckdb 58951164 58361335 1.01
tpcds_q65/duckdb:duckdb 36241771 36206332 1.00
tpcds_q66/duckdb:duckdb 26567489 25725213 1.03
tpcds_q67/duckdb:duckdb 135126968 134147539 1.01
tpcds_q68/duckdb:duckdb 27183492 26455708 1.03
tpcds_q69/duckdb:duckdb 27753087 27308507 1.02
tpcds_q70/duckdb:duckdb 16596375 17446484 0.95
tpcds_q71/duckdb:duckdb 16570756 17247391 0.96
tpcds_q72/duckdb:duckdb 45889107 45614919 1.01
tpcds_q73/duckdb:duckdb 14150997 14374744 0.98
tpcds_q74/duckdb:duckdb 145054851 143303539 1.01
tpcds_q75/duckdb:duckdb 47070827 45462999 1.04
tpcds_q76/duckdb:duckdb 14606590 14949570 0.98
tpcds_q77/duckdb:duckdb 15817776 15472417 1.02
tpcds_q78/duckdb:duckdb 66278812 65507580 1.01
tpcds_q79/duckdb:duckdb 19876190 20257493 0.98
tpcds_q80/duckdb:duckdb 30588785 31266479 0.98
tpcds_q81/duckdb:duckdb 39773655 40610931 0.98
tpcds_q82/duckdb:duckdb 10307310 9923228 1.04
tpcds_q83/duckdb:duckdb 11177563 10684893 1.05
tpcds_q84/duckdb:duckdb 14575796 14466838 1.01
tpcds_q85/duckdb:duckdb 26125047 25547094 1.02
tpcds_q86/duckdb:duckdb 11968732 12027909 1.00
tpcds_q87/duckdb:duckdb 35493508 35582761 1.00
tpcds_q88/duckdb:duckdb 30807160 29528680 1.04
tpcds_q89/duckdb:duckdb 22115538 21871140 1.01
tpcds_q90/duckdb:duckdb 6327463 6293933 1.01
tpcds_q91/duckdb:duckdb 15311618 14745547 1.04
tpcds_q92/duckdb:duckdb 10027582 9622603 1.04
tpcds_q93/duckdb:duckdb 23884736 23463535 1.02
tpcds_q94/duckdb:duckdb 14443248 14151883 1.02
tpcds_q95/duckdb:duckdb 125827305 131501724 0.96
tpcds_q96/duckdb:duckdb 6082458 5863965 1.04
tpcds_q97/duckdb:duckdb 32031312 33069177 0.97
tpcds_q98/duckdb:duckdb 19965906 20881024 0.96
tpcds_q99/duckdb:duckdb 16758373 16675820 1.00

No file size changes detected.

Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-compact +2.8% -7.0% +10.6% +18.5% ➖ noise
1 datafusion:vortex-file-compressed -4.8% -7.0% +2.4% +22.0% ➖ noise
1 duckdb:duckdb +2.9% -7.0% +10.7% +19.5% ➖ noise
1 duckdb:vortex-compact -6.7% -7.0% +0.3% +23.9% ➖ noise
1 duckdb:vortex-file-compressed -3.2% -7.0% +4.1% +24.9% ➖ noise
2 datafusion:vortex-compact +1.4% +1.6% -0.2% +13.4% ➖ noise
2 datafusion:vortex-file-compressed +1.4% +1.6% -0.2% +10.0% ➖ noise
2 duckdb:duckdb +4.1% +1.6% +2.5% +10.0% ➖ noise
2 duckdb:vortex-compact +0.2% +1.6% -1.4% +11.6% ➖ noise
2 duckdb:vortex-file-compressed -0.9% +1.6% -2.4% +26.1% ➖ noise
3 datafusion:vortex-compact +0.6% -1.8% +2.5% +11.8% ➖ noise
3 datafusion:vortex-file-compressed +0.3% -1.8% +2.2% +10.0% ➖ noise
3 duckdb:duckdb -0.1% -1.8% +1.7% +10.0% ➖ noise
3 duckdb:vortex-compact +0.2% -1.8% +2.0% +10.0% ➖ noise
3 duckdb:vortex-file-compressed -1.8% -1.8% -0.0% +10.5% ➖ noise
4 datafusion:vortex-compact -0.2% -1.2% +1.0% +11.1% ➖ noise
4 datafusion:vortex-file-compressed -0.3% -1.2% +0.9% +10.0% ➖ noise
4 duckdb:duckdb -3.7% -1.2% -2.5% +10.0% ➖ noise
4 duckdb:vortex-compact -3.5% -1.2% -2.4% +12.3% ➖ noise
4 duckdb:vortex-file-compressed +4.1% -1.2% +5.3% +13.3% ➖ noise
5 datafusion:vortex-compact +9.5% +0.9% +8.4% +23.2% ➖ noise
5 datafusion:vortex-file-compressed +1.2% +0.9% +0.3% +12.4% ➖ noise
5 duckdb:duckdb +0.7% +0.9% -0.2% +14.6% ➖ noise
5 duckdb:vortex-compact +5.9% +0.9% +4.9% +10.0% ➖ noise
5 duckdb:vortex-file-compressed -1.9% +0.9% -2.8% +13.4% ➖ noise
6 datafusion:vortex-compact -1.5% -0.7% -0.8% +10.5% ➖ noise
6 datafusion:vortex-file-compressed -1.8% -0.7% -1.2% +10.0% ➖ noise
6 duckdb:duckdb +0.1% -0.7% +0.8% +10.0% ➖ noise
6 duckdb:vortex-compact +3.9% -0.7% +4.6% +11.1% ➖ noise
6 duckdb:vortex-file-compressed -1.1% -0.7% -0.5% +14.5% ➖ noise
7 datafusion:vortex-compact -1.8% +1.9% -3.6% +18.6% ➖ noise
7 datafusion:vortex-file-compressed -0.0% +1.9% -1.9% +10.0% ➖ noise
7 duckdb:duckdb +0.1% +1.9% -1.8% +11.2% ➖ noise
7 duckdb:vortex-compact +2.8% +1.9% +0.9% +11.6% ➖ noise
7 duckdb:vortex-file-compressed -1.9% +1.9% -3.8% +10.0% ➖ noise
8 datafusion:vortex-compact -1.0% +5.9% -6.5% +10.0% ➖ noise
8 datafusion:vortex-file-compressed +2.8% +5.9% -3.0% +10.0% ➖ noise
8 duckdb:duckdb +0.4% +5.9% -5.2% +10.0% ➖ noise
8 duckdb:vortex-compact -4.4% +5.9% -9.8% +10.0% ✅ faster
8 duckdb:vortex-file-compressed +5.3% +5.9% -0.6% +19.6% ➖ noise
9 datafusion:vortex-compact +0.9% +3.1% -2.2% +11.5% ➖ noise
9 datafusion:vortex-file-compressed -1.8% +3.1% -4.8% +10.0% ➖ noise
9 duckdb:duckdb +0.6% +3.1% -2.4% +10.0% ➖ noise
9 duckdb:vortex-compact -3.0% +3.1% -5.9% +10.0% ➖ noise
9 duckdb:vortex-file-compressed -0.2% +3.1% -3.2% +12.1% ➖ noise
10 datafusion:vortex-compact +0.5% +2.5% -1.9% +10.5% ➖ noise
10 datafusion:vortex-file-compressed +3.7% +2.5% +1.2% +12.2% ➖ noise
10 duckdb:duckdb +3.6% +2.5% +1.1% +10.0% ➖ noise
10 duckdb:vortex-compact +4.0% +2.5% +1.5% +15.0% ➖ noise
10 duckdb:vortex-file-compressed +2.6% +2.5% +0.1% +10.0% ➖ noise
11 datafusion:vortex-compact -1.6% +4.8% -6.1% +10.0% ➖ noise
11 datafusion:vortex-file-compressed +0.3% +4.8% -4.3% +10.3% ➖ noise
11 duckdb:duckdb +0.4% +4.8% -4.2% +10.0% ➖ noise
11 duckdb:vortex-compact -2.9% +4.8% -7.4% +10.0% ➖ noise
11 duckdb:vortex-file-compressed -5.8% +4.8% -10.1% +10.0% ✅ faster
12 datafusion:vortex-compact -8.6% +1.4% -9.9% +12.3% ➖ noise
12 datafusion:vortex-file-compressed -4.4% +1.4% -5.7% +11.4% ➖ noise
12 duckdb:duckdb +1.7% +1.4% +0.2% +10.0% ➖ noise
12 duckdb:vortex-compact +4.6% +1.4% +3.1% +10.0% ➖ noise
12 duckdb:vortex-file-compressed -0.9% +1.4% -2.3% +10.0% ➖ noise
13 datafusion:vortex-compact +6.4% +0.9% +5.5% +12.4% ➖ noise
13 datafusion:vortex-file-compressed -0.8% +0.9% -1.6% +11.3% ➖ noise
13 duckdb:duckdb +2.1% +0.9% +1.2% +10.0% ➖ noise
13 duckdb:vortex-compact +0.8% +0.9% -0.1% +12.6% ➖ noise
13 duckdb:vortex-file-compressed +1.6% +0.9% +0.7% +25.8% ➖ noise
14 datafusion:vortex-compact -2.7% -1.6% -1.2% +11.8% ➖ noise
14 datafusion:vortex-file-compressed -1.3% -1.6% +0.3% +11.1% ➖ noise
14 duckdb:duckdb -5.0% -1.6% -3.4% +10.0% ➖ noise
14 duckdb:vortex-compact +1.0% -1.6% +2.6% +10.0% ➖ noise
14 duckdb:vortex-file-compressed +2.8% -1.6% +4.5% +10.0% ➖ noise
15 datafusion:vortex-compact +0.5% -0.6% +1.1% +16.1% ➖ noise
15 datafusion:vortex-file-compressed -1.5% -0.6% -0.9% +14.6% ➖ noise
15 duckdb:duckdb +0.5% -0.6% +1.1% +10.0% ➖ noise
15 duckdb:vortex-compact +2.5% -0.6% +3.1% +19.2% ➖ noise
15 duckdb:vortex-file-compressed +1.1% -0.6% +1.7% +15.3% ➖ noise
16 datafusion:vortex-compact +0.1% +5.5% -5.0% +10.0% ➖ noise
16 datafusion:vortex-file-compressed +2.6% +5.5% -2.8% +10.0% ➖ noise
16 duckdb:duckdb +2.6% +5.5% -2.7% +12.8% ➖ noise
16 duckdb:vortex-compact +9.0% +5.5% +3.3% +10.0% ➖ noise
16 duckdb:vortex-file-compressed +7.1% +5.5% +1.6% +22.6% ➖ noise
17 datafusion:vortex-compact -1.2% -2.5% +1.3% +11.6% ➖ noise
17 datafusion:vortex-file-compressed +0.4% -2.5% +2.9% +10.0% ➖ noise
17 duckdb:duckdb -1.8% -2.5% +0.7% +10.7% ➖ noise
17 duckdb:vortex-compact +0.5% -2.5% +3.1% +10.0% ➖ noise
17 duckdb:vortex-file-compressed +1.6% -2.5% +4.2% +10.4% ➖ noise
18 datafusion:vortex-compact -0.4% -0.6% +0.2% +15.0% ➖ noise
18 datafusion:vortex-file-compressed +0.6% -0.6% +1.2% +14.6% ➖ noise
18 duckdb:duckdb +1.2% -0.6% +1.8% +10.0% ➖ noise
18 duckdb:vortex-compact +7.3% -0.6% +7.9% +10.0% ➖ noise
18 duckdb:vortex-file-compressed -0.3% -0.6% +0.3% +10.0% ➖ noise
19 datafusion:vortex-compact +0.2% +0.1% +0.1% +11.9% ➖ noise
19 datafusion:vortex-file-compressed +5.6% +0.1% +5.5% +15.8% ➖ noise
19 duckdb:duckdb +4.1% +0.1% +4.0% +10.0% ➖ noise
19 duckdb:vortex-compact -0.4% +0.1% -0.5% +11.7% ➖ noise
19 duckdb:vortex-file-compressed +1.8% +0.1% +1.7% +10.0% ➖ noise
20 datafusion:vortex-compact +1.5% +0.1% +1.4% +10.0% ➖ noise
20 datafusion:vortex-file-compressed +0.3% +0.1% +0.3% +10.0% ➖ noise
20 duckdb:duckdb +1.3% +0.1% +1.2% +10.0% ➖ noise
20 duckdb:vortex-compact +0.8% +0.1% +0.7% +10.0% ➖ noise
20 duckdb:vortex-file-compressed -1.6% +0.1% -1.7% +24.0% ➖ noise
21 datafusion:vortex-compact -4.0% +5.2% -8.7% +17.0% ➖ noise
21 datafusion:vortex-file-compressed +5.0% +5.2% -0.2% +17.7% ➖ noise
21 duckdb:duckdb +16.6% +5.2% +10.8% +16.4% ➖ noise
21 duckdb:vortex-compact +4.8% +5.2% -0.4% +10.8% ➖ noise
21 duckdb:vortex-file-compressed +5.3% +5.2% +0.1% +14.7% ➖ noise
22 datafusion:vortex-compact +4.8% -2.5% +7.6% +28.7% ➖ noise
22 datafusion:vortex-file-compressed +36.2% -2.5% +39.8% +25.3% 🚨 regression
22 duckdb:duckdb +1.8% -2.5% +4.5% +13.6% ➖ noise
22 duckdb:vortex-compact +6.4% -2.5% +9.1% +12.5% ➖ noise
22 duckdb:vortex-file-compressed +5.8% -2.5% +8.5% +14.6% ➖ noise
23 datafusion:vortex-compact +4.0% -0.7% +4.8% +10.0% ➖ noise
23 datafusion:vortex-file-compressed -0.6% -0.7% +0.2% +10.0% ➖ noise
23 duckdb:duckdb -3.0% -0.7% -2.3% +10.3% ➖ noise
23 duckdb:vortex-compact +0.2% -0.7% +1.0% +12.6% ➖ noise
23 duckdb:vortex-file-compressed -0.3% -0.7% +0.4% +12.4% ➖ noise
24 datafusion:vortex-compact +1.5% -3.1% +4.7% +11.9% ➖ noise
24 datafusion:vortex-file-compressed +2.4% -3.1% +5.6% +10.0% ➖ noise
24 duckdb:duckdb +0.3% -3.1% +3.5% +10.0% ➖ noise
24 duckdb:vortex-compact -0.1% -3.1% +3.1% +14.0% ➖ noise
24 duckdb:vortex-file-compressed -0.5% -3.1% +2.6% +10.0% ➖ noise
25 datafusion:vortex-compact -0.9% -0.4% -0.5% +15.2% ➖ noise
25 datafusion:vortex-file-compressed -6.3% -0.4% -5.9% +10.0% ➖ noise
25 duckdb:duckdb +0.8% -0.4% +1.3% +10.0% ➖ noise
25 duckdb:vortex-compact -0.2% -0.4% +0.2% +10.0% ➖ noise
25 duckdb:vortex-file-compressed +1.7% -0.4% +2.1% +12.9% ➖ noise
26 datafusion:vortex-compact +0.3% +0.6% -0.2% +10.0% ➖ noise
26 datafusion:vortex-file-compressed +2.7% +0.6% +2.1% +20.8% ➖ noise
26 duckdb:duckdb +0.7% +0.6% +0.1% +10.0% ➖ noise
26 duckdb:vortex-compact +7.1% +0.6% +6.5% +10.2% ➖ noise
26 duckdb:vortex-file-compressed -5.2% +0.6% -5.8% +12.5% ➖ noise
27 datafusion:vortex-compact +4.7% +0.7% +4.0% +14.8% ➖ noise
27 datafusion:vortex-file-compressed -4.2% +0.7% -4.8% +12.3% ➖ noise
27 duckdb:duckdb -0.1% +0.7% -0.8% +10.0% ➖ noise
27 duckdb:vortex-compact +1.1% +0.7% +0.4% +10.0% ➖ noise
27 duckdb:vortex-file-compressed -8.9% +0.7% -9.5% +10.0% ✅ faster
28 datafusion:vortex-compact +0.4% -0.1% +0.5% +12.2% ➖ noise
28 datafusion:vortex-file-compressed -0.9% -0.1% -0.8% +10.0% ➖ noise
28 duckdb:duckdb +2.7% -0.1% +2.8% +10.0% ➖ noise
28 duckdb:vortex-compact -3.7% -0.1% -3.6% +10.0% ➖ noise
28 duckdb:vortex-file-compressed -1.3% -0.1% -1.2% +10.0% ➖ noise
29 datafusion:vortex-compact -0.9% -3.1% +2.3% +16.7% ➖ noise
29 datafusion:vortex-file-compressed -1.1% -3.1% +2.1% +20.0% ➖ noise
29 duckdb:duckdb +5.9% -3.1% +9.3% +11.1% ➖ noise
29 duckdb:vortex-compact +0.3% -3.1% +3.6% +11.4% ➖ noise
29 duckdb:vortex-file-compressed -1.5% -3.1% +1.6% +10.3% ➖ noise
30 datafusion:vortex-compact +2.8% -0.3% +3.1% +10.9% ➖ noise
30 datafusion:vortex-file-compressed +7.5% -0.3% +7.9% +15.6% ➖ noise
30 duckdb:duckdb +0.3% -0.3% +0.7% +10.0% ➖ noise
30 duckdb:vortex-compact -4.2% -0.3% -3.9% +10.0% ➖ noise
30 duckdb:vortex-file-compressed -0.8% -0.3% -0.5% +10.0% ➖ noise
31 datafusion:vortex-compact +1.0% -4.3% +5.6% +10.0% ➖ noise
31 datafusion:vortex-file-compressed -2.6% -4.3% +1.8% +10.0% ➖ noise
31 duckdb:duckdb -2.1% -4.3% +2.3% +10.0% ➖ noise
31 duckdb:vortex-compact +6.6% -4.3% +11.5% +17.3% ➖ noise
31 duckdb:vortex-file-compressed -2.0% -4.3% +2.4% +23.5% ➖ noise
32 datafusion:vortex-compact -5.0% -1.0% -4.0% +25.0% ➖ noise
32 datafusion:vortex-file-compressed +1.9% -1.0% +3.0% +10.0% ➖ noise
32 duckdb:duckdb +3.8% -1.0% +4.8% +14.5% ➖ noise
32 duckdb:vortex-compact -2.1% -1.0% -1.1% +15.3% ➖ noise
32 duckdb:vortex-file-compressed +2.1% -1.0% +3.2% +13.5% ➖ noise
33 datafusion:vortex-compact +3.4% +1.9% +1.5% +14.7% ➖ noise
33 datafusion:vortex-file-compressed -0.8% +1.9% -2.6% +11.5% ➖ noise
33 duckdb:duckdb +1.2% +1.9% -0.6% +12.5% ➖ noise
33 duckdb:vortex-compact -3.2% +1.9% -5.0% +12.7% ➖ noise
33 duckdb:vortex-file-compressed -2.6% +1.9% -4.4% +12.0% ➖ noise
34 datafusion:vortex-compact +5.0% +1.8% +3.2% +10.4% ➖ noise
34 datafusion:vortex-file-compressed +0.6% +1.8% -1.2% +10.0% ➖ noise
34 duckdb:duckdb +8.5% +1.8% +6.6% +27.1% ➖ noise
34 duckdb:vortex-compact +2.5% +1.8% +0.7% +10.0% ➖ noise
34 duckdb:vortex-file-compressed +2.8% +1.8% +1.0% +10.0% ➖ noise
35 datafusion:vortex-compact -1.7% +1.8% -3.5% +10.0% ➖ noise
35 datafusion:vortex-file-compressed +6.0% +1.8% +4.1% +12.4% ➖ noise
35 duckdb:duckdb -1.4% +1.8% -3.1% +10.0% ➖ noise
35 duckdb:vortex-compact -1.1% +1.8% -2.8% +10.0% ➖ noise
35 duckdb:vortex-file-compressed -0.1% +1.8% -1.9% +18.3% ➖ noise
36 datafusion:vortex-compact -2.1% +0.3% -2.4% +10.0% ➖ noise
36 datafusion:vortex-file-compressed +0.4% +0.3% +0.1% +10.0% ➖ noise
36 duckdb:duckdb -2.0% +0.3% -2.3% +10.0% ➖ noise
36 duckdb:vortex-compact -0.8% +0.3% -1.1% +10.0% ➖ noise
36 duckdb:vortex-file-compressed +0.9% +0.3% +0.7% +10.0% ➖ noise
37 datafusion:vortex-compact +4.8% +0.7% +4.0% +21.7% ➖ noise
37 datafusion:vortex-file-compressed +1.3% +0.7% +0.6% +22.9% ➖ noise
37 duckdb:duckdb +1.5% +0.7% +0.8% +10.5% ➖ noise
37 duckdb:vortex-compact -0.6% +0.7% -1.3% +11.0% ➖ noise
37 duckdb:vortex-file-compressed +1.1% +0.7% +0.4% +10.1% ➖ noise
38 datafusion:vortex-compact -4.7% -4.1% -0.6% +10.0% ➖ noise
38 datafusion:vortex-file-compressed +1.1% -4.1% +5.3% +10.0% ➖ noise
38 duckdb:duckdb +1.2% -4.1% +5.5% +10.0% ➖ noise
38 duckdb:vortex-compact -4.9% -4.1% -0.9% +17.2% ➖ noise
38 duckdb:vortex-file-compressed -0.7% -4.1% +3.5% +11.0% ➖ noise
39 datafusion:vortex-compact -0.4% +0.4% -0.7% +10.3% ➖ noise
39 datafusion:vortex-file-compressed +2.1% +0.4% +1.7% +14.0% ➖ noise
39 duckdb:duckdb +0.8% +0.4% +0.4% +18.8% ➖ noise
39 duckdb:vortex-compact -5.0% +0.4% -5.4% +13.0% ➖ noise
39 duckdb:vortex-file-compressed -0.1% +0.4% -0.5% +10.4% ➖ noise
40 datafusion:vortex-compact +9.0% +1.2% +7.6% +16.3% ➖ noise
40 datafusion:vortex-file-compressed +0.3% +1.2% -0.9% +10.0% ➖ noise
40 duckdb:duckdb -1.6% +1.2% -2.8% +10.0% ➖ noise
40 duckdb:vortex-compact -2.9% +1.2% -4.1% +10.0% ➖ noise
40 duckdb:vortex-file-compressed +5.0% +1.2% +3.7% +28.7% ➖ noise
41 datafusion:vortex-compact -0.9% +0.8% -1.6% +10.0% ➖ noise
41 datafusion:vortex-file-compressed +2.0% +0.8% +1.2% +10.0% ➖ noise
41 duckdb:duckdb +9.5% +0.8% +8.7% +10.1% ➖ noise
41 duckdb:vortex-compact +2.2% +0.8% +1.4% +10.0% ➖ noise
41 duckdb:vortex-file-compressed -1.4% +0.8% -2.1% +10.0% ➖ noise
42 datafusion:vortex-compact -0.8% -3.6% +2.9% +10.0% ➖ noise
42 datafusion:vortex-file-compressed -1.2% -3.6% +2.5% +10.0% ➖ noise
42 duckdb:duckdb +0.7% -3.6% +4.5% +13.4% ➖ noise
42 duckdb:vortex-compact -2.9% -3.6% +0.7% +10.0% ➖ noise
42 duckdb:vortex-file-compressed -1.0% -3.6% +2.7% +10.0% ➖ noise
43 datafusion:vortex-compact +2.4% +1.2% +1.2% +10.0% ➖ noise
43 datafusion:vortex-file-compressed +0.2% +1.2% -1.0% +10.0% ➖ noise
43 duckdb:duckdb -1.1% +1.2% -2.3% +10.0% ➖ noise
43 duckdb:vortex-compact +0.6% +1.2% -0.5% +25.2% ➖ noise
43 duckdb:vortex-file-compressed -0.7% +1.2% -1.9% +24.2% ➖ noise
44 datafusion:vortex-compact -3.9% +0.0% -3.9% +10.0% ➖ noise
44 datafusion:vortex-file-compressed -1.5% +0.0% -1.5% +10.0% ➖ noise
44 duckdb:duckdb +2.2% +0.0% +2.2% +10.0% ➖ noise
44 duckdb:vortex-compact +0.6% +0.0% +0.6% +10.2% ➖ noise
44 duckdb:vortex-file-compressed +2.1% +0.0% +2.1% +10.0% ➖ noise
45 datafusion:vortex-compact -5.4% -1.4% -4.1% +13.5% ➖ noise
45 datafusion:vortex-file-compressed -2.0% -1.4% -0.7% +12.0% ➖ noise
45 duckdb:duckdb +0.8% -1.4% +2.2% +10.0% ➖ noise
45 duckdb:vortex-compact -1.3% -1.4% +0.0% +10.0% ➖ noise
45 duckdb:vortex-file-compressed +1.2% -1.4% +2.6% +11.4% ➖ noise
46 datafusion:vortex-compact +11.8% -1.2% +13.2% +14.9% ➖ noise
46 datafusion:vortex-file-compressed -3.8% -1.2% -2.7% +10.0% ➖ noise
46 duckdb:duckdb -0.4% -1.2% +0.8% +10.0% ➖ noise
46 duckdb:vortex-compact -8.9% -1.2% -7.8% +10.0% ➖ noise
46 duckdb:vortex-file-compressed -8.3% -1.2% -7.2% +20.7% ➖ noise
47 datafusion:vortex-compact -0.8% +0.6% -1.4% +10.0% ➖ noise
47 datafusion:vortex-file-compressed -1.2% +0.6% -1.8% +10.0% ➖ noise
47 duckdb:duckdb -1.9% +0.6% -2.5% +10.0% ➖ noise
47 duckdb:vortex-compact +4.3% +0.6% +3.7% +13.5% ➖ noise
47 duckdb:vortex-file-compressed -1.4% +0.6% -1.9% +10.0% ➖ noise
48 datafusion:vortex-compact +2.8% +0.2% +2.6% +14.5% ➖ noise
48 datafusion:vortex-file-compressed +5.1% +0.2% +4.9% +17.4% ➖ noise
48 duckdb:duckdb -0.8% +0.2% -1.0% +10.0% ➖ noise
48 duckdb:vortex-compact -1.5% +0.2% -1.8% +10.0% ➖ noise
48 duckdb:vortex-file-compressed +1.2% +0.2% +1.0% +10.0% ➖ noise
49 datafusion:vortex-compact -1.6% +0.3% -1.9% +10.0% ➖ noise
49 datafusion:vortex-file-compressed +2.2% +0.3% +1.9% +10.0% ➖ noise
49 duckdb:duckdb +1.4% +0.3% +1.1% +10.0% ➖ noise
49 duckdb:vortex-compact -4.7% +0.3% -5.0% +11.3% ➖ noise
49 duckdb:vortex-file-compressed -2.1% +0.3% -2.4% +23.9% ➖ noise
50 datafusion:vortex-compact -2.5% +0.6% -3.1% +10.0% ➖ noise
50 datafusion:vortex-file-compressed +1.7% +0.6% +1.1% +11.3% ➖ noise
50 duckdb:duckdb -2.2% +0.6% -2.8% +10.0% ➖ noise
50 duckdb:vortex-compact +3.7% +0.6% +3.2% +19.9% ➖ noise
50 duckdb:vortex-file-compressed -6.8% +0.6% -7.4% +10.0% ➖ noise
51 datafusion:vortex-compact -1.1% -1.7% +0.6% +13.2% ➖ noise
51 datafusion:vortex-file-compressed +5.2% -1.7% +6.9% +13.9% ➖ noise
51 duckdb:duckdb -0.6% -1.7% +1.1% +11.2% ➖ noise
51 duckdb:vortex-compact -1.0% -1.7% +0.6% +11.9% ➖ noise
51 duckdb:vortex-file-compressed -0.6% -1.7% +1.1% +16.8% ➖ noise
52 datafusion:vortex-compact +1.0% -0.8% +1.8% +10.0% ➖ noise
52 datafusion:vortex-file-compressed +2.5% -0.8% +3.4% +10.0% ➖ noise
52 duckdb:duckdb -13.6% -0.8% -13.0% +18.5% ➖ noise
52 duckdb:vortex-compact +5.2% -0.8% +6.0% +11.3% ➖ noise
52 duckdb:vortex-file-compressed +7.3% -0.8% +8.2% +28.8% ➖ noise
53 datafusion:vortex-compact +1.9% +0.5% +1.4% +10.0% ➖ noise
53 datafusion:vortex-file-compressed -0.1% +0.5% -0.6% +11.9% ➖ noise
53 duckdb:duckdb -1.2% +0.5% -1.7% +10.0% ➖ noise
53 duckdb:vortex-compact +1.7% +0.5% +1.2% +10.0% ➖ noise
53 duckdb:vortex-file-compressed +5.7% +0.5% +5.2% +10.0% ➖ noise
54 datafusion:vortex-compact -7.2% +3.7% -10.5% +12.6% ➖ noise
54 datafusion:vortex-file-compressed +3.2% +3.7% -0.5% +10.0% ➖ noise
54 duckdb:duckdb -0.8% +3.7% -4.3% +10.0% ➖ noise
54 duckdb:vortex-compact +4.5% +3.7% +0.7% +10.0% ➖ noise
54 duckdb:vortex-file-compressed +1.3% +3.7% -2.3% +10.0% ➖ noise
55 datafusion:vortex-compact +0.8% -4.7% +5.8% +10.0% ➖ noise
55 datafusion:vortex-file-compressed -2.9% -4.7% +1.9% +25.5% ➖ noise
55 duckdb:duckdb -3.4% -4.7% +1.4% +14.7% ➖ noise
55 duckdb:vortex-compact +0.6% -4.7% +5.6% +10.0% ➖ noise
55 duckdb:vortex-file-compressed +1.1% -4.7% +6.1% +10.0% ➖ noise
56 datafusion:vortex-compact +4.9% +2.5% +2.4% +14.2% ➖ noise
56 datafusion:vortex-file-compressed +0.3% +2.5% -2.1% +10.0% ➖ noise
56 duckdb:duckdb +0.4% +2.5% -2.0% +10.0% ➖ noise
56 duckdb:vortex-compact +0.9% +2.5% -1.6% +19.8% ➖ noise
56 duckdb:vortex-file-compressed -0.8% +2.5% -3.2% +10.0% ➖ noise
57 datafusion:vortex-compact -1.9% -1.3% -0.6% +10.0% ➖ noise
57 datafusion:vortex-file-compressed +5.4% -1.3% +6.8% +10.0% ➖ noise
57 duckdb:duckdb -0.2% -1.3% +1.1% +10.0% ➖ noise
57 duckdb:vortex-compact -2.3% -1.3% -1.0% +10.0% ➖ noise
57 duckdb:vortex-file-compressed +1.4% -1.3% +2.7% +17.7% ➖ noise
58 datafusion:vortex-compact +5.4% +0.8% +4.6% +11.4% ➖ noise
58 datafusion:vortex-file-compressed +3.1% +0.8% +2.3% +12.5% ➖ noise
58 duckdb:duckdb +2.9% +0.8% +2.1% +12.5% ➖ noise
58 duckdb:vortex-compact +1.8% +0.8% +1.0% +10.7% ➖ noise
58 duckdb:vortex-file-compressed -1.5% +0.8% -2.3% +19.7% ➖ noise
59 datafusion:vortex-compact -1.7% +0.3% -2.1% +10.0% ➖ noise
59 datafusion:vortex-file-compressed -0.1% +0.3% -0.4% +10.0% ➖ noise
59 duckdb:duckdb -0.5% +0.3% -0.8% +10.0% ➖ noise
59 duckdb:vortex-compact +1.3% +0.3% +1.0% +10.0% ➖ noise
59 duckdb:vortex-file-compressed +1.4% +0.3% +1.1% +10.0% ➖ noise
60 datafusion:vortex-compact +0.3% +4.0% -3.5% +10.0% ➖ noise
60 datafusion:vortex-file-compressed -3.0% +4.0% -6.7% +14.6% ➖ noise
60 duckdb:duckdb +2.3% +4.0% -1.6% +10.0% ➖ noise
60 duckdb:vortex-compact +2.8% +4.0% -1.2% +14.9% ➖ noise
60 duckdb:vortex-file-compressed +2.7% +4.0% -1.2% +10.0% ➖ noise
61 datafusion:vortex-compact -2.1% -0.5% -1.6% +10.0% ➖ noise
61 datafusion:vortex-file-compressed -4.2% -0.5% -3.7% +10.0% ➖ noise
61 duckdb:duckdb +7.5% -0.5% +8.0% +10.0% ➖ noise
61 duckdb:vortex-compact +0.4% -0.5% +0.9% +10.0% ➖ noise
61 duckdb:vortex-file-compressed +1.1% -0.5% +1.6% +24.6% ➖ noise
62 datafusion:vortex-compact +8.5% -9.1% +19.3% +30.6% ➖ noise
62 datafusion:vortex-file-compressed +21.8% -9.1% +33.9% +25.4% 🚨 regression
62 duckdb:duckdb -0.8% -9.1% +9.1% +13.5% ➖ noise
62 duckdb:vortex-compact -0.3% -9.1% +9.7% +15.9% ➖ noise
62 duckdb:vortex-file-compressed -0.3% -9.1% +9.6% +22.6% ➖ noise
63 datafusion:vortex-compact +0.7% +0.2% +0.5% +10.0% ➖ noise
63 datafusion:vortex-file-compressed -0.1% +0.2% -0.3% +10.0% ➖ noise
63 duckdb:duckdb -0.8% +0.2% -1.0% +10.0% ➖ noise
63 duckdb:vortex-compact +9.2% +0.2% +9.0% +10.0% ➖ noise
63 duckdb:vortex-file-compressed +2.3% +0.2% +2.0% +10.0% ➖ noise
64 datafusion:vortex-compact +0.8% +1.3% -0.5% +10.0% ➖ noise
64 datafusion:vortex-file-compressed +0.9% +1.3% -0.4% +10.0% ➖ noise
64 duckdb:duckdb +1.0% +1.3% -0.3% +10.0% ➖ noise
64 duckdb:vortex-compact -1.6% +1.3% -2.9% +10.0% ➖ noise
64 duckdb:vortex-file-compressed -0.4% +1.3% -1.7% +12.3% ➖ noise
65 datafusion:vortex-compact -0.7% +1.8% -2.4% +16.8% ➖ noise
65 datafusion:vortex-file-compressed -2.1% +1.8% -3.8% +12.9% ➖ noise
65 duckdb:duckdb +0.1% +1.8% -1.6% +11.1% ➖ noise
65 duckdb:vortex-compact +2.7% +1.8% +0.9% +11.7% ➖ noise
65 duckdb:vortex-file-compressed -8.2% +1.8% -9.8% +13.2% ➖ noise
66 datafusion:vortex-compact +8.1% -0.9% +9.1% +18.4% ➖ noise
66 datafusion:vortex-file-compressed +3.0% -0.9% +4.0% +17.4% ➖ noise
66 duckdb:duckdb +3.3% -0.9% +4.3% +10.0% ➖ noise
66 duckdb:vortex-compact -7.9% -0.9% -7.0% +20.5% ➖ noise
66 duckdb:vortex-file-compressed +1.8% -0.9% +2.7% +10.0% ➖ noise
67 datafusion:vortex-compact -7.4% +1.9% -9.2% +10.0% ✅ faster
67 datafusion:vortex-file-compressed -3.4% +1.9% -5.3% +10.0% ➖ noise
67 duckdb:duckdb +0.7% +1.9% -1.2% +11.2% ➖ noise
67 duckdb:vortex-compact +2.3% +1.9% +0.4% +10.0% ➖ noise
67 duckdb:vortex-file-compressed +1.9% +1.9% -0.0% +10.0% ➖ noise
68 datafusion:vortex-compact +1.6% +1.4% +0.2% +12.8% ➖ noise
68 datafusion:vortex-file-compressed +7.0% +1.4% +5.6% +25.4% ➖ noise
68 duckdb:duckdb +2.8% +1.4% +1.3% +10.0% ➖ noise
68 duckdb:vortex-compact +2.1% +1.4% +0.7% +10.0% ➖ noise
68 duckdb:vortex-file-compressed +6.3% +1.4% +4.8% +13.5% ➖ noise
69 datafusion:vortex-compact +3.1% +2.0% +1.1% +10.0% ➖ noise
69 datafusion:vortex-file-compressed -0.4% +2.0% -2.4% +10.0% ➖ noise
69 duckdb:duckdb +1.6% +2.0% -0.3% +10.0% ➖ noise
69 duckdb:vortex-compact +0.8% +2.0% -1.2% +10.0% ➖ noise
69 duckdb:vortex-file-compressed +1.6% +2.0% -0.4% +10.0% ➖ noise
70 datafusion:vortex-compact -2.4% -0.3% -2.1% +10.0% ➖ noise
70 datafusion:vortex-file-compressed +2.4% -0.3% +2.8% +15.7% ➖ noise
70 duckdb:duckdb -4.9% -0.3% -4.6% +10.0% ➖ noise
70 duckdb:vortex-compact +7.4% -0.3% +7.8% +15.2% ➖ noise
70 duckdb:vortex-file-compressed +6.3% -0.3% +6.6% +13.0% ➖ noise
71 datafusion:vortex-compact +1.8% -5.2% +7.5% +11.1% ➖ noise
71 datafusion:vortex-file-compressed -0.5% -5.2% +5.0% +11.5% ➖ noise
71 duckdb:duckdb -3.9% -5.2% +1.4% +10.0% ➖ noise
71 duckdb:vortex-compact -0.7% -5.2% +4.8% +10.0% ➖ noise
71 duckdb:vortex-file-compressed +1.0% -5.2% +6.6% +12.6% ➖ noise
72 datafusion:vortex-compact +0.8% +0.2% +0.6% +10.0% ➖ noise
72 datafusion:vortex-file-compressed +0.1% +0.2% -0.1% +10.0% ➖ noise
72 duckdb:duckdb +0.6% +0.2% +0.4% +10.0% ➖ noise
72 duckdb:vortex-compact +1.2% +0.2% +1.0% +10.0% ➖ noise
72 duckdb:vortex-file-compressed +0.9% +0.2% +0.7% +10.0% ➖ noise
73 datafusion:vortex-compact -2.2% +2.3% -4.4% +12.7% ➖ noise
73 datafusion:vortex-file-compressed -2.6% +2.3% -4.8% +29.6% ➖ noise
73 duckdb:duckdb -1.6% +2.3% -3.8% +10.0% ➖ noise
73 duckdb:vortex-compact -4.7% +2.3% -6.9% +10.0% ➖ noise
73 duckdb:vortex-file-compressed +1.7% +2.3% -0.6% +13.3% ➖ noise
74 datafusion:vortex-compact +1.9% +1.8% +0.2% +10.0% ➖ noise
74 datafusion:vortex-file-compressed +3.9% +1.8% +2.1% +10.0% ➖ noise
74 duckdb:duckdb +1.2% +1.8% -0.5% +10.0% ➖ noise
74 duckdb:vortex-compact +6.6% +1.8% +4.8% +14.6% ➖ noise
74 duckdb:vortex-file-compressed -1.9% +1.8% -3.6% +10.0% ➖ noise
75 datafusion:vortex-compact -2.7% +0.4% -3.1% +17.7% ➖ noise
75 datafusion:vortex-file-compressed -5.6% +0.4% -5.9% +17.4% ➖ noise
75 duckdb:duckdb +3.5% +0.4% +3.1% +10.0% ➖ noise
75 duckdb:vortex-compact -3.5% +0.4% -3.9% +10.0% ➖ noise
75 duckdb:vortex-file-compressed +1.2% +0.4% +0.8% +14.9% ➖ noise
76 datafusion:vortex-compact +2.9% +1.0% +1.9% +10.0% ➖ noise
76 datafusion:vortex-file-compressed -2.0% +1.0% -2.9% +17.4% ➖ noise
76 duckdb:duckdb -2.3% +1.0% -3.2% +13.4% ➖ noise
76 duckdb:vortex-compact +6.5% +1.0% +5.5% +16.2% ➖ noise
76 duckdb:vortex-file-compressed +1.4% +1.0% +0.4% +17.4% ➖ noise
77 datafusion:vortex-compact -5.5% -0.4% -5.2% +16.8% ➖ noise
77 datafusion:vortex-file-compressed +4.1% -0.4% +4.5% +18.2% ➖ noise
77 duckdb:duckdb +2.2% -0.4% +2.7% +13.2% ➖ noise
77 duckdb:vortex-compact +7.1% -0.4% +7.5% +26.3% ➖ noise
77 duckdb:vortex-file-compressed -5.5% -0.4% -5.1% +18.0% ➖ noise
78 datafusion:vortex-compact +1.0% -3.8% +5.1% +10.0% ➖ noise
78 datafusion:vortex-file-compressed -2.0% -3.8% +2.0% +12.5% ➖ noise
78 duckdb:duckdb +1.2% -3.8% +5.2% +10.0% ➖ noise
78 duckdb:vortex-compact -2.3% -3.8% +1.6% +10.0% ➖ noise
78 duckdb:vortex-file-compressed -0.8% -3.8% +3.1% +10.0% ➖ noise
79 datafusion:vortex-compact +1.1% +0.6% +0.5% +10.0% ➖ noise
79 datafusion:vortex-file-compressed -1.8% +0.6% -2.4% +10.8% ➖ noise
79 duckdb:duckdb -1.9% +0.6% -2.4% +10.0% ➖ noise
79 duckdb:vortex-compact +1.3% +0.6% +0.7% +10.0% ➖ noise
79 duckdb:vortex-file-compressed +3.0% +0.6% +2.4% +15.7% ➖ noise
80 datafusion:vortex-compact -1.2% +5.0% -5.9% +13.5% ➖ noise
80 datafusion:vortex-file-compressed -7.1% +5.0% -11.5% +10.0% ✅ faster
80 duckdb:duckdb -2.2% +5.0% -6.8% +14.0% ➖ noise
80 duckdb:vortex-compact -3.3% +5.0% -7.9% +12.3% ➖ noise
80 duckdb:vortex-file-compressed -9.9% +5.0% -14.2% +11.5% ✅ faster
81 datafusion:vortex-compact +1.6% -0.6% +2.2% +11.7% ➖ noise
81 datafusion:vortex-file-compressed +1.6% -0.6% +2.1% +10.0% ➖ noise
81 duckdb:duckdb -2.1% -0.6% -1.5% +10.0% ➖ noise
81 duckdb:vortex-compact -2.4% -0.6% -1.9% +10.0% ➖ noise
81 duckdb:vortex-file-compressed -0.0% -0.6% +0.5% +10.0% ➖ noise
82 datafusion:vortex-compact +0.7% -1.4% +2.1% +10.0% ➖ noise
82 datafusion:vortex-file-compressed -8.3% -1.4% -7.0% +10.0% ➖ noise
82 duckdb:duckdb +3.9% -1.4% +5.3% +11.4% ➖ noise
82 duckdb:vortex-compact +0.7% -1.4% +2.1% +18.4% ➖ noise
82 duckdb:vortex-file-compressed +1.2% -1.4% +2.6% +11.3% ➖ noise
83 datafusion:vortex-compact +0.6% +0.2% +0.4% +13.1% ➖ noise
83 datafusion:vortex-file-compressed +5.5% +0.2% +5.3% +15.3% ➖ noise
83 duckdb:duckdb +4.6% +0.2% +4.4% +10.0% ➖ noise
83 duckdb:vortex-compact -1.8% +0.2% -1.9% +20.1% ➖ noise
83 duckdb:vortex-file-compressed -2.5% +0.2% -2.6% +17.5% ➖ noise
84 datafusion:vortex-compact +4.7% -0.9% +5.7% +12.2% ➖ noise
84 datafusion:vortex-file-compressed +1.7% -0.9% +2.6% +10.0% ➖ noise
84 duckdb:duckdb +0.8% -0.9% +1.7% +10.0% ➖ noise
84 duckdb:vortex-compact +3.8% -0.9% +4.8% +11.9% ➖ noise
84 duckdb:vortex-file-compressed +1.0% -0.9% +2.0% +10.5% ➖ noise
85 datafusion:vortex-compact +8.4% +0.9% +7.4% +18.4% ➖ noise
85 datafusion:vortex-file-compressed +1.7% +0.9% +0.8% +10.0% ➖ noise
85 duckdb:duckdb +2.3% +0.9% +1.3% +10.0% ➖ noise
85 duckdb:vortex-compact -5.4% +0.9% -6.3% +10.0% ➖ noise
85 duckdb:vortex-file-compressed +0.7% +0.9% -0.2% +10.0% ➖ noise
86 datafusion:vortex-compact -0.6% +8.4% -8.3% +14.6% ➖ noise
86 datafusion:vortex-file-compressed +2.7% +8.4% -5.3% +15.1% ➖ noise
86 duckdb:duckdb -0.5% +8.4% -8.2% +10.0% ➖ noise
86 duckdb:vortex-compact -0.8% +8.4% -8.5% +14.0% ➖ noise
86 duckdb:vortex-file-compressed +3.0% +8.4% -5.0% +10.0% ➖ noise
87 datafusion:vortex-compact -2.7% -0.5% -2.2% +11.8% ➖ noise
87 datafusion:vortex-file-compressed +1.6% -0.5% +2.1% +10.0% ➖ noise
87 duckdb:duckdb -0.3% -0.5% +0.3% +10.0% ➖ noise
87 duckdb:vortex-compact -0.9% -0.5% -0.4% +12.9% ➖ noise
87 duckdb:vortex-file-compressed -2.3% -0.5% -1.8% +20.1% ➖ noise
88 datafusion:vortex-compact +3.3% +1.5% +1.8% +10.0% ➖ noise
88 datafusion:vortex-file-compressed -1.0% +1.5% -2.4% +10.0% ➖ noise
88 duckdb:duckdb +4.3% +1.5% +2.8% +10.0% ➖ noise
88 duckdb:vortex-compact -3.1% +1.5% -4.5% +10.0% ➖ noise
88 duckdb:vortex-file-compressed -1.2% +1.5% -2.6% +10.0% ➖ noise
89 datafusion:vortex-compact +3.5% -1.0% +4.5% +10.0% ➖ noise
89 datafusion:vortex-file-compressed +2.4% -1.0% +3.4% +10.0% ➖ noise
89 duckdb:duckdb +1.1% -1.0% +2.1% +10.0% ➖ noise
89 duckdb:vortex-compact -2.1% -1.0% -1.1% +17.4% ➖ noise
89 duckdb:vortex-file-compressed -2.4% -1.0% -1.5% +10.0% ➖ noise
90 datafusion:vortex-compact +2.9% +0.4% +2.4% +10.0% ➖ noise
90 datafusion:vortex-file-compressed -3.5% +0.4% -3.9% +10.8% ➖ noise
90 duckdb:duckdb +0.5% +0.4% +0.1% +10.7% ➖ noise
90 duckdb:vortex-compact -5.5% +0.4% -5.9% +41.5% ➖ noise
90 duckdb:vortex-file-compressed +1.0% +0.4% +0.6% +10.6% ➖ noise
91 datafusion:vortex-compact +5.5% +2.0% +3.5% +15.3% ➖ noise
91 datafusion:vortex-file-compressed -2.2% +2.0% -4.1% +22.8% ➖ noise
91 duckdb:duckdb +3.8% +2.0% +1.8% +10.0% ➖ noise
91 duckdb:vortex-compact -1.4% +2.0% -3.3% +10.0% ➖ noise
91 duckdb:vortex-file-compressed -1.8% +2.0% -3.6% +10.0% ➖ noise
92 datafusion:vortex-compact -0.6% +1.8% -2.4% +17.1% ➖ noise
92 datafusion:vortex-file-compressed -1.2% +1.8% -2.9% +12.2% ➖ noise
92 duckdb:duckdb +4.2% +1.8% +2.4% +12.0% ➖ noise
92 duckdb:vortex-compact -15.9% +1.8% -17.3% +25.2% ➖ noise
92 duckdb:vortex-file-compressed +5.6% +1.8% +3.8% +30.6% ➖ noise
93 datafusion:vortex-compact -0.9% +1.7% -2.5% +10.0% ➖ noise
93 datafusion:vortex-file-compressed -0.4% +1.7% -2.0% +10.0% ➖ noise
93 duckdb:duckdb +1.8% +1.7% +0.1% +10.0% ➖ noise
93 duckdb:vortex-compact -1.7% +1.7% -3.3% +10.0% ➖ noise
93 duckdb:vortex-file-compressed +1.2% +1.7% -0.5% +11.0% ➖ noise
94 datafusion:vortex-compact +1.1% -3.8% +5.0% +13.8% ➖ noise
94 datafusion:vortex-file-compressed +1.5% -3.8% +5.5% +24.7% ➖ noise
94 duckdb:duckdb +2.1% -3.8% +6.1% +13.6% ➖ noise
94 duckdb:vortex-compact -2.2% -3.8% +1.7% +27.0% ➖ noise
94 duckdb:vortex-file-compressed -0.8% -3.8% +3.1% +10.0% ➖ noise
95 datafusion:vortex-compact -0.5% +4.0% -4.3% +10.0% ➖ noise
95 datafusion:vortex-file-compressed +3.2% +4.0% -0.8% +10.0% ➖ noise
95 duckdb:duckdb -4.3% +4.0% -8.0% +16.0% ➖ noise
95 duckdb:vortex-compact -2.6% +4.0% -6.4% +19.0% ➖ noise
95 duckdb:vortex-file-compressed +0.5% +4.0% -3.3% +23.5% ➖ noise
96 datafusion:vortex-compact +0.6% -3.1% +3.8% +10.0% ➖ noise
96 datafusion:vortex-file-compressed +0.7% -3.1% +3.9% +10.0% ➖ noise
96 duckdb:duckdb +3.7% -3.1% +7.0% +12.5% ➖ noise
96 duckdb:vortex-compact -1.9% -3.1% +1.2% +18.6% ➖ noise
96 duckdb:vortex-file-compressed -3.0% -3.1% +0.0% +14.6% ➖ noise
97 datafusion:vortex-compact +1.1% -1.5% +2.7% +10.9% ➖ noise
97 datafusion:vortex-file-compressed +6.0% -1.5% +7.6% +10.0% ➖ noise
97 duckdb:duckdb -3.1% -1.5% -1.7% +10.0% ➖ noise
97 duckdb:vortex-compact -2.8% -1.5% -1.4% +10.6% ➖ noise
97 duckdb:vortex-file-compressed +1.6% -1.5% +3.1% +10.3% ➖ noise
98 datafusion:vortex-compact +3.1% +4.3% -1.2% +24.7% ➖ noise
98 datafusion:vortex-file-compressed +1.1% +4.3% -3.1% +24.8% ➖ noise
98 duckdb:duckdb -4.4% +4.3% -8.4% +10.0% ➖ noise
98 duckdb:vortex-compact -1.4% +4.3% -5.5% +10.0% ➖ noise
98 duckdb:vortex-file-compressed -0.2% +4.3% -4.3% +10.0% ➖ noise
99 datafusion:vortex-compact -13.1% +2.5% -15.2% +19.3% ➖ noise
99 datafusion:vortex-file-compressed -12.2% +2.5% -14.4% +19.2% ➖ noise
99 duckdb:duckdb +0.5% +2.5% -2.0% +12.1% ➖ noise
99 duckdb:vortex-compact +4.3% +2.5% +1.7% +29.3% ➖ noise
99 duckdb:vortex-file-compressed +4.0% +2.5% +1.5% +12.5% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: FineWeb S3

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +0.7%
Engines: DataFusion No clear signal (-0.4%, environment too noisy confidence) · DuckDB No clear signal (+1.9%, low confidence)
Vortex (geomean): 0.989x ➖
Parquet (geomean): 0.982x ➖
Shifts: Parquet (control) -1.8% · Median polish -2.5%

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

datafusion / vortex-file-compressed (1.033x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-file-compressed 32535134 35035721 0.93
fineweb_q01/datafusion:vortex-file-compressed 535630367 504466855 1.06
fineweb_q02/datafusion:vortex-file-compressed 526380130 472036679 1.12
fineweb_q03/datafusion:vortex-file-compressed 1376222346 1355941515 1.01
fineweb_q04/datafusion:vortex-file-compressed 1408311048 1374052182 1.02
fineweb_q05/datafusion:vortex-file-compressed 1354817200 1350336217 1.00
fineweb_q06/datafusion:vortex-file-compressed 1713149068 1470989647 1.16
fineweb_q07/datafusion:vortex-file-compressed 1403688082 1334457296 1.05
fineweb_q08/datafusion:vortex-file-compressed 497261438 522738956 0.95
datafusion / vortex-compact (0.996x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/datafusion:vortex-compact 38373532 41808187 0.92
fineweb_q01/datafusion:vortex-compact 667065455 556499549 1.20
fineweb_q02/datafusion:vortex-compact 559984069 565209749 0.99
fineweb_q03/datafusion:vortex-compact 1374812672 1338669030 1.03
fineweb_q04/datafusion:vortex-compact 1544187450 1626346356 0.95
fineweb_q05/datafusion:vortex-compact 1376559370 1364264545 1.01
fineweb_q06/datafusion:vortex-compact 1232344371 1237464630 1.00
fineweb_q07/datafusion:vortex-compact 1106074259 1118666927 0.99
fineweb_q08/datafusion:vortex-compact 365087613 401168945 0.91
datafusion / parquet (1.019x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/datafusion:parquet 1092041042 1116944194 0.98
fineweb_q01/datafusion:parquet 1838244324 1833424924 1.00
fineweb_q02/datafusion:parquet 1867300085 1740157761 1.07
fineweb_q03/datafusion:parquet 1837234522 1881941000 0.98
fineweb_q04/datafusion:parquet 1895249136 1705624977 1.11
fineweb_q05/datafusion:parquet 1829518912 1869903903 0.98
fineweb_q06/datafusion:parquet 1799879913 1865393029 0.96
fineweb_q07/datafusion:parquet 1762165263 1805960513 0.98
fineweb_q08/datafusion:parquet 2128941186 1896641065 1.12
duckdb / vortex-file-compressed (0.950x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-file-compressed 76011188 83221404 0.91
fineweb_q01/duckdb:vortex-file-compressed 588097619 633448316 0.93
fineweb_q02/duckdb:vortex-file-compressed 549936997 491213534 1.12
fineweb_q03/duckdb:vortex-file-compressed 1475544884 1590875233 0.93
fineweb_q04/duckdb:vortex-file-compressed 1509428317 1711386298 0.88
fineweb_q05/duckdb:vortex-file-compressed 1469052756 1513946999 0.97
fineweb_q06/duckdb:vortex-file-compressed 1673090644 1868578163 0.90
fineweb_q07/duckdb:vortex-file-compressed 1521431186 1575695516 0.97
fineweb_q08/duckdb:vortex-file-compressed 625451430 644066736 0.97
duckdb / vortex-compact (0.977x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/duckdb:vortex-compact 88423480 76317255 1.16
fineweb_q01/duckdb:vortex-compact 567697632 616887295 0.92
fineweb_q02/duckdb:vortex-compact 574877735 679843968 0.85
fineweb_q03/duckdb:vortex-compact 1615678148 1651119742 0.98
fineweb_q04/duckdb:vortex-compact 1797434977 1839896344 0.98
fineweb_q05/duckdb:vortex-compact 1576658549 1547877166 1.02
fineweb_q06/duckdb:vortex-compact 1569858141 1517025208 1.03
fineweb_q07/duckdb:vortex-compact 1373534318 1429630671 0.96
fineweb_q08/duckdb:vortex-compact 451256065 483554898 0.93
duckdb / parquet (0.946x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
fineweb_q00/duckdb:parquet 1076616295 1107535889 0.97
fineweb_q01/duckdb:parquet 1287508881 1413964734 0.91
fineweb_q02/duckdb:parquet 1308828057 1421787214 0.92
fineweb_q03/duckdb:parquet 3570306418 3818020890 0.94
fineweb_q04/duckdb:parquet 1902895584 2041570038 0.93
fineweb_q05/duckdb:parquet 2080168127 2265128761 0.92
fineweb_q06/duckdb:parquet 4363168109 4504732304 0.97
fineweb_q07/duckdb:parquet 2757577210 2747840755 1.00
fineweb_q08/duckdb:parquet 1094999852 1141734855 0.96
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-compact -8.2% -2.5% -5.9% +150.8% ➖ noise
0 datafusion:vortex-file-compressed -7.1% -2.5% -4.7% +104.0% ➖ noise
0 duckdb:vortex-compact +15.9% -2.5% +18.8% +64.9% ➖ noise
0 duckdb:vortex-file-compressed -8.7% -2.5% -6.3% +55.3% ➖ noise
1 datafusion:vortex-compact +19.9% -4.5% +25.5% +47.4% ➖ noise
1 datafusion:vortex-file-compressed +6.2% -4.5% +11.1% +48.2% ➖ noise
1 duckdb:vortex-compact -8.0% -4.5% -3.7% +30.0% ➖ noise
1 duckdb:vortex-file-compressed -7.2% -4.5% -2.8% +36.6% ➖ noise
2 datafusion:vortex-compact -0.9% -0.6% -0.3% +30.1% ➖ noise
2 datafusion:vortex-file-compressed +11.5% -0.6% +12.2% +45.8% ➖ noise
2 duckdb:vortex-compact -15.4% -0.6% -14.9% +30.0% ➖ noise
2 duckdb:vortex-file-compressed +12.0% -0.6% +12.6% +65.2% ➖ noise
3 datafusion:vortex-compact +2.7% -4.5% +7.5% +30.0% ➖ noise
3 datafusion:vortex-file-compressed +1.5% -4.5% +6.2% +30.0% ➖ noise
3 duckdb:vortex-compact -2.1% -4.5% +2.4% +30.0% ➖ noise
3 duckdb:vortex-file-compressed -7.2% -4.5% -2.9% +30.0% ➖ noise
4 datafusion:vortex-compact -5.1% +1.8% -6.7% +30.0% ➖ noise
4 datafusion:vortex-file-compressed +2.5% +1.8% +0.7% +30.0% ➖ noise
4 duckdb:vortex-compact -2.3% +1.8% -4.0% +30.0% ➖ noise
4 duckdb:vortex-file-compressed -11.8% +1.8% -13.3% +30.0% ➖ noise
5 datafusion:vortex-compact +0.9% -5.2% +6.4% +30.0% ➖ noise
5 datafusion:vortex-file-compressed +0.3% -5.2% +5.8% +30.0% ➖ noise
5 duckdb:vortex-compact +1.9% -5.2% +7.5% +30.0% ➖ noise
5 duckdb:vortex-file-compressed -3.0% -5.2% +2.4% +30.0% ➖ noise
6 datafusion:vortex-compact -0.4% -3.3% +3.0% +30.0% ➖ noise
6 datafusion:vortex-file-compressed +16.5% -3.3% +20.5% +30.0% ➖ noise
6 duckdb:vortex-compact +3.5% -3.3% +7.0% +30.0% ➖ noise
6 duckdb:vortex-file-compressed -10.5% -3.3% -7.4% +30.0% ➖ noise
7 datafusion:vortex-compact -1.1% -1.0% -0.1% +30.0% ➖ noise
7 datafusion:vortex-file-compressed +5.2% -1.0% +6.3% +30.0% ➖ noise
7 duckdb:vortex-compact -3.9% -1.0% -2.9% +30.0% ➖ noise
7 duckdb:vortex-file-compressed -3.4% -1.0% -2.4% +30.0% ➖ noise
8 datafusion:vortex-compact -9.0% +3.8% -12.3% +30.0% ➖ noise
8 datafusion:vortex-file-compressed -4.9% +3.8% -8.3% +30.0% ➖ noise
8 duckdb:vortex-compact -6.7% +3.8% -10.1% +30.0% ➖ noise
8 duckdb:vortex-file-compressed -2.9% +3.8% -6.4% +30.0% ➖ noise

@codspeed-hq
Copy link
Copy Markdown

codspeed-hq Bot commented Jun 1, 2026

Merging this PR will degrade performance by 11.37%

⚠️ Unknown Walltime execution environment detected

Using the Walltime instrument on standard Hosted Runners will lead to inconsistent data.

For the most accurate results, we recommend using CodSpeed Macro Runners: bare-metal machines fine-tuned for performance measurement consistency.

❌ 1 regressed benchmark
✅ 1274 untouched benchmarks
🆕 8 new benchmarks

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation baseline_lt[16, 65536] 217.4 µs 245.2 µs -11.37%
🆕 Simulation chain_fsst[FewLong] N/A 2 ms N/A
🆕 Simulation chain_view[FewLong] N/A 893.1 µs N/A
🆕 Simulation single_filter_fsst[ManyShort] N/A 2.2 ms N/A
🆕 Simulation single_filter_view[ManyShort] N/A 1.6 ms N/A
🆕 Simulation chain_fsst[ManyShort] N/A 17.8 ms N/A
🆕 Simulation chain_view[ManyShort] N/A 13.7 ms N/A
🆕 Simulation single_filter_fsst[FewLong] N/A 421.2 µs N/A
🆕 Simulation single_filter_view[FewLong] N/A 322.1 µs N/A

Tip

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


Comparing claude/fsstview-conversion-floor-kRAeg (d1418cf) with develop (f7294db)

Open in CodSpeed

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: Statistical and Population Genetics

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -1.5%
Engines: DuckDB No clear signal (-1.5%, low confidence)
Vortex (geomean): 1.031x ➖
Parquet (geomean): 1.046x ➖
Shifts: Parquet (control) +4.6% · Median polish +3.0%

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

duckdb / vortex-file-compressed (1.031x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-file-compressed 12437606 12296028 1.01
statpopgen_q01/duckdb:vortex-file-compressed 28390320 27333095 1.04
statpopgen_q02/duckdb:vortex-file-compressed 560990277 529192138 1.06
statpopgen_q03/duckdb:vortex-file-compressed 1086400601 1056202909 1.03
statpopgen_q04/duckdb:vortex-file-compressed 1128427287 1086759464 1.04
statpopgen_q05/duckdb:vortex-file-compressed 517426305 507510845 1.02
statpopgen_q06/duckdb:vortex-file-compressed 1576865849 1558785127 1.01
statpopgen_q07/duckdb:vortex-file-compressed 205478728 206175228 1.00
statpopgen_q08/duckdb:vortex-file-compressed 248329705 232304238 1.07
statpopgen_q09/duckdb:vortex-file-compressed 878848699 852792806 1.03
statpopgen_q10/duckdb:vortex-file-compressed 2649946774 2554201483 1.04
duckdb / vortex-compact (1.030x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
statpopgen_q00/duckdb:vortex-compact 12238652 11390116 1.07
statpopgen_q01/duckdb:vortex-compact 219884513 215613218 1.02
statpopgen_q02/duckdb:vortex-compact 594642752 560162624 1.06
statpopgen_q03/duckdb:vortex-compact 1176768231 1143958220 1.03
statpopgen_q04/duckdb:vortex-compact 1171443343 1167987673 1.00
statpopgen_q05/duckdb:vortex-compact 578177043 561074431 1.03
statpopgen_q06/duckdb:vortex-compact 1525788297 1497766722 1.02
statpopgen_q07/duckdb:vortex-compact 914968112 898269085 1.02
statpopgen_q08/duckdb:vortex-compact 945247282 924546022 1.02
statpopgen_q09/duckdb:vortex-compact 954628786 922782675 1.03
statpopgen_q10/duckdb:vortex-compact 2657984821 2597718169 1.02
duckdb / parquet (1.046x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
statpopgen_q00/duckdb:parquet 310242910 301233274 1.03
statpopgen_q01/duckdb:parquet 395255374 375115464 1.05
statpopgen_q02/duckdb:parquet 790541142 756253060 1.05
statpopgen_q03/duckdb:parquet 1214795351 1172223663 1.04
statpopgen_q04/duckdb:parquet 1211367673 1173525615 1.03
statpopgen_q05/duckdb:parquet 842251884 803467800 1.05
statpopgen_q06/duckdb:parquet 1447045002 1401231953 1.03
statpopgen_q07/duckdb:parquet 890624744 842350644 1.06
statpopgen_q08/duckdb:parquet 891611365 850399890 1.05
statpopgen_q09/duckdb:parquet 1054266314 994186367 1.06
statpopgen_q10/duckdb:parquet 2311115596 2179896187 1.06

No file size changes detected.

Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 duckdb:vortex-compact +7.4% +3.0% +4.3% +10.0% ➖ noise
0 duckdb:vortex-file-compressed +1.2% +3.0% -1.8% +10.0% ➖ noise
1 duckdb:vortex-compact +2.0% +5.4% -3.2% +11.5% ➖ noise
1 duckdb:vortex-file-compressed +3.9% +5.4% -1.4% +219.3% ➖ noise
2 duckdb:vortex-compact +6.2% +4.5% +1.6% +10.0% ➖ noise
2 duckdb:vortex-file-compressed +6.0% +4.5% +1.4% +10.0% ➖ noise
3 duckdb:vortex-compact +2.9% +3.6% -0.7% +10.0% ➖ noise
3 duckdb:vortex-file-compressed +2.9% +3.6% -0.7% +10.0% ➖ noise
4 duckdb:vortex-compact +0.3% +3.2% -2.8% +10.0% ➖ noise
4 duckdb:vortex-file-compressed +3.8% +3.2% +0.6% +10.0% ➖ noise
5 duckdb:vortex-compact +3.0% +4.8% -1.7% +10.0% ➖ noise
5 duckdb:vortex-file-compressed +2.0% +4.8% -2.7% +10.0% ➖ noise
6 duckdb:vortex-compact +1.9% +3.3% -1.4% +10.0% ➖ noise
6 duckdb:vortex-file-compressed +1.2% +3.3% -2.0% +10.0% ➖ noise
7 duckdb:vortex-compact +1.9% +5.7% -3.7% +10.0% ➖ noise
7 duckdb:vortex-file-compressed -0.3% +5.7% -5.7% +10.0% ➖ noise
8 duckdb:vortex-compact +2.2% +4.8% -2.5% +10.0% ➖ noise
8 duckdb:vortex-file-compressed +6.9% +4.8% +2.0% +10.0% ➖ noise
9 duckdb:vortex-compact +3.5% +6.0% -2.4% +10.0% ➖ noise
9 duckdb:vortex-file-compressed +3.1% +6.0% -2.8% +10.0% ➖ noise
10 duckdb:vortex-compact +2.3% +6.0% -3.5% +10.0% ➖ noise
10 duckdb:vortex-file-compressed +3.7% +6.0% -2.1% +10.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: Random Access

Vortex (geomean): 0.947x ➖
Parquet (geomean): 0.982x ➖

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

unknown / unknown (1.000x ➖, 6↑ 2↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
random-access/feature-vectors/correlated/lance-tokio-local-disk 🚨 1762400 382533 4.61
random-access/feature-vectors/correlated/lance-tokio-local-disk-footer 1052561 1065155 0.99
random-access/feature-vectors/correlated/parquet-tokio-local-disk 8341365912 8370022819 1.00
random-access/feature-vectors/correlated/parquet-tokio-local-disk-footer 8355323679 8255889916 1.01
random-access/feature-vectors/correlated/vortex-tokio-local-disk 🚨 7919700 5158673 1.54
random-access/feature-vectors/correlated/vortex-tokio-local-disk-footer 🚀 3299934 3930921 0.84
random-access/feature-vectors/uniform/lance-tokio-local-disk 1216282 1203972 1.01
random-access/feature-vectors/uniform/lance-tokio-local-disk-footer 1874362 1879411 1.00
random-access/feature-vectors/uniform/parquet-tokio-local-disk 8297698329 8303997115 1.00
random-access/feature-vectors/uniform/parquet-tokio-local-disk-footer 8267481960 8330727325 0.99
random-access/feature-vectors/uniform/vortex-tokio-local-disk 7048546 7313437 0.96
random-access/feature-vectors/uniform/vortex-tokio-local-disk-footer 6921612 7088830 0.98
random-access/lance-tokio-local-disk 641765 654446 0.98
random-access/lance-tokio-local-disk-footer 1309328 1316827 0.99
random-access/nested-lists/correlated/lance-tokio-local-disk 234295 249204 0.94
random-access/nested-lists/correlated/lance-tokio-local-disk-footer 592157 599361 0.99
random-access/nested-lists/correlated/parquet-tokio-local-disk 130017995 130457665 1.00
random-access/nested-lists/correlated/parquet-tokio-local-disk-footer 129671125 131784196 0.98
random-access/nested-lists/correlated/vortex-tokio-local-disk 613607 642694 0.95
random-access/nested-lists/correlated/vortex-tokio-local-disk-footer 🚀 585953 672664 0.87
random-access/nested-lists/uniform/lance-tokio-local-disk 1024569 1035720 0.99
random-access/nested-lists/uniform/lance-tokio-local-disk-footer 1384922 1402157 0.99
random-access/nested-lists/uniform/parquet-tokio-local-disk 128507588 132750102 0.97
random-access/nested-lists/uniform/parquet-tokio-local-disk-footer 128288190 132543009 0.97
random-access/nested-lists/uniform/vortex-tokio-local-disk 2134420 2203588 0.97
random-access/nested-lists/uniform/vortex-tokio-local-disk-footer 2118549 2189162 0.97
random-access/nested-structs/correlated/lance-tokio-local-disk 372983 377969 0.99
random-access/nested-structs/correlated/lance-tokio-local-disk-footer 556248 576911 0.96
random-access/nested-structs/correlated/parquet-tokio-local-disk 22144969 22943084 0.97
random-access/nested-structs/correlated/parquet-tokio-local-disk-footer 22164141 22703485 0.98
random-access/nested-structs/correlated/vortex-tokio-local-disk 739625 773147 0.96
random-access/nested-structs/correlated/vortex-tokio-local-disk-footer 767087 800347 0.96
random-access/nested-structs/uniform/lance-tokio-local-disk 2689542 2600028 1.03
random-access/nested-structs/uniform/lance-tokio-local-disk-footer 2828716 2767812 1.02
random-access/nested-structs/uniform/parquet-tokio-local-disk 22112173 22515666 0.98
random-access/nested-structs/uniform/parquet-tokio-local-disk-footer 22114709 22912290 0.97
random-access/nested-structs/uniform/vortex-tokio-local-disk 1579556 1664544 0.95
random-access/nested-structs/uniform/vortex-tokio-local-disk-footer 1611521 1697239 0.95
random-access/parquet-tokio-local-disk 164039935 167046384 0.98
random-access/parquet-tokio-local-disk-footer 164251256 167662283 0.98
random-access/taxi/correlated/lance-tokio-local-disk 943219 960748 0.98
random-access/taxi/correlated/lance-tokio-local-disk-footer 1810338 1888802 0.96
random-access/taxi/correlated/parquet-tokio-local-disk 246528502 252421902 0.98
random-access/taxi/correlated/parquet-tokio-local-disk-footer 247174180 252857079 0.98
random-access/taxi/correlated/vortex-tokio-local-disk 🚀 1484957 1847794 0.80
random-access/taxi/correlated/vortex-tokio-local-disk-footer 🚀 1653901 1879450 0.88
random-access/taxi/uniform/lance-tokio-local-disk 9374762 9440362 0.99
random-access/taxi/uniform/lance-tokio-local-disk-footer 9920390 10027889 0.99
random-access/taxi/uniform/parquet-tokio-local-disk 260183823 266524064 0.98
random-access/taxi/uniform/parquet-tokio-local-disk-footer 262131899 265111260 0.99
random-access/taxi/uniform/vortex-tokio-local-disk 4506322 4860994 0.93
random-access/taxi/uniform/vortex-tokio-local-disk-footer 4457774 4735818 0.94
random-access/vortex-tokio-local-disk 🚀 1133552 1291835 0.88
random-access/vortex-tokio-local-disk-footer 🚀 1159231 1318437 0.88

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: TPC-H SF=10 on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: +2.4%
Engines: DataFusion No clear signal (+1.1%, low confidence) · DuckDB No clear signal (+3.7%, environment too noisy confidence)
Vortex (geomean): 0.990x ➖
Parquet (geomean): 0.964x ➖
Shifts: Parquet (control) -3.6% · Median polish -1.9%

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

datafusion / vortex-file-compressed (0.983x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 401239529 395510078 1.01
tpch_q02/datafusion:vortex-file-compressed 110722535 114036747 0.97
tpch_q03/datafusion:vortex-file-compressed 206305098 218100779 0.95
tpch_q04/datafusion:vortex-file-compressed 115466169 116264519 0.99
tpch_q05/datafusion:vortex-file-compressed 381640729 392857598 0.97
tpch_q06/datafusion:vortex-file-compressed 39625818 37322399 1.06
tpch_q07/datafusion:vortex-file-compressed 507051249 519566040 0.98
tpch_q08/datafusion:vortex-file-compressed 375421512 384091626 0.98
tpch_q09/datafusion:vortex-file-compressed 650383168 671039759 0.97
tpch_q10/datafusion:vortex-file-compressed 229140813 237003437 0.97
tpch_q11/datafusion:vortex-file-compressed 85824086 88745203 0.97
tpch_q12/datafusion:vortex-file-compressed 119548739 119929715 1.00
tpch_q13/datafusion:vortex-file-compressed 218115419 224074283 0.97
tpch_q14/datafusion:vortex-file-compressed 55047497 53638473 1.03
tpch_q15/datafusion:vortex-file-compressed 100419552 104257705 0.96
tpch_q16/datafusion:vortex-file-compressed 77186378 80780752 0.96
tpch_q17/datafusion:vortex-file-compressed 637838361 662242266 0.96
tpch_q18/datafusion:vortex-file-compressed 872501781 893603470 0.98
tpch_q19/datafusion:vortex-file-compressed 83355488 76873465 1.08
tpch_q20/datafusion:vortex-file-compressed 164028217 172425614 0.95
tpch_q21/datafusion:vortex-file-compressed 663383577 689375578 0.96
tpch_q22/datafusion:vortex-file-compressed 67276698 68653067 0.98
datafusion / vortex-compact (0.974x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 437057840 449041111 0.97
tpch_q02/datafusion:vortex-compact 116347507 123536160 0.94
tpch_q03/datafusion:vortex-compact 215779160 222214836 0.97
tpch_q04/datafusion:vortex-compact 121761752 124724492 0.98
tpch_q05/datafusion:vortex-compact 384284506 396958583 0.97
tpch_q06/datafusion:vortex-compact 61175844 61118746 1.00
tpch_q07/datafusion:vortex-compact 523957009 536396911 0.98
tpch_q08/datafusion:vortex-compact 378402406 385977596 0.98
tpch_q09/datafusion:vortex-compact 651486617 677977414 0.96
tpch_q10/datafusion:vortex-compact 248728774 259299145 0.96
tpch_q11/datafusion:vortex-compact 87780063 90792714 0.97
tpch_q12/datafusion:vortex-compact 162771412 165300159 0.98
tpch_q13/datafusion:vortex-compact 266571113 273080191 0.98
tpch_q14/datafusion:vortex-compact 71461046 72660919 0.98
tpch_q15/datafusion:vortex-compact 158876124 158093443 1.00
tpch_q16/datafusion:vortex-compact 81443357 82943710 0.98
tpch_q17/datafusion:vortex-compact 649216137 666028765 0.97
tpch_q18/datafusion:vortex-compact 872927469 897805602 0.97
tpch_q19/datafusion:vortex-compact 128308911 129567642 0.99
tpch_q20/datafusion:vortex-compact 192833532 193567085 1.00
tpch_q21/datafusion:vortex-compact 668140154 740918016 0.90
tpch_q22/datafusion:vortex-compact 75166947 75888620 0.99
datafusion / parquet (0.964x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 465000971 488553077 0.95
tpch_q02/datafusion:parquet 173035829 182494654 0.95
tpch_q03/datafusion:parquet 286664611 297413823 0.96
tpch_q04/datafusion:parquet 126157279 135047066 0.93
tpch_q05/datafusion:parquet 438908450 459429104 0.96
tpch_q06/datafusion:parquet 126250458 127465717 0.99
tpch_q07/datafusion:parquet 602723343 649643215 0.93
tpch_q08/datafusion:parquet 467137180 505749235 0.92
tpch_q09/datafusion:parquet 757607696 800126234 0.95
tpch_q10/datafusion:parquet 505268845 524492559 0.96
tpch_q11/datafusion:parquet 118801893 123398890 0.96
tpch_q12/datafusion:parquet 206537636 212378117 0.97
tpch_q13/datafusion:parquet 333149384 349700832 0.95
tpch_q14/datafusion:parquet 163413042 164209528 1.00
tpch_q15/datafusion:parquet 249620850 258139954 0.97
tpch_q16/datafusion:parquet 130974393 131241903 1.00
tpch_q17/datafusion:parquet 682404267 707826547 0.96
tpch_q18/datafusion:parquet 911227862 969691930 0.94
tpch_q19/datafusion:parquet 260987343 256775329 1.02
tpch_q20/datafusion:parquet 296583944 306199500 0.97
tpch_q21/datafusion:parquet 700584447 719341489 0.97
tpch_q22/datafusion:parquet 221548265 222288128 1.00
datafusion / arrow (0.967x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:arrow 591181033 618406294 0.96
tpch_q02/datafusion:arrow 166551596 169570432 0.98
tpch_q03/datafusion:arrow 457032378 486529675 0.94
tpch_q04/datafusion:arrow 335806430 347400663 0.97
tpch_q05/datafusion:arrow 930392865 966007043 0.96
tpch_q06/datafusion:arrow 278808046 287002060 0.97
tpch_q07/datafusion:arrow 1149404515 1199673313 0.96
tpch_q08/datafusion:arrow 1114964156 1176219674 0.95
tpch_q09/datafusion:arrow 1333655287 1387789931 0.96
tpch_q10/datafusion:arrow 584232877 608448100 0.96
tpch_q11/datafusion:arrow 139922227 142184633 0.98
tpch_q12/datafusion:arrow 792658393 805650934 0.98
tpch_q13/datafusion:arrow 502357915 514576158 0.98
tpch_q14/datafusion:arrow 318084393 335080033 0.95
tpch_q15/datafusion:arrow 684382342 716402966 0.96
tpch_q16/datafusion:arrow 108123757 108698652 0.99
tpch_q17/datafusion:arrow 1340964088 1388481973 0.97
tpch_q18/datafusion:arrow 1934400247 1962697852 0.99
tpch_q19/datafusion:arrow 484530108 493844532 0.98
tpch_q20/datafusion:arrow 485935028 505265695 0.96
tpch_q21/datafusion:arrow 2984869812 3086997720 0.97
tpch_q22/datafusion:arrow 133843572 138795857 0.96
duckdb / vortex-file-compressed (1.001x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 167862086 168431348 1.00
tpch_q02/duckdb:vortex-file-compressed 50564287 50909872 0.99
tpch_q03/duckdb:vortex-file-compressed 121223094 122644718 0.99
tpch_q04/duckdb:vortex-file-compressed 157569815 157719625 1.00
tpch_q05/duckdb:vortex-file-compressed 137258538 137261687 1.00
tpch_q06/duckdb:vortex-file-compressed 35498851 33502019 1.06
tpch_q07/duckdb:vortex-file-compressed 130825298 129475717 1.01
tpch_q08/duckdb:vortex-file-compressed 166368951 169123373 0.98
tpch_q09/duckdb:vortex-file-compressed 387974658 387187224 1.00
tpch_q10/duckdb:vortex-file-compressed 191782519 192271360 1.00
tpch_q11/duckdb:vortex-file-compressed 31914542 32339176 0.99
tpch_q12/duckdb:vortex-file-compressed 101159459 99609258 1.02
tpch_q13/duckdb:vortex-file-compressed 269539367 268704447 1.00
tpch_q14/duckdb:vortex-file-compressed 53507116 53254385 1.00
tpch_q15/duckdb:vortex-file-compressed 88159433 87098794 1.01
tpch_q16/duckdb:vortex-file-compressed 77181043 78111362 0.99
tpch_q17/duckdb:vortex-file-compressed 91687858 92449909 0.99
tpch_q18/duckdb:vortex-file-compressed 285358082 284031935 1.00
tpch_q19/duckdb:vortex-file-compressed 78887829 78285239 1.01
tpch_q20/duckdb:vortex-file-compressed 140299450 140935854 1.00
tpch_q21/duckdb:vortex-file-compressed 491138165 492598332 1.00
tpch_q22/duckdb:vortex-file-compressed 63655081 64229524 0.99
duckdb / vortex-compact (1.000x ➖, 0↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 233727492 230431117 1.01
tpch_q02/duckdb:vortex-compact 🚨 62611882 56302757 1.11
tpch_q03/duckdb:vortex-compact 135689370 136614505 0.99
tpch_q04/duckdb:vortex-compact 170525402 171347741 1.00
tpch_q05/duckdb:vortex-compact 165181587 164497588 1.00
tpch_q06/duckdb:vortex-compact 56062581 57769325 0.97
tpch_q07/duckdb:vortex-compact 172427082 171429492 1.01
tpch_q08/duckdb:vortex-compact 186110671 188205197 0.99
tpch_q09/duckdb:vortex-compact 430304998 431248715 1.00
tpch_q10/duckdb:vortex-compact 221193960 217851207 1.02
tpch_q11/duckdb:vortex-compact 38303402 38902932 0.98
tpch_q12/duckdb:vortex-compact 162441044 164001146 0.99
tpch_q13/duckdb:vortex-compact 325717657 325678232 1.00
tpch_q14/duckdb:vortex-compact 71750054 71882179 1.00
tpch_q15/duckdb:vortex-compact 114896689 115419267 1.00
tpch_q16/duckdb:vortex-compact 80548559 82044445 0.98
tpch_q17/duckdb:vortex-compact 105349441 106873515 0.99
tpch_q18/duckdb:vortex-compact 288060538 288227302 1.00
tpch_q19/duckdb:vortex-compact 95932224 97086730 0.99
tpch_q20/duckdb:vortex-compact 178639524 178737639 1.00
tpch_q21/duckdb:vortex-compact 509456185 513995279 0.99
tpch_q22/duckdb:vortex-compact 71126747 71494222 0.99
duckdb / parquet (0.964x ➖, 4↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 263636114 280624474 0.94
tpch_q02/duckdb:parquet 🚀 95305567 110734460 0.86
tpch_q03/duckdb:parquet 🚀 210242197 236167074 0.89
tpch_q04/duckdb:parquet 🚀 136626906 157869784 0.87
tpch_q05/duckdb:parquet 🚀 220579340 253454086 0.87
tpch_q06/duckdb:parquet 73094877 80359852 0.91
tpch_q07/duckdb:parquet 186277676 201948960 0.92
tpch_q08/duckdb:parquet 261769546 265024745 0.99
tpch_q09/duckdb:parquet 482943295 471938283 1.02
tpch_q10/duckdb:parquet 619977413 620262105 1.00
tpch_q11/duckdb:parquet 61672732 62636930 0.98
tpch_q12/duckdb:parquet 130519408 129419945 1.01
tpch_q13/duckdb:parquet 438376250 432072193 1.01
tpch_q14/duckdb:parquet 179905313 181301772 0.99
tpch_q15/duckdb:parquet 102619089 104425637 0.98
tpch_q16/duckdb:parquet 162034921 162679416 1.00
tpch_q17/duckdb:parquet 181506071 180455618 1.01
tpch_q18/duckdb:parquet 362949039 363167632 1.00
tpch_q19/duckdb:parquet 288170059 285548888 1.01
tpch_q20/duckdb:parquet 229067112 230641297 0.99
tpch_q21/duckdb:parquet 555444501 565449060 0.98
tpch_q22/duckdb:parquet 291833312 293393742 0.99
duckdb / duckdb (0.995x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:duckdb 120448992 119719919 1.01
tpch_q02/duckdb:duckdb 48011198 51805971 0.93
tpch_q03/duckdb:duckdb 103018715 105052683 0.98
tpch_q04/duckdb:duckdb 137399604 137877400 1.00
tpch_q05/duckdb:duckdb 118905900 118957155 1.00
tpch_q06/duckdb:duckdb 44584302 44659980 1.00
tpch_q07/duckdb:duckdb 90160405 90712176 0.99
tpch_q08/duckdb:duckdb 117613865 117552190 1.00
tpch_q09/duckdb:duckdb 278207906 280160360 0.99
tpch_q10/duckdb:duckdb 213604170 210013420 1.02
tpch_q11/duckdb:duckdb 19199662 19329930 0.99
tpch_q12/duckdb:duckdb 91251756 89669307 1.02
tpch_q13/duckdb:duckdb 226576189 230367985 0.98
tpch_q14/duckdb:duckdb 76962315 77719059 0.99
tpch_q15/duckdb:duckdb 81999430 82489739 0.99
tpch_q16/duckdb:duckdb 75645324 75561854 1.00
tpch_q17/duckdb:duckdb 87746243 87577925 1.00
tpch_q18/duckdb:duckdb 233359785 233687678 1.00
tpch_q19/duckdb:duckdb 124051744 124190063 1.00
tpch_q20/duckdb:duckdb 117440729 117199073 1.00
tpch_q21/duckdb:duckdb 297866499 296757127 1.00
tpch_q22/duckdb:duckdb 65917499 65647720 1.00

No file size changes detected.

Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:arrow -4.4% -5.4% +1.1% +10.0% ➖ noise
1 datafusion:vortex-compact -2.7% -5.4% +2.9% +10.0% ➖ noise
1 datafusion:vortex-file-compressed +1.4% -5.4% +7.3% +10.0% ➖ noise
1 duckdb:duckdb +0.6% -5.4% +6.4% +10.0% ➖ noise
1 duckdb:vortex-compact +1.4% -5.4% +7.3% +10.0% ➖ noise
1 duckdb:vortex-file-compressed -0.3% -5.4% +5.4% +10.0% ➖ noise
2 datafusion:arrow -1.8% -9.7% +8.7% +10.0% ➖ noise
2 datafusion:vortex-compact -5.8% -9.7% +4.3% +10.0% ➖ noise
2 datafusion:vortex-file-compressed -2.9% -9.7% +7.5% +10.0% ➖ noise
2 duckdb:duckdb -7.3% -9.7% +2.6% +10.0% ➖ noise
2 duckdb:vortex-compact +11.2% -9.7% +23.1% +10.0% 🚨 regression
2 duckdb:vortex-file-compressed -0.7% -9.7% +9.9% +10.0% ➖ noise
3 datafusion:arrow -6.1% -7.4% +1.4% +10.0% ➖ noise
3 datafusion:vortex-compact -2.9% -7.4% +4.8% +10.0% ➖ noise
3 datafusion:vortex-file-compressed -5.4% -7.4% +2.1% +10.0% ➖ noise
3 duckdb:duckdb -1.9% -7.4% +5.9% +10.0% ➖ noise
3 duckdb:vortex-compact -0.7% -7.4% +7.2% +10.0% ➖ noise
3 duckdb:vortex-file-compressed -1.2% -7.4% +6.7% +10.0% ➖ noise
4 datafusion:arrow -3.3% -10.1% +7.5% +10.0% ➖ noise
4 datafusion:vortex-compact -2.4% -10.1% +8.6% +10.0% ➖ noise
4 datafusion:vortex-file-compressed -0.7% -10.1% +10.5% +10.0% 🚨 regression
4 duckdb:duckdb -0.3% -10.1% +10.8% +10.0% 🚨 regression
4 duckdb:vortex-compact -0.5% -10.1% +10.7% +10.0% 🚨 regression
4 duckdb:vortex-file-compressed -0.1% -10.1% +11.1% +10.0% 🚨 regression
5 datafusion:arrow -3.7% -8.8% +5.6% +10.0% ➖ noise
5 datafusion:vortex-compact -3.2% -8.8% +6.2% +10.0% ➖ noise
5 datafusion:vortex-file-compressed -2.9% -8.8% +6.5% +10.0% ➖ noise
5 duckdb:duckdb -0.0% -8.8% +9.6% +10.0% ➖ noise
5 duckdb:vortex-compact +0.4% -8.8% +10.1% +10.0% 🚨 regression
5 duckdb:vortex-file-compressed -0.0% -8.8% +9.7% +10.0% ➖ noise
6 datafusion:arrow -2.9% -5.1% +2.3% +10.0% ➖ noise
6 datafusion:vortex-compact +0.1% -5.1% +5.5% +10.0% ➖ noise
6 datafusion:vortex-file-compressed +6.2% -5.1% +11.9% +10.0% 🚨 regression
6 duckdb:duckdb -0.2% -5.1% +5.2% +10.0% ➖ noise
6 duckdb:vortex-compact -3.0% -5.1% +2.2% +11.1% ➖ noise
6 duckdb:vortex-file-compressed +6.0% -5.1% +11.6% +10.9% 🚨 regression
7 datafusion:arrow -4.2% -7.5% +3.6% +10.0% ➖ noise
7 datafusion:vortex-compact -2.3% -7.5% +5.6% +10.0% ➖ noise
7 datafusion:vortex-file-compressed -2.4% -7.5% +5.5% +10.0% ➖ noise
7 duckdb:duckdb -0.6% -7.5% +7.4% +10.0% ➖ noise
7 duckdb:vortex-compact +0.6% -7.5% +8.7% +10.0% ➖ noise
7 duckdb:vortex-file-compressed +1.0% -7.5% +9.2% +10.0% ➖ noise
8 datafusion:arrow -5.2% -4.5% -0.8% +10.0% ➖ noise
8 datafusion:vortex-compact -2.0% -4.5% +2.6% +10.0% ➖ noise
8 datafusion:vortex-file-compressed -2.3% -4.5% +2.3% +10.0% ➖ noise
8 duckdb:duckdb +0.1% -4.5% +4.8% +10.0% ➖ noise
8 duckdb:vortex-compact -1.1% -4.5% +3.5% +10.0% ➖ noise
8 duckdb:vortex-file-compressed -1.6% -4.5% +3.0% +10.0% ➖ noise
9 datafusion:arrow -3.9% -1.6% -2.4% +10.0% ➖ noise
9 datafusion:vortex-compact -3.9% -1.6% -2.4% +10.0% ➖ noise
9 datafusion:vortex-file-compressed -3.1% -1.6% -1.5% +10.0% ➖ noise
9 duckdb:duckdb -0.7% -1.6% +0.9% +10.0% ➖ noise
9 duckdb:vortex-compact -0.2% -1.6% +1.4% +10.0% ➖ noise
9 duckdb:vortex-file-compressed +0.2% -1.6% +1.8% +10.0% ➖ noise
10 datafusion:arrow -4.0% -1.9% -2.1% +10.0% ➖ noise
10 datafusion:vortex-compact -4.1% -1.9% -2.2% +10.0% ➖ noise
10 datafusion:vortex-file-compressed -3.3% -1.9% -1.5% +10.0% ➖ noise
10 duckdb:duckdb +1.7% -1.9% +3.7% +10.0% ➖ noise
10 duckdb:vortex-compact +1.5% -1.9% +3.5% +10.0% ➖ noise
10 duckdb:vortex-file-compressed -0.3% -1.9% +1.6% +10.0% ➖ noise
11 datafusion:arrow -1.6% -2.6% +1.1% +12.2% ➖ noise
11 datafusion:vortex-compact -3.3% -2.6% -0.7% +10.0% ➖ noise
11 datafusion:vortex-file-compressed -3.3% -2.6% -0.7% +10.0% ➖ noise
11 duckdb:duckdb -0.7% -2.6% +2.0% +10.0% ➖ noise
11 duckdb:vortex-compact -1.5% -2.6% +1.1% +18.2% ➖ noise
11 duckdb:vortex-file-compressed -1.3% -2.6% +1.4% +10.0% ➖ noise
12 datafusion:arrow -1.6% -1.0% -0.7% +32.4% ➖ noise
12 datafusion:vortex-compact -1.5% -1.0% -0.6% +10.0% ➖ noise
12 datafusion:vortex-file-compressed -0.3% -1.0% +0.7% +10.0% ➖ noise
12 duckdb:duckdb +1.8% -1.0% +2.8% +10.0% ➖ noise
12 duckdb:vortex-compact -1.0% -1.0% +0.0% +10.0% ➖ noise
12 duckdb:vortex-file-compressed +1.6% -1.0% +2.5% +10.0% ➖ noise
13 datafusion:arrow -2.4% -1.7% -0.7% +10.0% ➖ noise
13 datafusion:vortex-compact -2.4% -1.7% -0.7% +10.0% ➖ noise
13 datafusion:vortex-file-compressed -2.7% -1.7% -1.0% +10.0% ➖ noise
13 duckdb:duckdb -1.6% -1.7% +0.0% +10.0% ➖ noise
13 duckdb:vortex-compact +0.0% -1.7% +1.7% +10.0% ➖ noise
13 duckdb:vortex-file-compressed +0.3% -1.7% +2.0% +10.0% ➖ noise
14 datafusion:arrow -5.1% -0.6% -4.5% +10.0% ➖ noise
14 datafusion:vortex-compact -1.7% -0.6% -1.0% +10.0% ➖ noise
14 datafusion:vortex-file-compressed +2.6% -0.6% +3.3% +10.0% ➖ noise
14 duckdb:duckdb -1.0% -0.6% -0.3% +10.0% ➖ noise
14 duckdb:vortex-compact -0.2% -0.6% +0.4% +10.0% ➖ noise
14 duckdb:vortex-file-compressed +0.5% -0.6% +1.1% +10.0% ➖ noise
15 datafusion:arrow -4.5% -2.5% -2.0% +10.0% ➖ noise
15 datafusion:vortex-compact +0.5% -2.5% +3.1% +10.0% ➖ noise
15 datafusion:vortex-file-compressed -3.7% -2.5% -1.2% +10.0% ➖ noise
15 duckdb:duckdb -0.6% -2.5% +2.0% +10.0% ➖ noise
15 duckdb:vortex-compact -0.5% -2.5% +2.1% +10.0% ➖ noise
15 duckdb:vortex-file-compressed +1.2% -2.5% +3.8% +10.0% ➖ noise
16 datafusion:arrow -0.5% -0.3% -0.2% +10.0% ➖ noise
16 datafusion:vortex-compact -1.8% -0.3% -1.5% +10.0% ➖ noise
16 datafusion:vortex-file-compressed -4.4% -0.3% -4.2% +10.0% ➖ noise
16 duckdb:duckdb +0.1% -0.3% +0.4% +10.0% ➖ noise
16 duckdb:vortex-compact -1.8% -0.3% -1.5% +10.0% ➖ noise
16 duckdb:vortex-file-compressed -1.2% -0.3% -0.9% +10.0% ➖ noise
17 datafusion:arrow -3.4% -1.5% -1.9% +10.0% ➖ noise
17 datafusion:vortex-compact -2.5% -1.5% -1.0% +10.0% ➖ noise
17 datafusion:vortex-file-compressed -3.7% -1.5% -2.2% +10.0% ➖ noise
17 duckdb:duckdb +0.2% -1.5% +1.7% +10.0% ➖ noise
17 duckdb:vortex-compact -1.4% -1.5% +0.1% +10.0% ➖ noise
17 duckdb:vortex-file-compressed -0.8% -1.5% +0.7% +10.0% ➖ noise
18 datafusion:arrow -1.4% -3.1% +1.7% +10.0% ➖ noise
18 datafusion:vortex-compact -2.8% -3.1% +0.3% +10.0% ➖ noise
18 datafusion:vortex-file-compressed -2.4% -3.1% +0.8% +10.0% ➖ noise
18 duckdb:duckdb -0.1% -3.1% +3.0% +10.0% ➖ noise
18 duckdb:vortex-compact -0.1% -3.1% +3.1% +10.0% ➖ noise
18 duckdb:vortex-file-compressed +0.5% -3.1% +3.7% +10.0% ➖ noise
19 datafusion:arrow -1.9% +1.3% -3.1% +10.0% ➖ noise
19 datafusion:vortex-compact -1.0% +1.3% -2.2% +10.0% ➖ noise
19 datafusion:vortex-file-compressed +8.4% +1.3% +7.1% +10.0% ➖ noise
19 duckdb:duckdb -0.1% +1.3% -1.4% +10.0% ➖ noise
19 duckdb:vortex-compact -1.2% +1.3% -2.4% +10.0% ➖ noise
19 duckdb:vortex-file-compressed +0.8% +1.3% -0.5% +10.0% ➖ noise
20 datafusion:arrow -3.8% -1.9% -1.9% +10.0% ➖ noise
20 datafusion:vortex-compact -0.4% -1.9% +1.6% +10.0% ➖ noise
20 datafusion:vortex-file-compressed -4.9% -1.9% -3.0% +10.0% ➖ noise
20 duckdb:duckdb +0.2% -1.9% +2.2% +10.0% ➖ noise
20 duckdb:vortex-compact -0.1% -1.9% +1.9% +10.0% ➖ noise
20 duckdb:vortex-file-compressed -0.5% -1.9% +1.5% +10.0% ➖ noise
21 datafusion:arrow -3.3% -2.2% -1.1% +10.0% ➖ noise
21 datafusion:vortex-compact -9.8% -2.2% -7.8% +10.0% ➖ noise
21 datafusion:vortex-file-compressed -3.8% -2.2% -1.6% +10.0% ➖ noise
21 duckdb:duckdb +0.4% -2.2% +2.6% +10.0% ➖ noise
21 duckdb:vortex-compact -0.9% -2.2% +1.3% +10.0% ➖ noise
21 duckdb:vortex-file-compressed -0.3% -2.2% +1.9% +10.0% ➖ noise
22 datafusion:arrow -3.6% -0.4% -3.1% +10.0% ➖ noise
22 datafusion:vortex-compact -1.0% -0.4% -0.5% +10.0% ➖ noise
22 datafusion:vortex-file-compressed -2.0% -0.4% -1.6% +10.0% ➖ noise
22 duckdb:duckdb +0.4% -0.4% +0.8% +10.0% ➖ noise
22 duckdb:vortex-compact -0.5% -0.4% -0.1% +10.0% ➖ noise
22 duckdb:vortex-file-compressed -0.9% -0.4% -0.5% +10.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: Clickbench on NVME

Verdict: No clear signal (low confidence)
Attributed Vortex impact: -2.9%
Engines: DataFusion No clear signal (-1.9%, low confidence) · DuckDB No clear signal (-3.2%, low confidence)
Vortex (geomean): 0.982x ➖
Parquet (geomean): 1.005x ➖
Shifts: Parquet (control) +0.5% · Median polish -0.3%

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

datafusion / vortex-file-compressed (0.991x ➖, 1↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
clickbench_q00/datafusion:vortex-file-compressed 1621563 1616057 1.00
clickbench_q01/datafusion:vortex-file-compressed 18230796 18478306 0.99
clickbench_q02/datafusion:vortex-file-compressed 38694506 37504860 1.03
clickbench_q03/datafusion:vortex-file-compressed 45837629 46195861 0.99
clickbench_q04/datafusion:vortex-file-compressed 282558165 288307083 0.98
clickbench_q05/datafusion:vortex-file-compressed 309742483 315635959 0.98
clickbench_q06/datafusion:vortex-file-compressed 1664974 1656446 1.01
clickbench_q07/datafusion:vortex-file-compressed 20913537 22713143 0.92
clickbench_q08/datafusion:vortex-file-compressed 351077266 356238520 0.99
clickbench_q09/datafusion:vortex-file-compressed 584341150 560674032 1.04
clickbench_q10/datafusion:vortex-file-compressed 76436267 77381399 0.99
clickbench_q11/datafusion:vortex-file-compressed 82723535 86508567 0.96
clickbench_q12/datafusion:vortex-file-compressed 270392871 280096746 0.97
clickbench_q13/datafusion:vortex-file-compressed 419483602 425073859 0.99
clickbench_q14/datafusion:vortex-file-compressed 258425807 253397937 1.02
clickbench_q15/datafusion:vortex-file-compressed 336159860 327067019 1.03
clickbench_q16/datafusion:vortex-file-compressed 656813625 670696659 0.98
clickbench_q17/datafusion:vortex-file-compressed 648511543 658485934 0.98
clickbench_q18/datafusion:vortex-file-compressed 1368390968 1360596370 1.01
clickbench_q19/datafusion:vortex-file-compressed 31498326 32539019 0.97
clickbench_q20/datafusion:vortex-file-compressed 356381339 352990229 1.01
clickbench_q21/datafusion:vortex-file-compressed 381175314 382938834 1.00
clickbench_q22/datafusion:vortex-file-compressed 461761271 456170741 1.01
clickbench_q23/datafusion:vortex-file-compressed 655578831 655119846 1.00
clickbench_q24/datafusion:vortex-file-compressed 🚀 48380782 54397007 0.89
clickbench_q25/datafusion:vortex-file-compressed 78124441 74864544 1.04
clickbench_q26/datafusion:vortex-file-compressed 46527164 45661962 1.02
clickbench_q27/datafusion:vortex-file-compressed 736429259 742563939 0.99
clickbench_q28/datafusion:vortex-file-compressed 6674824725 6830632946 0.98
clickbench_q29/datafusion:vortex-file-compressed 235962120 244554932 0.96
clickbench_q30/datafusion:vortex-file-compressed 227547776 227843274 1.00
clickbench_q31/datafusion:vortex-file-compressed 259175394 263939087 0.98
clickbench_q32/datafusion:vortex-file-compressed 1142458418 1120702778 1.02
clickbench_q33/datafusion:vortex-file-compressed 1344715910 1380372974 0.97
clickbench_q34/datafusion:vortex-file-compressed 1378505437 1354968310 1.02
clickbench_q35/datafusion:vortex-file-compressed 470544040 466108570 1.01
clickbench_q36/datafusion:vortex-file-compressed 68968058 72015473 0.96
clickbench_q37/datafusion:vortex-file-compressed 35065311 34663083 1.01
clickbench_q38/datafusion:vortex-file-compressed 19523004 19529099 1.00
clickbench_q39/datafusion:vortex-file-compressed 137592451 143749964 0.96
clickbench_q40/datafusion:vortex-file-compressed 15950332 16267058 0.98
clickbench_q41/datafusion:vortex-file-compressed 14664875 14465023 1.01
clickbench_q42/datafusion:vortex-file-compressed 16533075 16965839 0.97
datafusion / parquet (1.009x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
clickbench_q00/datafusion:parquet 1559681 1550155 1.01
clickbench_q01/datafusion:parquet 19293317 19356416 1.00
clickbench_q02/datafusion:parquet 46036631 47206854 0.98
clickbench_q03/datafusion:parquet 38344094 38463339 1.00
clickbench_q04/datafusion:parquet 308961940 300889120 1.03
clickbench_q05/datafusion:parquet 357717437 339809227 1.05
clickbench_q06/datafusion:parquet 1563060 1578065 0.99
clickbench_q07/datafusion:parquet 22386777 22043239 1.02
clickbench_q08/datafusion:parquet 368141255 370697565 0.99
clickbench_q09/datafusion:parquet 623984345 611287154 1.02
clickbench_q10/datafusion:parquet 107975385 104809872 1.03
clickbench_q11/datafusion:parquet 129745200 129720543 1.00
clickbench_q12/datafusion:parquet 344404148 345623500 1.00
clickbench_q13/datafusion:parquet 514863331 504562332 1.02
clickbench_q14/datafusion:parquet 346230343 344930812 1.00
clickbench_q15/datafusion:parquet 341923627 338673871 1.01
clickbench_q16/datafusion:parquet 691192624 660282845 1.05
clickbench_q17/datafusion:parquet 660895742 664148535 1.00
clickbench_q18/datafusion:parquet 1386647895 1370622892 1.01
clickbench_q19/datafusion:parquet 28955246 29191988 0.99
clickbench_q20/datafusion:parquet 590721403 605190846 0.98
clickbench_q21/datafusion:parquet 659886301 670114415 0.98
clickbench_q22/datafusion:parquet 976765369 968331750 1.01
clickbench_q23/datafusion:parquet 3731750304 3675479153 1.02
clickbench_q24/datafusion:parquet 87419951 82571736 1.06
clickbench_q25/datafusion:parquet 131263171 134613693 0.98
clickbench_q26/datafusion:parquet 87580730 81686494 1.07
clickbench_q27/datafusion:parquet 1065388105 1055377577 1.01
clickbench_q28/datafusion:parquet 6516764103 6500482241 1.00
clickbench_q29/datafusion:parquet 254163115 239338116 1.06
clickbench_q30/datafusion:parquet 329670616 325634449 1.01
clickbench_q31/datafusion:parquet 374363092 362969483 1.03
clickbench_q32/datafusion:parquet 1178073020 1187743513 0.99
clickbench_q33/datafusion:parquet 1492906249 1486828286 1.00
clickbench_q34/datafusion:parquet 1478544396 1475307656 1.00
clickbench_q35/datafusion:parquet 463348253 464447499 1.00
clickbench_q36/datafusion:parquet 147300566 145579344 1.01
clickbench_q37/datafusion:parquet 57124693 57460875 0.99
clickbench_q38/datafusion:parquet 86528076 85873217 1.01
clickbench_q39/datafusion:parquet 271543357 266765972 1.02
clickbench_q40/datafusion:parquet 30750240 29762359 1.03
clickbench_q41/datafusion:parquet 27080614 28054018 0.97
clickbench_q42/datafusion:parquet 29428758 29406452 1.00
duckdb / vortex-file-compressed (0.973x ➖, 5↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
clickbench_q00/duckdb:vortex-file-compressed 6430420 6332191 1.02
clickbench_q01/duckdb:vortex-file-compressed 11285620 11113694 1.02
clickbench_q02/duckdb:vortex-file-compressed 26769093 26650902 1.00
clickbench_q03/duckdb:vortex-file-compressed 29666511 31247597 0.95
clickbench_q04/duckdb:vortex-file-compressed 187634095 187677617 1.00
clickbench_q05/duckdb:vortex-file-compressed 171852398 174207929 0.99
clickbench_q06/duckdb:vortex-file-compressed 19874999 20448744 0.97
clickbench_q07/duckdb:vortex-file-compressed 15000508 14114528 1.06
clickbench_q08/duckdb:vortex-file-compressed 259569797 264096516 0.98
clickbench_q09/duckdb:vortex-file-compressed 337828508 341007201 0.99
clickbench_q10/duckdb:vortex-file-compressed 66984849 69195308 0.97
clickbench_q11/duckdb:vortex-file-compressed 79216263 79120257 1.00
clickbench_q12/duckdb:vortex-file-compressed 195931157 193818988 1.01
clickbench_q13/duckdb:vortex-file-compressed 395355689 408239995 0.97
clickbench_q14/duckdb:vortex-file-compressed 227063558 242264195 0.94
clickbench_q15/duckdb:vortex-file-compressed 241240944 243458379 0.99
clickbench_q16/duckdb:vortex-file-compressed 524672314 521955843 1.01
clickbench_q17/duckdb:vortex-file-compressed 424006677 416659986 1.02
clickbench_q18/duckdb:vortex-file-compressed 940225949 946613433 0.99
clickbench_q19/duckdb:vortex-file-compressed 21134489 21372396 0.99
clickbench_q20/duckdb:vortex-file-compressed 340485242 343279265 0.99
clickbench_q21/duckdb:vortex-file-compressed 370954069 367047963 1.01
clickbench_q22/duckdb:vortex-file-compressed 525039901 572305787 0.92
clickbench_q23/duckdb:vortex-file-compressed 184436271 176962247 1.04
clickbench_q24/duckdb:vortex-file-compressed 37386021 34471637 1.08
clickbench_q25/duckdb:vortex-file-compressed 71455210 78632698 0.91
clickbench_q26/duckdb:vortex-file-compressed 46994087 47601040 0.99
clickbench_q27/duckdb:vortex-file-compressed 476265512 475268660 1.00
clickbench_q28/duckdb:vortex-file-compressed 3017906770 3052684893 0.99
clickbench_q29/duckdb:vortex-file-compressed 28402796 28312227 1.00
clickbench_q30/duckdb:vortex-file-compressed 194895287 191542445 1.02
clickbench_q31/duckdb:vortex-file-compressed 286067791 286494300 1.00
clickbench_q32/duckdb:vortex-file-compressed 1116370691 1123114144 0.99
clickbench_q33/duckdb:vortex-file-compressed 1049154538 1141823452 0.92
clickbench_q34/duckdb:vortex-file-compressed 1177329198 1183506729 0.99
clickbench_q35/duckdb:vortex-file-compressed 376169050 377308678 1.00
clickbench_q36/duckdb:vortex-file-compressed 25475701 28034969 0.91
clickbench_q37/duckdb:vortex-file-compressed 🚀 18471375 21263744 0.87
clickbench_q38/duckdb:vortex-file-compressed 🚀 18851462 21499705 0.88
clickbench_q39/duckdb:vortex-file-compressed 40247796 40998675 0.98
clickbench_q40/duckdb:vortex-file-compressed 🚀 17287132 20358393 0.85
clickbench_q41/duckdb:vortex-file-compressed 🚀 16775489 19999150 0.84
clickbench_q42/duckdb:vortex-file-compressed 🚀 18579724 21864713 0.85
duckdb / parquet (1.001x ➖, 0↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
clickbench_q00/duckdb:parquet 23978775 23371989 1.03
clickbench_q01/duckdb:parquet 29925167 30747549 0.97
clickbench_q02/duckdb:parquet 49419824 50019397 0.99
clickbench_q03/duckdb:parquet 40281016 40268959 1.00
clickbench_q04/duckdb:parquet 202583288 202077350 1.00
clickbench_q05/duckdb:parquet 258712758 259466085 1.00
clickbench_q06/duckdb:parquet 46785225 47130692 0.99
clickbench_q07/duckdb:parquet 30716807 31116220 0.99
clickbench_q08/duckdb:parquet 272877918 271792907 1.00
clickbench_q09/duckdb:parquet 401150835 398488649 1.01
clickbench_q10/duckdb:parquet 81825523 81837096 1.00
clickbench_q11/duckdb:parquet 99668815 99968627 1.00
clickbench_q12/duckdb:parquet 279976369 279882139 1.00
clickbench_q13/duckdb:parquet 467373577 470908409 0.99
clickbench_q14/duckdb:parquet 314877208 318788231 0.99
clickbench_q15/duckdb:parquet 255714263 252302087 1.01
clickbench_q16/duckdb:parquet 599783257 591144240 1.01
clickbench_q17/duckdb:parquet 497052849 500018308 0.99
clickbench_q18/duckdb:parquet 1030305903 1034928482 1.00
clickbench_q19/duckdb:parquet 28232389 26843883 1.05
clickbench_q20/duckdb:parquet 411387314 410856811 1.00
clickbench_q21/duckdb:parquet 533478010 530795537 1.01
clickbench_q22/duckdb:parquet 918298843 915704981 1.00
clickbench_q23/duckdb:parquet 272618039 262457055 1.04
clickbench_q24/duckdb:parquet 70238516 70175163 1.00
clickbench_q25/duckdb:parquet 162886845 162283843 1.00
clickbench_q26/duckdb:parquet 53721608 55429829 0.97
clickbench_q27/duckdb:parquet 637286627 646961484 0.99
clickbench_q28/duckdb:parquet 4887442104 4893099554 1.00
clickbench_q29/duckdb:parquet 41168321 41415136 0.99
clickbench_q30/duckdb:parquet 312233508 310350560 1.01
clickbench_q31/duckdb:parquet 376001681 378380284 0.99
clickbench_q32/duckdb:parquet 1116754270 1104192783 1.01
clickbench_q33/duckdb:parquet 1102514191 1103823690 1.00
clickbench_q34/duckdb:parquet 1153543423 1145379329 1.01
clickbench_q35/duckdb:parquet 366702835 366411815 1.00
clickbench_q36/duckdb:parquet 44418282 45935437 0.97
clickbench_q37/duckdb:parquet 33837435 34012309 0.99
clickbench_q38/duckdb:parquet 34985026 35545950 0.98
clickbench_q39/duckdb:parquet 🚨 85169028 76106134 1.12
clickbench_q40/duckdb:parquet 20706745 21026772 0.98
clickbench_q41/duckdb:parquet 20222025 21147225 0.96
clickbench_q42/duckdb:parquet 22557841 22861381 0.99
duckdb / duckdb (0.965x ➖, 4↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
clickbench_q00/duckdb:duckdb 🚀 17398697 20352112 0.85
clickbench_q01/duckdb:duckdb 34363401 36620759 0.94
clickbench_q02/duckdb:duckdb 51834163 53312625 0.97
clickbench_q03/duckdb:duckdb 55269695 58124547 0.95
clickbench_q04/duckdb:duckdb 207834241 211774892 0.98
clickbench_q05/duckdb:duckdb 287760063 288958024 1.00
clickbench_q06/duckdb:duckdb 33627497 36176648 0.93
clickbench_q07/duckdb:duckdb 34839393 37618366 0.93
clickbench_q08/duckdb:duckdb 277836142 276999457 1.00
clickbench_q09/duckdb:duckdb 391034771 395786626 0.99
clickbench_q10/duckdb:duckdb 114308393 118161829 0.97
clickbench_q11/duckdb:duckdb 124562089 127458106 0.98
clickbench_q12/duckdb:duckdb 260956139 260351394 1.00
clickbench_q13/duckdb:duckdb 447275955 446365828 1.00
clickbench_q14/duckdb:duckdb 280907876 287984692 0.98
clickbench_q15/duckdb:duckdb 240387441 243139653 0.99
clickbench_q16/duckdb:duckdb 558348582 559611636 1.00
clickbench_q17/duckdb:duckdb 469208843 477086551 0.98
clickbench_q18/duckdb:duckdb 1013869291 1024790396 0.99
clickbench_q19/duckdb:duckdb 35245321 38125852 0.92
clickbench_q20/duckdb:duckdb 480679648 470741412 1.02
clickbench_q21/duckdb:duckdb 476681851 482420503 0.99
clickbench_q22/duckdb:duckdb 538874805 548927480 0.98
clickbench_q23/duckdb:duckdb 247920668 253801582 0.98
clickbench_q24/duckdb:duckdb 61817703 65203149 0.95
clickbench_q25/duckdb:duckdb 148416483 150645495 0.99
clickbench_q26/duckdb:duckdb 62908020 65200669 0.96
clickbench_q27/duckdb:duckdb 554104321 558660558 0.99
clickbench_q28/duckdb:duckdb 4518863575 4477680192 1.01
clickbench_q29/duckdb:duckdb 50577305 52666969 0.96
clickbench_q30/duckdb:duckdb 278059508 277570690 1.00
clickbench_q31/duckdb:duckdb 363259060 364135331 1.00
clickbench_q32/duckdb:duckdb 1110360828 1122326581 0.99
clickbench_q33/duckdb:duckdb 1123269510 1117520854 1.01
clickbench_q34/duckdb:duckdb 1195341374 1197530275 1.00
clickbench_q35/duckdb:duckdb 295268829 300623230 0.98
clickbench_q36/duckdb:duckdb 50141608 53705291 0.93
clickbench_q37/duckdb:duckdb 28631152 31454913 0.91
clickbench_q38/duckdb:duckdb 33649394 36376635 0.93
clickbench_q39/duckdb:duckdb 🚀 78447368 88401191 0.89
clickbench_q40/duckdb:duckdb 🚀 27235652 30314510 0.90
clickbench_q41/duckdb:duckdb 🚀 27003338 30032869 0.90
clickbench_q42/duckdb:duckdb 29441599 31852204 0.92

File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
File Scale Format Base HEAD Change %
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%

Totals:

  • vortex-compact: 7.04 GB → 7.04 GB (-0.0%)
  • vortex-file-compressed: 14.01 GB → 14.01 GB (0.0%)
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
0 datafusion:vortex-file-compressed +0.3% +1.6% -1.2% +786.4% ➖ noise
0 duckdb:duckdb -14.5% +1.6% -15.9% +272.7% ➖ noise
0 duckdb:vortex-file-compressed +1.6% +1.6% -0.0% +479.8% ➖ noise
1 datafusion:vortex-file-compressed -1.3% -1.5% +0.2% +27.1% ➖ noise
1 duckdb:duckdb -6.2% -1.5% -4.7% +47.2% ➖ noise
1 duckdb:vortex-file-compressed +1.5% -1.5% +3.1% +22.6% ➖ noise
2 datafusion:vortex-file-compressed +3.2% -1.8% +5.1% +11.6% ➖ noise
2 duckdb:duckdb -2.8% -1.8% -0.9% +25.7% ➖ noise
2 duckdb:vortex-file-compressed +0.4% -1.8% +2.3% +13.6% ➖ noise
3 datafusion:vortex-file-compressed -0.8% -0.1% -0.6% +132.8% ➖ noise
3 duckdb:duckdb -4.9% -0.1% -4.8% +44.1% ➖ noise
3 duckdb:vortex-file-compressed -5.1% -0.1% -4.9% +94.7% ➖ noise
4 datafusion:vortex-file-compressed -2.0% +1.5% -3.4% +10.0% ➖ noise
4 duckdb:duckdb -1.9% +1.5% -3.3% +10.0% ➖ noise
4 duckdb:vortex-file-compressed -0.0% +1.5% -1.5% +10.0% ➖ noise
5 datafusion:vortex-file-compressed -1.9% +2.5% -4.2% +10.0% ➖ noise
5 duckdb:duckdb -0.4% +2.5% -2.8% +10.0% ➖ noise
5 duckdb:vortex-file-compressed -1.4% +2.5% -3.7% +10.0% ➖ noise
6 datafusion:vortex-file-compressed +0.5% -0.8% +1.4% +39.1% ➖ noise
6 duckdb:duckdb -7.0% -0.8% -6.3% +15.1% ➖ noise
6 duckdb:vortex-file-compressed -2.8% -0.8% -2.0% +23.7% ➖ noise
7 datafusion:vortex-file-compressed -7.9% +0.1% -8.0% +42.9% ➖ noise
7 duckdb:duckdb -7.4% +0.1% -7.5% +10.0% ➖ noise
7 duckdb:vortex-file-compressed +6.3% +0.1% +6.1% +10.0% ➖ noise
8 datafusion:vortex-file-compressed -1.4% -0.1% -1.3% +10.0% ➖ noise
8 duckdb:duckdb +0.3% -0.1% +0.4% +10.0% ➖ noise
8 duckdb:vortex-file-compressed -1.7% -0.1% -1.6% +10.0% ➖ noise
9 datafusion:vortex-file-compressed +4.2% +1.4% +2.8% +10.0% ➖ noise
9 duckdb:duckdb -1.2% +1.4% -2.5% +10.0% ➖ noise
9 duckdb:vortex-file-compressed -0.9% +1.4% -2.3% +10.0% ➖ noise
10 datafusion:vortex-file-compressed -1.2% +1.5% -2.7% +12.7% ➖ noise
10 duckdb:duckdb -3.3% +1.5% -4.7% +10.0% ➖ noise
10 duckdb:vortex-file-compressed -3.2% +1.5% -4.6% +10.0% ➖ noise
11 datafusion:vortex-file-compressed -4.4% -0.1% -4.2% +12.8% ➖ noise
11 duckdb:duckdb -2.3% -0.1% -2.1% +10.0% ➖ noise
11 duckdb:vortex-file-compressed +0.1% -0.1% +0.3% +10.0% ➖ noise
12 datafusion:vortex-file-compressed -3.5% -0.2% -3.3% +10.0% ➖ noise
12 duckdb:duckdb +0.2% -0.2% +0.4% +10.0% ➖ noise
12 duckdb:vortex-file-compressed +1.1% -0.2% +1.3% +10.0% ➖ noise
13 datafusion:vortex-file-compressed -1.3% +0.6% -1.9% +10.0% ➖ noise
13 duckdb:duckdb +0.2% +0.6% -0.4% +10.0% ➖ noise
13 duckdb:vortex-file-compressed -3.2% +0.6% -3.8% +10.0% ➖ noise
14 datafusion:vortex-file-compressed +2.0% -0.4% +2.4% +10.0% ➖ noise
14 duckdb:duckdb -2.5% -0.4% -2.0% +10.0% ➖ noise
14 duckdb:vortex-file-compressed -6.3% -0.4% -5.9% +10.0% ➖ noise
15 datafusion:vortex-file-compressed +2.8% +1.2% +1.6% +10.0% ➖ noise
15 duckdb:duckdb -1.1% +1.2% -2.3% +10.0% ➖ noise
15 duckdb:vortex-file-compressed -0.9% +1.2% -2.0% +10.0% ➖ noise
16 datafusion:vortex-file-compressed -2.1% +3.1% -5.0% +10.0% ➖ noise
16 duckdb:duckdb -0.2% +3.1% -3.2% +10.0% ➖ noise
16 duckdb:vortex-file-compressed +0.5% +3.1% -2.5% +10.0% ➖ noise
17 datafusion:vortex-file-compressed -1.5% -0.5% -1.0% +10.0% ➖ noise
17 duckdb:duckdb -1.7% -0.5% -1.1% +10.0% ➖ noise
17 duckdb:vortex-file-compressed +1.8% -0.5% +2.3% +10.0% ➖ noise
18 datafusion:vortex-file-compressed +0.6% +0.4% +0.2% +10.0% ➖ noise
18 duckdb:duckdb -1.1% +0.4% -1.4% +10.0% ➖ noise
18 duckdb:vortex-file-compressed -0.7% +0.4% -1.0% +10.0% ➖ noise
19 datafusion:vortex-file-compressed -3.2% +2.1% -5.2% +41.4% ➖ noise
19 duckdb:duckdb -7.6% +2.1% -9.5% +20.2% ➖ noise
19 duckdb:vortex-file-compressed -1.1% +2.1% -3.2% +29.7% ➖ noise
20 datafusion:vortex-file-compressed +1.0% -1.1% +2.1% +201.4% ➖ noise
20 duckdb:duckdb +2.1% -1.1% +3.3% +79.1% ➖ noise
20 duckdb:vortex-file-compressed -0.8% -1.1% +0.3% +100.6% ➖ noise
21 datafusion:vortex-file-compressed -0.5% -0.5% +0.1% +10.0% ➖ noise
21 duckdb:duckdb -1.2% -0.5% -0.7% +10.0% ➖ noise
21 duckdb:vortex-file-compressed +1.1% -0.5% +1.6% +10.0% ➖ noise
22 datafusion:vortex-file-compressed +1.2% +0.6% +0.6% +15.3% ➖ noise
22 duckdb:duckdb -1.8% +0.6% -2.4% +40.6% ➖ noise
22 duckdb:vortex-file-compressed -8.3% +0.6% -8.8% +24.2% ➖ noise
23 datafusion:vortex-file-compressed +0.1% +2.7% -2.6% +56.1% ➖ noise
23 duckdb:duckdb -2.3% +2.7% -4.9% +10.0% ➖ noise
23 duckdb:vortex-file-compressed +4.2% +2.7% +1.5% +20.9% ➖ noise
24 datafusion:vortex-file-compressed -11.1% +2.9% -13.6% +23.6% ➖ noise
24 duckdb:duckdb -5.2% +2.9% -7.9% +33.0% ➖ noise
24 duckdb:vortex-file-compressed +8.5% +2.9% +5.4% +26.2% ➖ noise
25 datafusion:vortex-file-compressed +4.4% -1.1% +5.5% +10.0% ➖ noise
25 duckdb:duckdb -1.5% -1.1% -0.4% +10.0% ➖ noise
25 duckdb:vortex-file-compressed -9.1% -1.1% -8.1% +16.1% ➖ noise
26 datafusion:vortex-file-compressed +1.9% +1.9% -0.0% +13.4% ➖ noise
26 duckdb:duckdb -3.5% +1.9% -5.3% +10.0% ➖ noise
26 duckdb:vortex-file-compressed -1.3% +1.9% -3.2% +21.6% ➖ noise
27 datafusion:vortex-file-compressed -0.8% -0.3% -0.5% +10.0% ➖ noise
27 duckdb:duckdb -0.8% -0.3% -0.5% +10.0% ➖ noise
27 duckdb:vortex-file-compressed +0.2% -0.3% +0.5% +10.0% ➖ noise
28 datafusion:vortex-file-compressed -2.3% +0.1% -2.3% +10.0% ➖ noise
28 duckdb:duckdb +0.9% +0.1% +0.9% +10.0% ➖ noise
28 duckdb:vortex-file-compressed -1.1% +0.1% -1.2% +11.6% ➖ noise
29 datafusion:vortex-file-compressed -3.5% +2.7% -6.1% +13.1% ➖ noise
29 duckdb:duckdb -4.0% +2.7% -6.5% +10.5% ➖ noise
29 duckdb:vortex-file-compressed +0.3% +2.7% -2.4% +68.2% ➖ noise
30 datafusion:vortex-file-compressed -0.1% +0.9% -1.0% +10.0% ➖ noise
30 duckdb:duckdb +0.2% +0.9% -0.7% +10.0% ➖ noise
30 duckdb:vortex-file-compressed +1.8% +0.9% +0.8% +10.0% ➖ noise
31 datafusion:vortex-file-compressed -1.8% +1.2% -3.0% +10.0% ➖ noise
31 duckdb:duckdb -0.2% +1.2% -1.5% +10.0% ➖ noise
31 duckdb:vortex-file-compressed -0.1% +1.2% -1.4% +10.0% ➖ noise
32 datafusion:vortex-file-compressed +1.9% +0.2% +1.8% +10.0% ➖ noise
32 duckdb:duckdb -1.1% +0.2% -1.2% +10.0% ➖ noise
32 duckdb:vortex-file-compressed -0.6% +0.2% -0.8% +10.0% ➖ noise
33 datafusion:vortex-file-compressed -2.6% +0.1% -2.7% +10.0% ➖ noise
33 duckdb:duckdb +0.5% +0.1% +0.4% +10.0% ➖ noise
33 duckdb:vortex-file-compressed -8.1% +0.1% -8.2% +26.0% ➖ noise
34 datafusion:vortex-file-compressed +1.7% +0.5% +1.3% +10.0% ➖ noise
34 duckdb:duckdb -0.2% +0.5% -0.6% +10.0% ➖ noise
34 duckdb:vortex-file-compressed -0.5% +0.5% -1.0% +10.0% ➖ noise
35 datafusion:vortex-file-compressed +1.0% -0.1% +1.0% +10.0% ➖ noise
35 duckdb:duckdb -1.8% -0.1% -1.7% +10.0% ➖ noise
35 duckdb:vortex-file-compressed -0.3% -0.1% -0.2% +10.0% ➖ noise
36 datafusion:vortex-file-compressed -4.2% -1.1% -3.2% +10.0% ➖ noise
36 duckdb:duckdb -6.6% -1.1% -5.6% +14.5% ➖ noise
36 duckdb:vortex-file-compressed -9.1% -1.1% -8.1% +10.0% ➖ noise
37 datafusion:vortex-file-compressed +1.2% -0.5% +1.7% +13.9% ➖ noise
37 duckdb:duckdb -9.0% -0.5% -8.5% +10.0% ➖ noise
37 duckdb:vortex-file-compressed -13.1% -0.5% -12.7% +10.0% ✅ faster
38 datafusion:vortex-file-compressed -0.0% -0.4% +0.4% +20.8% ➖ noise
38 duckdb:duckdb -7.5% -0.4% -7.1% +10.0% ➖ noise
38 duckdb:vortex-file-compressed -12.3% -0.4% -12.0% +12.5% ✅ faster
39 datafusion:vortex-file-compressed -4.3% +6.7% -10.3% +10.1% ✅ faster
39 duckdb:duckdb -11.3% +6.7% -16.9% +16.8% ✅ faster
39 duckdb:vortex-file-compressed -1.8% +6.7% -8.0% +11.4% ➖ noise
40 datafusion:vortex-file-compressed -1.9% +0.9% -2.8% +16.9% ➖ noise
40 duckdb:duckdb -10.2% +0.9% -10.9% +10.0% ✅ faster
40 duckdb:vortex-file-compressed -15.1% +0.9% -15.8% +14.0% ✅ faster
41 datafusion:vortex-file-compressed +1.4% -3.9% +5.5% +11.5% ➖ noise
41 duckdb:duckdb -10.1% -3.9% -6.4% +10.0% ➖ noise
41 duckdb:vortex-file-compressed -16.1% -3.9% -12.7% +11.5% ✅ faster
42 datafusion:vortex-file-compressed -2.6% -0.6% -1.9% +15.7% ➖ noise
42 duckdb:duckdb -7.6% -0.6% -7.0% +10.0% ➖ noise
42 duckdb:vortex-file-compressed -15.0% -0.6% -14.5% +14.8% ✅ faster

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: TPC-H SF=1 on S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: -3.4%
Engines: DataFusion No clear signal (-0.3%, environment too noisy confidence) · DuckDB No clear signal (-6.5%, environment too noisy confidence)
Vortex (geomean): 0.961x ➖
Parquet (geomean): 0.995x ➖
Shifts: Parquet (control) -0.5% · Median polish -3.5%

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

datafusion / vortex-file-compressed (1.123x ➖, 0↑ 4↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 241898312 286841158 0.84
tpch_q02/datafusion:vortex-file-compressed 428841165 460466520 0.93
tpch_q03/datafusion:vortex-file-compressed 414229928 422141263 0.98
tpch_q04/datafusion:vortex-file-compressed 299824953 265714494 1.13
tpch_q05/datafusion:vortex-file-compressed 🚨 574146731 438804547 1.31
tpch_q06/datafusion:vortex-file-compressed 347904036 327587838 1.06
tpch_q07/datafusion:vortex-file-compressed 495229157 386821866 1.28
tpch_q08/datafusion:vortex-file-compressed 🚨 849448272 567595791 1.50
tpch_q09/datafusion:vortex-file-compressed 🚨 491699337 348105013 1.41
tpch_q10/datafusion:vortex-file-compressed 🚨 713105444 451593075 1.58
tpch_q11/datafusion:vortex-file-compressed 327820823 297790877 1.10
tpch_q12/datafusion:vortex-file-compressed 453582973 443589898 1.02
tpch_q13/datafusion:vortex-file-compressed 175419606 140524884 1.25
tpch_q14/datafusion:vortex-file-compressed 230496224 247356336 0.93
tpch_q15/datafusion:vortex-file-compressed 466791392 399691299 1.17
tpch_q16/datafusion:vortex-file-compressed 232749944 206181550 1.13
tpch_q17/datafusion:vortex-file-compressed 372304010 364275319 1.02
tpch_q18/datafusion:vortex-file-compressed 346494657 338175730 1.02
tpch_q19/datafusion:vortex-file-compressed 525902858 472523362 1.11
tpch_q20/datafusion:vortex-file-compressed 481955844 402261275 1.20
tpch_q21/datafusion:vortex-file-compressed 674116034 607376420 1.11
tpch_q22/datafusion:vortex-file-compressed 123979929 134067409 0.92
datafusion / vortex-compact (0.929x ➖, 2↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 286105355 281358644 1.02
tpch_q02/datafusion:vortex-compact 581623348 536883323 1.08
tpch_q03/datafusion:vortex-compact 388190458 405602578 0.96
tpch_q04/datafusion:vortex-compact 231415861 210664985 1.10
tpch_q05/datafusion:vortex-compact 369420041 408982264 0.90
tpch_q06/datafusion:vortex-compact 305618035 310698042 0.98
tpch_q07/datafusion:vortex-compact 402366641 462305009 0.87
tpch_q08/datafusion:vortex-compact 522180629 584707272 0.89
tpch_q09/datafusion:vortex-compact 400738264 424536488 0.94
tpch_q10/datafusion:vortex-compact 446147959 504285455 0.88
tpch_q11/datafusion:vortex-compact 259890308 250874001 1.04
tpch_q12/datafusion:vortex-compact 471118873 413274960 1.14
tpch_q13/datafusion:vortex-compact 167143883 172972772 0.97
tpch_q14/datafusion:vortex-compact 250366598 246281152 1.02
tpch_q15/datafusion:vortex-compact 461733735 458530242 1.01
tpch_q16/datafusion:vortex-compact 231051795 198536837 1.16
tpch_q17/datafusion:vortex-compact 381595403 432795378 0.88
tpch_q18/datafusion:vortex-compact 🚀 276772373 438181654 0.63
tpch_q19/datafusion:vortex-compact 482996758 650654539 0.74
tpch_q20/datafusion:vortex-compact 🚀 407951456 694927418 0.59
tpch_q21/datafusion:vortex-compact 536894703 543876194 0.99
tpch_q22/datafusion:vortex-compact 120590974 134172292 0.90
datafusion / parquet (1.024x ➖, 0↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 232963669 224406385 1.04
tpch_q02/datafusion:parquet 414361156 408203736 1.02
tpch_q03/datafusion:parquet 306681998 379624508 0.81
tpch_q04/datafusion:parquet 164717230 163810354 1.01
tpch_q05/datafusion:parquet 500015900 458589192 1.09
tpch_q06/datafusion:parquet 144711038 142043386 1.02
tpch_q07/datafusion:parquet 454265643 456787422 0.99
tpch_q08/datafusion:parquet 542498016 541510831 1.00
tpch_q09/datafusion:parquet 469250118 505741802 0.93
tpch_q10/datafusion:parquet 505248009 518959689 0.97
tpch_q11/datafusion:parquet 340794235 332559761 1.02
tpch_q12/datafusion:parquet 235561155 237374312 0.99
tpch_q13/datafusion:parquet 443460902 428562594 1.03
tpch_q14/datafusion:parquet 221466985 173287233 1.28
tpch_q15/datafusion:parquet 311227422 300623120 1.04
tpch_q16/datafusion:parquet 🚨 227091078 172568549 1.32
tpch_q17/datafusion:parquet 407152149 376674369 1.08
tpch_q18/datafusion:parquet 467652128 468953817 1.00
tpch_q19/datafusion:parquet 296568658 315779060 0.94
tpch_q20/datafusion:parquet 332902117 302803019 1.10
tpch_q21/datafusion:parquet 492488579 483681898 1.02
tpch_q22/datafusion:parquet 113038048 118043525 0.96
duckdb / vortex-file-compressed (0.905x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 255293212 315062737 0.81
tpch_q02/duckdb:vortex-file-compressed 923992431 997048125 0.93
tpch_q03/duckdb:vortex-file-compressed 672638123 790513373 0.85
tpch_q04/duckdb:vortex-file-compressed 386310507 500503362 0.77
tpch_q05/duckdb:vortex-file-compressed 794247176 767990636 1.03
tpch_q06/duckdb:vortex-file-compressed 318321253 338950212 0.94
tpch_q07/duckdb:vortex-file-compressed 926374271 967584210 0.96
tpch_q08/duckdb:vortex-file-compressed 949156626 1063987067 0.89
tpch_q09/duckdb:vortex-file-compressed 894919160 926266793 0.97
tpch_q10/duckdb:vortex-file-compressed 712758715 807577742 0.88
tpch_q11/duckdb:vortex-file-compressed 518926283 527659727 0.98
tpch_q12/duckdb:vortex-file-compressed 644654093 742951460 0.87
tpch_q13/duckdb:vortex-file-compressed 385345184 490413271 0.79
tpch_q14/duckdb:vortex-file-compressed 396759939 433469640 0.92
tpch_q15/duckdb:vortex-file-compressed 264357278 264651217 1.00
tpch_q16/duckdb:vortex-file-compressed 327489624 324683327 1.01
tpch_q17/duckdb:vortex-file-compressed 647903880 876314643 0.74
tpch_q18/duckdb:vortex-file-compressed 601166594 586994263 1.02
tpch_q19/duckdb:vortex-file-compressed 449105165 477512347 0.94
tpch_q20/duckdb:vortex-file-compressed 717970289 838937217 0.86
tpch_q21/duckdb:vortex-file-compressed 1049129549 1120281362 0.94
tpch_q22/duckdb:vortex-file-compressed 273638457 302461940 0.90
duckdb / vortex-compact (0.902x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 267783308 278370895 0.96
tpch_q02/duckdb:vortex-compact 850101228 975527642 0.87
tpch_q03/duckdb:vortex-compact 617331235 678552529 0.91
tpch_q04/duckdb:vortex-compact 364530570 400233482 0.91
tpch_q05/duckdb:vortex-compact 837176933 814585603 1.03
tpch_q06/duckdb:vortex-compact 332142486 418061140 0.79
tpch_q07/duckdb:vortex-compact 841906431 948121654 0.89
tpch_q08/duckdb:vortex-compact 912212794 1116402347 0.82
tpch_q09/duckdb:vortex-compact 830334729 947128546 0.88
tpch_q10/duckdb:vortex-compact 620924880 774794856 0.80
tpch_q11/duckdb:vortex-compact 453207961 471159802 0.96
tpch_q12/duckdb:vortex-compact 597239705 690676583 0.86
tpch_q13/duckdb:vortex-compact 350691282 409060014 0.86
tpch_q14/duckdb:vortex-compact 376891909 360220579 1.05
tpch_q15/duckdb:vortex-compact 305366360 331008552 0.92
tpch_q16/duckdb:vortex-compact 317017639 339017192 0.94
tpch_q17/duckdb:vortex-compact 607345599 665885636 0.91
tpch_q18/duckdb:vortex-compact 489023332 480714736 1.02
tpch_q19/duckdb:vortex-compact 445357084 488729058 0.91
tpch_q20/duckdb:vortex-compact 710920862 785544289 0.91
tpch_q21/duckdb:vortex-compact 883773145 1019965865 0.87
tpch_q22/duckdb:vortex-compact 250884470 296559530 0.85
duckdb / parquet (0.966x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 415210205 462193467 0.90
tpch_q02/duckdb:parquet 1052865086 1037626581 1.01
tpch_q03/duckdb:parquet 1028534854 982545489 1.05
tpch_q04/duckdb:parquet 612919857 697699037 0.88
tpch_q05/duckdb:parquet 1185810801 1246402832 0.95
tpch_q06/duckdb:parquet 420728147 435347960 0.97
tpch_q07/duckdb:parquet 1186452504 1251111437 0.95
tpch_q08/duckdb:parquet 1491383371 1530885103 0.97
tpch_q09/duckdb:parquet 1344371538 1308123108 1.03
tpch_q10/duckdb:parquet 1231655793 1436778058 0.86
tpch_q11/duckdb:parquet 717262251 698055449 1.03
tpch_q12/duckdb:parquet 716257893 754818258 0.95
tpch_q13/duckdb:parquet 909151309 904277911 1.01
tpch_q14/duckdb:parquet 640457166 709123447 0.90
tpch_q15/duckdb:parquet 461556892 534101303 0.86
tpch_q16/duckdb:parquet 647762732 623359720 1.04
tpch_q17/duckdb:parquet 767410986 826970100 0.93
tpch_q18/duckdb:parquet 882304878 926149031 0.95
tpch_q19/duckdb:parquet 746320539 828211544 0.90
tpch_q20/duckdb:parquet 1150386014 1088152718 1.06
tpch_q21/duckdb:parquet 1047813958 928645677 1.13
tpch_q22/duckdb:parquet 523419277 529652591 0.99
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-compact +1.7% -3.4% +5.3% +58.4% ➖ noise
1 datafusion:vortex-file-compressed -15.7% -3.4% -12.7% +60.6% ➖ noise
1 duckdb:vortex-compact -3.8% -3.4% -0.4% +57.0% ➖ noise
1 duckdb:vortex-file-compressed -19.0% -3.4% -16.1% +40.4% ➖ noise
2 datafusion:vortex-compact +8.3% +1.5% +6.7% +30.0% ➖ noise
2 datafusion:vortex-file-compressed -6.9% +1.5% -8.2% +30.0% ➖ noise
2 duckdb:vortex-compact -12.9% +1.5% -14.1% +30.0% ➖ noise
2 duckdb:vortex-file-compressed -7.3% +1.5% -8.7% +30.0% ➖ noise
3 datafusion:vortex-compact -4.3% -8.0% +4.1% +38.5% ➖ noise
3 datafusion:vortex-file-compressed -1.9% -8.0% +6.7% +58.4% ➖ noise
3 duckdb:vortex-compact -9.0% -8.0% -1.1% +30.0% ➖ noise
3 duckdb:vortex-file-compressed -14.9% -8.0% -7.5% +30.0% ➖ noise
4 datafusion:vortex-compact +9.9% -6.0% +16.9% +30.0% ➖ noise
4 datafusion:vortex-file-compressed +12.8% -6.0% +20.1% +47.5% ➖ noise
4 duckdb:vortex-compact -8.9% -6.0% -3.1% +38.5% ➖ noise
4 duckdb:vortex-file-compressed -22.8% -6.0% -17.9% +30.0% ➖ noise
5 datafusion:vortex-compact -9.7% +1.8% -11.3% +30.0% ➖ noise
5 datafusion:vortex-file-compressed +30.8% +1.8% +28.5% +30.0% ➖ noise
5 duckdb:vortex-compact +2.8% +1.8% +0.9% +30.0% ➖ noise
5 duckdb:vortex-file-compressed +3.4% +1.8% +1.5% +30.0% ➖ noise
6 datafusion:vortex-compact -1.6% -0.8% -0.9% +30.0% ➖ noise
6 datafusion:vortex-file-compressed +6.2% -0.8% +7.0% +30.9% ➖ noise
6 duckdb:vortex-compact -20.6% -0.8% -19.9% +30.0% ➖ noise
6 duckdb:vortex-file-compressed -6.1% -0.8% -5.4% +35.1% ➖ noise
7 datafusion:vortex-compact -13.0% -2.9% -10.4% +30.0% ➖ noise
7 datafusion:vortex-file-compressed +28.0% -2.9% +31.8% +30.0% 🚨 regression
7 duckdb:vortex-compact -11.2% -2.9% -8.6% +30.0% ➖ noise
7 duckdb:vortex-file-compressed -4.3% -2.9% -1.4% +30.0% ➖ noise
8 datafusion:vortex-compact -10.7% -1.2% -9.6% +30.0% ➖ noise
8 datafusion:vortex-file-compressed +49.7% -1.2% +51.5% +33.6% 🚨 regression
8 duckdb:vortex-compact -18.3% -1.2% -17.3% +30.0% ➖ noise
8 duckdb:vortex-file-compressed -10.8% -1.2% -9.7% +30.0% ➖ noise
9 datafusion:vortex-compact -5.6% -2.3% -3.3% +30.0% ➖ noise
9 datafusion:vortex-file-compressed +41.3% -2.3% +44.6% +33.1% 🚨 regression
9 duckdb:vortex-compact -12.3% -2.3% -10.2% +30.0% ➖ noise
9 duckdb:vortex-file-compressed -3.4% -2.3% -1.1% +30.0% ➖ noise
10 datafusion:vortex-compact -11.5% -8.6% -3.2% +30.0% ➖ noise
10 datafusion:vortex-file-compressed +57.9% -8.6% +72.9% +30.0% 🚨 regression
10 duckdb:vortex-compact -19.9% -8.6% -12.3% +30.0% ➖ noise
10 duckdb:vortex-file-compressed -11.7% -8.6% -3.4% +30.0% ➖ noise
11 datafusion:vortex-compact +3.6% +2.6% +1.0% +32.7% ➖ noise
11 datafusion:vortex-file-compressed +10.1% +2.6% +7.3% +30.0% ➖ noise
11 duckdb:vortex-compact -3.8% +2.6% -6.3% +30.0% ➖ noise
11 duckdb:vortex-file-compressed -1.7% +2.6% -4.2% +30.0% ➖ noise
12 datafusion:vortex-compact +14.0% -3.0% +17.5% +30.0% ➖ noise
12 datafusion:vortex-file-compressed +2.3% -3.0% +5.4% +30.0% ➖ noise
12 duckdb:vortex-compact -13.5% -3.0% -10.9% +30.0% ➖ noise
12 duckdb:vortex-file-compressed -13.2% -3.0% -10.6% +30.0% ➖ noise
13 datafusion:vortex-compact -3.4% +2.0% -5.3% +53.3% ➖ noise
13 datafusion:vortex-file-compressed +24.8% +2.0% +22.4% +44.9% ➖ noise
13 duckdb:vortex-compact -14.3% +2.0% -15.9% +34.5% ➖ noise
13 duckdb:vortex-file-compressed -21.4% +2.0% -23.0% +30.0% ➖ noise
14 datafusion:vortex-compact +1.7% +7.4% -5.4% +30.0% ➖ noise
14 datafusion:vortex-file-compressed -6.8% +7.4% -13.3% +30.6% ➖ noise
14 duckdb:vortex-compact +4.6% +7.4% -2.6% +31.1% ➖ noise
14 duckdb:vortex-file-compressed -8.5% +7.4% -14.8% +30.0% ➖ noise
15 datafusion:vortex-compact +0.7% -5.4% +6.5% +30.0% ➖ noise
15 datafusion:vortex-file-compressed +16.8% -5.4% +23.5% +30.0% ➖ noise
15 duckdb:vortex-compact -7.7% -5.4% -2.5% +30.0% ➖ noise
15 duckdb:vortex-file-compressed -0.1% -5.4% +5.6% +30.0% ➖ noise
16 datafusion:vortex-compact +16.4% +16.9% -0.5% +30.0% ➖ noise
16 datafusion:vortex-file-compressed +12.9% +16.9% -3.5% +30.0% ➖ noise
16 duckdb:vortex-compact -6.5% +16.9% -20.0% +30.0% ➖ noise
16 duckdb:vortex-file-compressed +0.9% +16.9% -13.7% +30.0% ➖ noise
17 datafusion:vortex-compact -11.8% +0.2% -12.0% +30.0% ➖ noise
17 datafusion:vortex-file-compressed +2.2% +0.2% +2.0% +30.0% ➖ noise
17 duckdb:vortex-compact -8.8% +0.2% -8.9% +30.0% ➖ noise
17 duckdb:vortex-file-compressed -26.1% +0.2% -26.2% +30.0% ✅ faster
18 datafusion:vortex-compact -36.8% -2.5% -35.2% +41.7% ✅ faster
18 datafusion:vortex-file-compressed +2.5% -2.5% +5.1% +30.0% ➖ noise
18 duckdb:vortex-compact +1.7% -2.5% +4.4% +30.0% ➖ noise
18 duckdb:vortex-file-compressed +2.4% -2.5% +5.1% +30.0% ➖ noise
19 datafusion:vortex-compact -25.8% -8.0% -19.3% +30.0% ➖ noise
19 datafusion:vortex-file-compressed +11.3% -8.0% +21.0% +30.0% ➖ noise
19 duckdb:vortex-compact -8.9% -8.0% -0.9% +30.0% ➖ noise
19 duckdb:vortex-file-compressed -5.9% -8.0% +2.2% +30.0% ➖ noise
20 datafusion:vortex-compact -41.3% +7.8% -45.5% +30.0% ✅ faster
20 datafusion:vortex-file-compressed +19.8% +7.8% +11.1% +30.0% ➖ noise
20 duckdb:vortex-compact -9.5% +7.8% -16.1% +30.0% ➖ noise
20 duckdb:vortex-file-compressed -14.4% +7.8% -20.6% +30.0% ➖ noise
21 datafusion:vortex-compact -1.3% +7.2% -7.9% +30.0% ➖ noise
21 datafusion:vortex-file-compressed +11.0% +7.2% +3.5% +30.0% ➖ noise
21 duckdb:vortex-compact -13.4% +7.2% -19.2% +30.0% ➖ noise
21 duckdb:vortex-file-compressed -6.4% +7.2% -12.6% +30.0% ➖ noise
22 datafusion:vortex-compact -10.1% -2.7% -7.6% +30.0% ➖ noise
22 datafusion:vortex-file-compressed -7.5% -2.7% -4.9% +30.0% ➖ noise
22 duckdb:vortex-compact -15.4% -2.7% -13.0% +30.0% ➖ noise
22 duckdb:vortex-file-compressed -9.5% -2.7% -7.0% +30.0% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: Appian on NVME

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +4.7%
Engines: DataFusion No clear signal (+4.9%, environment too noisy confidence) · DuckDB No clear signal (-0.0%, low confidence)
Vortex (geomean): 0.975x ➖
Parquet (geomean): 0.951x ➖
Shifts: Parquet (control) -4.9% · Median polish +3.7%

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

datafusion / vortex-file-compressed (0.912x ➖, 3↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
appian_q01/datafusion:vortex-file-compressed 🚀 130496648 168246817 0.78
appian_q02/datafusion:vortex-file-compressed 🚀 676301176 884963491 0.76
appian_q03/datafusion:vortex-file-compressed 🚀 364716065 479055595 0.76
appian_q04/datafusion:vortex-file-compressed 28649626198 31247837442 0.92
appian_q05/datafusion:vortex-file-compressed 281787537 271126246 1.04
appian_q06/datafusion:vortex-file-compressed 450451824 425763956 1.06
appian_q07/datafusion:vortex-file-compressed 483859386 469069571 1.03
appian_q08/datafusion:vortex-file-compressed 1947696263 1911018076 1.02
datafusion / parquet (0.869x ✅, 4↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
appian_q01/datafusion:parquet 131075691 138826492 0.94
appian_q02/datafusion:parquet 674634691 685807978 0.98
appian_q03/datafusion:parquet 356526023 374060610 0.95
appian_q04/datafusion:parquet 28429224352 28737998232 0.99
appian_q05/datafusion:parquet 🚀 293358177 368107234 0.80
appian_q06/datafusion:parquet 🚀 438313434 560931847 0.78
appian_q07/datafusion:parquet 🚀 464978551 594460571 0.78
appian_q08/datafusion:parquet 🚀 1865510944 2440930678 0.76
duckdb / vortex-file-compressed (1.042x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
appian_q01/duckdb:vortex-file-compressed 202747405 192949404 1.05
appian_q02/duckdb:vortex-file-compressed 638348730 615282829 1.04
appian_q03/duckdb:vortex-file-compressed 278351967 259898091 1.07
appian_q04/duckdb:vortex-file-compressed 1363707643 1334603443 1.02
appian_q05/duckdb:vortex-file-compressed 308006521 291380156 1.06
appian_q06/duckdb:vortex-file-compressed 829484678 806506006 1.03
appian_q07/duckdb:vortex-file-compressed 354046780 338486918 1.05
appian_q08/duckdb:vortex-file-compressed 1314436411 1280900461 1.03
duckdb / parquet (1.040x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
appian_q01/duckdb:parquet 214824716 202700617 1.06
appian_q02/duckdb:parquet 627054988 604573169 1.04
appian_q03/duckdb:parquet 300205513 287857724 1.04
appian_q04/duckdb:parquet 1379435890 1339146845 1.03
appian_q05/duckdb:parquet 332239398 314555690 1.06
appian_q06/duckdb:parquet 813561256 787526499 1.03
appian_q07/duckdb:parquet 377591866 361926134 1.04
appian_q08/duckdb:parquet 1299957278 1277247038 1.02
duckdb / duckdb (1.037x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
appian_q01/duckdb:duckdb 184139663 171455544 1.07
appian_q02/duckdb:duckdb 565892417 545438564 1.04
appian_q03/duckdb:duckdb 398003232 385433490 1.03
appian_q04/duckdb:duckdb 1332138186 1304590848 1.02
appian_q05/duckdb:duckdb 299713348 284415108 1.05
appian_q06/duckdb:duckdb 798301849 788933483 1.01
appian_q07/duckdb:duckdb 338748802 325855921 1.04
appian_q08/duckdb:duckdb 1254838617 1224211459 1.03

File Size Changes (1 files changed, -0.0% overall, 0↑ 1↓)
File Scale Format Base HEAD Change %
duckdb.db 1.0 vortex-compact 268.00 KB 0 B 268.00 KB -100.0%

Totals:

  • vortex-compact: 272.98 MB → 272.72 MB (-0.1%)
  • vortex-file-compressed: 527.16 MB → 527.16 MB (0.0%)
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-file-compressed -22.4% +0.0% -22.5% +16.6% ✅ faster
1 duckdb:duckdb +7.4% +0.0% +7.4% +16.6% ➖ noise
1 duckdb:vortex-file-compressed +5.1% +0.0% +5.0% +16.6% ➖ noise
2 datafusion:vortex-file-compressed -23.6% +1.0% -24.3% +16.6% ✅ faster
2 duckdb:duckdb +3.7% +1.0% +2.7% +16.6% ➖ noise
2 duckdb:vortex-file-compressed +3.7% +1.0% +2.7% +16.6% ➖ noise
3 datafusion:vortex-file-compressed -23.9% -0.3% -23.6% +16.6% ✅ faster
3 duckdb:duckdb +3.3% -0.3% +3.6% +16.6% ➖ noise
3 duckdb:vortex-file-compressed +7.1% -0.3% +7.4% +16.6% ➖ noise
4 datafusion:vortex-file-compressed -8.3% +0.9% -9.2% +16.6% ➖ noise
4 duckdb:duckdb +2.1% +0.9% +1.2% +16.6% ➖ noise
4 duckdb:vortex-file-compressed +2.2% +0.9% +1.2% +16.6% ➖ noise
5 datafusion:vortex-file-compressed +3.9% -8.3% +13.3% +16.6% ➖ noise
5 duckdb:duckdb +5.4% -8.3% +14.9% +16.6% ➖ noise
5 duckdb:vortex-file-compressed +5.7% -8.3% +15.2% +16.6% ➖ noise
6 datafusion:vortex-file-compressed +5.8% -10.2% +17.8% +16.6% 🚨 regression
6 duckdb:duckdb +1.2% -10.2% +12.6% +16.6% ➖ noise
6 duckdb:vortex-file-compressed +2.8% -10.2% +14.5% +16.6% ➖ noise
7 datafusion:vortex-file-compressed +3.2% -9.7% +14.2% +16.6% ➖ noise
7 duckdb:duckdb +4.0% -9.7% +15.1% +16.6% ➖ noise
7 duckdb:vortex-file-compressed +4.6% -9.7% +15.8% +16.6% ➖ noise
8 datafusion:vortex-file-compressed +1.9% -11.8% +15.6% +16.6% ➖ noise
8 duckdb:duckdb +2.5% -11.8% +16.2% +16.6% ➖ noise
8 duckdb:vortex-file-compressed +2.6% -11.8% +16.4% +16.6% ➖ noise

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: Compression

Vortex (geomean): 1.000x ➖
Parquet (geomean): 0.999x ➖

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

unknown / unknown (0.999x ➖, 1↑ 1↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
compress time/Arade 1117610592 1125102326 0.99
compress time/Bimbo 5699457126 5772519448 0.99
compress time/CMSprovider 2765498898 2814822299 0.98
compress time/Euro2016 420724245 438285763 0.96
compress time/Food 360934784 351437918 1.03
compress time/HashTags 788026719 786208242 1.00
compress time/TPC-H l_comment canonical 1217819295 1184266254 1.03
compress time/TPC-H l_comment chunked 1221528640 1206294071 1.01
compress time/taxi 683473814 689319068 0.99
compress time/wide table cols=100 chunks=1 rows=1000 11213665 12183422 0.92
compress time/wide table cols=100 chunks=50 rows=1000 11275886 10987868 1.03
compress time/wide table cols=1000 chunks=1 rows=1000 128452280 128907596 1.00
compress time/wide table cols=1000 chunks=50 rows=1000 124112257 121056280 1.03
compress time/wide table cols=10000 chunks=1 rows=1000 1450230104 1465616869 0.99
compress time/wide table cols=10000 chunks=50 rows=1000 1469429030 1458273803 1.01
decompress time/Arade 25303956 25473892 0.99
decompress time/Bimbo 78560460 77973871 1.01
decompress time/CMSprovider 77947511 75536479 1.03
decompress time/Euro2016 19235923 18961726 1.01
decompress time/Food 7897989 8185968 0.96
decompress time/HashTags 89169267 88390934 1.01
decompress time/TPC-H l_comment canonical 39591202 42448456 0.93
decompress time/TPC-H l_comment chunked 41088029 39925692 1.03
decompress time/taxi 14493797 14651196 0.99
decompress time/wide table cols=100 chunks=1 rows=1000 2561426 2689714 0.95
decompress time/wide table cols=100 chunks=50 rows=1000 2480449 2510453 0.99
decompress time/wide table cols=1000 chunks=1 rows=1000 23325744 23157591 1.01
decompress time/wide table cols=1000 chunks=50 rows=1000 24131434 23506851 1.03
decompress time/wide table cols=10000 chunks=1 rows=1000 264382017 251752029 1.05
decompress time/wide table cols=10000 chunks=50 rows=1000 263074266 258723225 1.02
parquet size/Arade 258014282 258014282 1.00
parquet size/Bimbo 384517292 384517292 1.00
parquet size/CMSprovider 376885545 376885545 1.00
parquet size/Euro2016 122975499 122975499 1.00
parquet size/Food 35699500 35699500 1.00
parquet size/HashTags 133510943 133510943 1.00
parquet size/TPC-H l_comment canonical 158358238 158358238 1.00
parquet size/TPC-H l_comment chunked 158358238 158358238 1.00
parquet size/taxi 55283635 55283635 1.00
parquet size/wide table cols=100 chunks=1 rows=1000 932404 932404 1.00
parquet size/wide table cols=100 chunks=50 rows=1000 932404 932404 1.00
parquet size/wide table cols=1000 chunks=1 rows=1000 9324004 9324004 1.00
parquet size/wide table cols=1000 chunks=50 rows=1000 9324004 9324004 1.00
parquet size/wide table cols=10000 chunks=1 rows=1000 93240004 93240004 1.00
parquet size/wide table cols=10000 chunks=50 rows=1000 93240004 93240004 1.00
parquet_rs-zstd compress time/Arade 🚀 2622769449 2935328098 0.89
parquet_rs-zstd compress time/Bimbo 12626653198 12635591974 1.00
parquet_rs-zstd compress time/CMSprovider 7053768897 6903353046 1.02
parquet_rs-zstd compress time/Euro2016 1331100102 1311487431 1.01
parquet_rs-zstd compress time/Food 805227103 797605793 1.01
parquet_rs-zstd compress time/HashTags 2197899917 2175174833 1.01
parquet_rs-zstd compress time/TPC-H l_comment canonical 3251620588 3227167730 1.01
parquet_rs-zstd compress time/TPC-H l_comment chunked 3186305327 3198953954 1.00
parquet_rs-zstd compress time/taxi 1195088156 1205540143 0.99
parquet_rs-zstd compress time/wide table cols=100 chunks=1 rows=1000 6194602 6076048 1.02
parquet_rs-zstd compress time/wide table cols=100 chunks=50 rows=1000 6148939 6144761 1.00
parquet_rs-zstd compress time/wide table cols=1000 chunks=1 rows=1000 74930703 74458477 1.01
parquet_rs-zstd compress time/wide table cols=1000 chunks=50 rows=1000 75850236 75457277 1.01
parquet_rs-zstd compress time/wide table cols=10000 chunks=1 rows=1000 780953486 804047739 0.97
parquet_rs-zstd compress time/wide table cols=10000 chunks=50 rows=1000 766018609 802474435 0.95
parquet_rs-zstd decompress time/Arade 623513776 664469072 0.94
parquet_rs-zstd decompress time/Bimbo 1683373035 1702830169 0.99
parquet_rs-zstd decompress time/CMSprovider 1701417535 1705423645 1.00
parquet_rs-zstd decompress time/Euro2016 377065788 372023641 1.01
parquet_rs-zstd decompress time/Food 196689448 195967098 1.00
parquet_rs-zstd decompress time/HashTags 645835654 633104408 1.02
parquet_rs-zstd decompress time/TPC-H l_comment canonical 591291045 589254079 1.00
parquet_rs-zstd decompress time/TPC-H l_comment chunked 593222395 593658039 1.00
parquet_rs-zstd decompress time/taxi 243401359 245044010 0.99
parquet_rs-zstd decompress time/wide table cols=100 chunks=1 rows=1000 2855960 2775833 1.03
parquet_rs-zstd decompress time/wide table cols=100 chunks=50 rows=1000 2886794 2824649 1.02
parquet_rs-zstd decompress time/wide table cols=1000 chunks=1 rows=1000 33474230 32237590 1.04
parquet_rs-zstd decompress time/wide table cols=1000 chunks=50 rows=1000 33616490 32897219 1.02
parquet_rs-zstd decompress time/wide table cols=10000 chunks=1 rows=1000 351454521 349495546 1.01
parquet_rs-zstd decompress time/wide table cols=10000 chunks=50 rows=1000 353959951 349676163 1.01
vortex-file-compressed size/Arade 145363828 145363828 1.00
vortex-file-compressed size/Bimbo 468763364 468763364 1.00
vortex-file-compressed size/CMSprovider 417907844 417907844 1.00
vortex-file-compressed size/Euro2016 163394044 163395324 1.00
vortex-file-compressed size/Food 41926968 41926968 1.00
vortex-file-compressed size/HashTags 195647860 195647860 1.00
vortex-file-compressed size/TPC-H l_comment canonical 179087392 179087392 1.00
vortex-file-compressed size/TPC-H l_comment chunked 179087392 179087392 1.00
vortex-file-compressed size/taxi 52363980 52363980 1.00
vortex-file-compressed size/wide table cols=100 chunks=1 rows=1000 930880 930880 1.00
vortex-file-compressed size/wide table cols=100 chunks=50 rows=1000 930880 930880 1.00
vortex-file-compressed size/wide table cols=1000 chunks=1 rows=1000 9293680 9293680 1.00
vortex-file-compressed size/wide table cols=1000 chunks=50 rows=1000 9293680 9293680 1.00
vortex-file-compressed size/wide table cols=10000 chunks=1 rows=1000 92957680 92957680 1.00
vortex-file-compressed size/wide table cols=10000 chunks=50 rows=1000 92957680 92957680 1.00
vortex:parquet-zstd ratio compress time/Arade 🚨 0 0 1.11
vortex:parquet-zstd ratio compress time/Bimbo 0 0 0.99
vortex:parquet-zstd ratio compress time/CMSprovider 0 0 0.96
vortex:parquet-zstd ratio compress time/Euro2016 0 0 0.95
vortex:parquet-zstd ratio compress time/Food 0 0 1.02
vortex:parquet-zstd ratio compress time/HashTags 0 0 0.99
vortex:parquet-zstd ratio compress time/TPC-H l_comment canonical 0 0 1.02
vortex:parquet-zstd ratio compress time/TPC-H l_comment chunked 0 0 1.02
vortex:parquet-zstd ratio compress time/taxi 0 0 1.00
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=1 rows=1000 1 2 0.90
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=50 rows=1000 1 1 1.03
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=1 rows=1000 1 1 0.99
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=50 rows=1000 1 1 1.02
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=1 rows=1000 1 1 1.02
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=50 rows=1000 1 1 1.06
vortex:parquet-zstd ratio decompress time/Arade 0 0 1.06
vortex:parquet-zstd ratio decompress time/Bimbo 0 0 1.02
vortex:parquet-zstd ratio decompress time/CMSprovider 0 0 1.03
vortex:parquet-zstd ratio decompress time/Euro2016 0 0 1.00
vortex:parquet-zstd ratio decompress time/Food 0 0 0.96
vortex:parquet-zstd ratio decompress time/HashTags 0 0 0.99
vortex:parquet-zstd ratio decompress time/TPC-H l_comment canonical 0 0 0.93
vortex:parquet-zstd ratio decompress time/TPC-H l_comment chunked 0 0 1.03
vortex:parquet-zstd ratio decompress time/taxi 0 0 1.00
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=1 rows=1000 0 0 0.93
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=50 rows=1000 0 0 0.97
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=1 rows=1000 0 0 0.97
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=50 rows=1000 0 0 1.00
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=1 rows=1000 0 0 1.04
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=50 rows=1000 0 0 1.00
vortex:parquet-zstd size/Arade 0 0 1.00
vortex:parquet-zstd size/Bimbo 1 1 1.00
vortex:parquet-zstd size/CMSprovider 1 1 1.00
vortex:parquet-zstd size/Euro2016 1 1 1.00
vortex:parquet-zstd size/Food 1 1 1.00
vortex:parquet-zstd size/HashTags 1 1 1.00
vortex:parquet-zstd size/TPC-H l_comment canonical 1 1 1.00
vortex:parquet-zstd size/TPC-H l_comment chunked 1 1 1.00
vortex:parquet-zstd size/taxi 0 0 1.00
vortex:parquet-zstd size/wide table cols=100 chunks=1 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=100 chunks=50 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=1000 chunks=1 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=1000 chunks=50 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=10000 chunks=1 rows=1000 0 0 1.00
vortex:parquet-zstd size/wide table cols=10000 chunks=50 rows=1000 0 0 1.00

@github-actions
Copy link
Copy Markdown
Contributor

github-actions Bot commented Jun 1, 2026

Benchmarks: TPC-H SF=10 on S3

Verdict: No clear signal (environment too noisy confidence)
Attributed Vortex impact: +1.8%
Engines: DataFusion No clear signal (+0.6%, environment too noisy confidence) · DuckDB No clear signal (+3.1%, environment too noisy confidence)
Vortex (geomean): 0.911x ➖
Parquet (geomean): 0.895x ➖
Shifts: Parquet (control) -10.5% · Median polish -10.4%

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

datafusion / vortex-file-compressed (0.875x ➖, 1↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-file-compressed 667530781 785512734 0.85
tpch_q02/datafusion:vortex-file-compressed 876429208 1007728347 0.87
tpch_q03/datafusion:vortex-file-compressed 845734559 1048695811 0.81
tpch_q04/datafusion:vortex-file-compressed 586775588 704211862 0.83
tpch_q05/datafusion:vortex-file-compressed 1029521243 1018359806 1.01
tpch_q06/datafusion:vortex-file-compressed 591283819 624021762 0.95
tpch_q07/datafusion:vortex-file-compressed 1006997603 1163165735 0.87
tpch_q08/datafusion:vortex-file-compressed 1165594509 1531195539 0.76
tpch_q09/datafusion:vortex-file-compressed 1389895136 1831590225 0.76
tpch_q10/datafusion:vortex-file-compressed 961650362 1225265609 0.78
tpch_q11/datafusion:vortex-file-compressed 503829982 649124070 0.78
tpch_q12/datafusion:vortex-file-compressed 868434892 1031567952 0.84
tpch_q13/datafusion:vortex-file-compressed 418093073 498906006 0.84
tpch_q14/datafusion:vortex-file-compressed 625209032 582921809 1.07
tpch_q15/datafusion:vortex-file-compressed 1069997611 965155390 1.11
tpch_q16/datafusion:vortex-file-compressed 🚀 446727275 649803513 0.69
tpch_q17/datafusion:vortex-file-compressed 1297724151 1272406641 1.02
tpch_q18/datafusion:vortex-file-compressed 1264411109 1395710792 0.91
tpch_q19/datafusion:vortex-file-compressed 852894727 824591478 1.03
tpch_q20/datafusion:vortex-file-compressed 927010543 1033627726 0.90
tpch_q21/datafusion:vortex-file-compressed 1614233956 1713067400 0.94
tpch_q22/datafusion:vortex-file-compressed 385347052 488501549 0.79
datafusion / vortex-compact (0.953x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:vortex-compact 669120301 777916301 0.86
tpch_q02/datafusion:vortex-compact 685786358 703472749 0.97
tpch_q03/datafusion:vortex-compact 713639616 775403828 0.92
tpch_q04/datafusion:vortex-compact 523247265 513198045 1.02
tpch_q05/datafusion:vortex-compact 1089668565 1025640567 1.06
tpch_q06/datafusion:vortex-compact 614144518 604590063 1.02
tpch_q07/datafusion:vortex-compact 967994812 1078167774 0.90
tpch_q08/datafusion:vortex-compact 1179715584 1363284684 0.87
tpch_q09/datafusion:vortex-compact 1209680186 1396171271 0.87
tpch_q10/datafusion:vortex-compact 896904051 1051386124 0.85
tpch_q11/datafusion:vortex-compact 401706857 461189850 0.87
tpch_q12/datafusion:vortex-compact 793096447 759931716 1.04
tpch_q13/datafusion:vortex-compact 448694328 434564939 1.03
tpch_q14/datafusion:vortex-compact 607395466 540374290 1.12
tpch_q15/datafusion:vortex-compact 1091064632 982382829 1.11
tpch_q16/datafusion:vortex-compact 380618970 392050018 0.97
tpch_q17/datafusion:vortex-compact 1223296017 1307463071 0.94
tpch_q18/datafusion:vortex-compact 1135003892 1274055203 0.89
tpch_q19/datafusion:vortex-compact 772688979 822328094 0.94
tpch_q20/datafusion:vortex-compact 811966757 914677283 0.89
tpch_q21/datafusion:vortex-compact 1474482131 1602299573 0.92
tpch_q22/datafusion:vortex-compact 575588861 589717233 0.98
datafusion / parquet (0.908x ➖, 1↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/datafusion:parquet 842771359 925584821 0.91
tpch_q02/datafusion:parquet 873945154 954830140 0.92
tpch_q03/datafusion:parquet 979817312 924232312 1.06
tpch_q04/datafusion:parquet 497495930 460245714 1.08
tpch_q05/datafusion:parquet 1113887639 1144947830 0.97
tpch_q06/datafusion:parquet 550207735 514861638 1.07
tpch_q07/datafusion:parquet 1302069511 1285010952 1.01
tpch_q08/datafusion:parquet 1527295955 1545517900 0.99
tpch_q09/datafusion:parquet 1762563637 2017297269 0.87
tpch_q10/datafusion:parquet 1967611834 2136149523 0.92
tpch_q11/datafusion:parquet 453915188 535107391 0.85
tpch_q12/datafusion:parquet 608859567 774146819 0.79
tpch_q13/datafusion:parquet 662546937 749010446 0.88
tpch_q14/datafusion:parquet 772294429 804879589 0.96
tpch_q15/datafusion:parquet 1279456793 1337601823 0.96
tpch_q16/datafusion:parquet 423513813 489607780 0.87
tpch_q17/datafusion:parquet 1327715060 1610336807 0.82
tpch_q18/datafusion:parquet 1504392821 1734737844 0.87
tpch_q19/datafusion:parquet 890932558 973474127 0.92
tpch_q20/datafusion:parquet 1159187985 1362282617 0.85
tpch_q21/datafusion:parquet 1672705233 1984678325 0.84
tpch_q22/datafusion:parquet 🚀 737332909 1082353786 0.68
duckdb / vortex-file-compressed (0.878x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-file-compressed 604920020 686329353 0.88
tpch_q02/duckdb:vortex-file-compressed 1048201787 1298993676 0.81
tpch_q03/duckdb:vortex-file-compressed 845512658 1052488740 0.80
tpch_q04/duckdb:vortex-file-compressed 705695286 842988552 0.84
tpch_q05/duckdb:vortex-file-compressed 1068896481 1214108586 0.88
tpch_q06/duckdb:vortex-file-compressed 575978145 634892547 0.91
tpch_q07/duckdb:vortex-file-compressed 1191845158 1523714386 0.78
tpch_q08/duckdb:vortex-file-compressed 1430130172 1615278631 0.89
tpch_q09/duckdb:vortex-file-compressed 1627441420 1998540046 0.81
tpch_q10/duckdb:vortex-file-compressed 1127105306 1234707107 0.91
tpch_q11/duckdb:vortex-file-compressed 587130158 728032381 0.81
tpch_q12/duckdb:vortex-file-compressed 1257518737 1433423872 0.88
tpch_q13/duckdb:vortex-file-compressed 875130905 875986688 1.00
tpch_q14/duckdb:vortex-file-compressed 597695404 695449485 0.86
tpch_q15/duckdb:vortex-file-compressed 530680845 613978752 0.86
tpch_q16/duckdb:vortex-file-compressed 499956882 527688719 0.95
tpch_q17/duckdb:vortex-file-compressed 988443767 1097262595 0.90
tpch_q18/duckdb:vortex-file-compressed 940310702 1091349404 0.86
tpch_q19/duckdb:vortex-file-compressed 794114662 939112845 0.85
tpch_q20/duckdb:vortex-file-compressed 1319364313 1332990398 0.99
tpch_q21/duckdb:vortex-file-compressed 2020633540 2325769972 0.87
tpch_q22/duckdb:vortex-file-compressed 438547770 419389566 1.05
duckdb / vortex-compact (0.941x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:vortex-compact 602025935 659667178 0.91
tpch_q02/duckdb:vortex-compact 1062890182 1170568775 0.91
tpch_q03/duckdb:vortex-compact 856008654 960111874 0.89
tpch_q04/duckdb:vortex-compact 585562548 630962924 0.93
tpch_q05/duckdb:vortex-compact 1077676308 1162745718 0.93
tpch_q06/duckdb:vortex-compact 642402250 642560458 1.00
tpch_q07/duckdb:vortex-compact 1138896298 1140368595 1.00
tpch_q08/duckdb:vortex-compact 1468618947 1553244568 0.95
tpch_q09/duckdb:vortex-compact 1678511975 1733341036 0.97
tpch_q10/duckdb:vortex-compact 1150346374 1261570983 0.91
tpch_q11/duckdb:vortex-compact 782766434 712542540 1.10
tpch_q12/duckdb:vortex-compact 1132373771 1234486156 0.92
tpch_q13/duckdb:vortex-compact 762604500 843596264 0.90
tpch_q14/duckdb:vortex-compact 657222455 705516154 0.93
tpch_q15/duckdb:vortex-compact 512050078 602014093 0.85
tpch_q16/duckdb:vortex-compact 423646891 456103081 0.93
tpch_q17/duckdb:vortex-compact 909880471 954030625 0.95
tpch_q18/duckdb:vortex-compact 833212899 813727066 1.02
tpch_q19/duckdb:vortex-compact 739323259 842539751 0.88
tpch_q20/duckdb:vortex-compact 1214626930 1271741076 0.96
tpch_q21/duckdb:vortex-compact 1886029353 1953772179 0.97
tpch_q22/duckdb:vortex-compact 441545213 469545022 0.94
duckdb / parquet (0.882x ➖, 0↑ 0↓)
name PR d1418cf (ns) base 9f0dc85 (ns) ratio (PR/base)
tpch_q01/duckdb:parquet 826797171 831300394 0.99
tpch_q02/duckdb:parquet 1255480315 1369853883 0.92
tpch_q03/duckdb:parquet 1620861583 1824864880 0.89
tpch_q04/duckdb:parquet 951458795 1084641400 0.88
tpch_q05/duckdb:parquet 1821725553 2078140071 0.88
tpch_q06/duckdb:parquet 739613877 885070392 0.84
tpch_q07/duckdb:parquet 1653212368 1836065199 0.90
tpch_q08/duckdb:parquet 2179390208 2513306995 0.87
tpch_q09/duckdb:parquet 2361313420 2934957905 0.80
tpch_q10/duckdb:parquet 2849246532 3071537381 0.93
tpch_q11/duckdb:parquet 860197651 874803552 0.98
tpch_q12/duckdb:parquet 1091823074 1362955790 0.80
tpch_q13/duckdb:parquet 1122459035 1362554588 0.82
tpch_q14/duckdb:parquet 1125411648 1257321249 0.90
tpch_q15/duckdb:parquet 848411875 1046891137 0.81
tpch_q16/duckdb:parquet 828403092 971960133 0.85
tpch_q17/duckdb:parquet 1287657909 1370526043 0.94
tpch_q18/duckdb:parquet 1415255157 1559730819 0.91
tpch_q19/duckdb:parquet 1377916510 1496573760 0.92
tpch_q20/duckdb:parquet 1747312830 2242835247 0.78
tpch_q21/duckdb:parquet 1679096999 1957912796 0.86
tpch_q22/duckdb:parquet 1022921973 1035770755 0.99
Full attributed analysis
Query Config Raw Δ Control Δ Attributed α Noise floor Significant?
1 datafusion:vortex-compact -14.0% -4.8% -9.6% +32.6% ➖ noise
1 datafusion:vortex-file-compressed -15.0% -4.8% -10.7% +37.6% ➖ noise
1 duckdb:vortex-compact -8.7% -4.8% -4.1% +30.0% ➖ noise
1 duckdb:vortex-file-compressed -11.9% -4.8% -7.4% +30.0% ➖ noise
2 datafusion:vortex-compact -2.5% -8.4% +6.4% +31.7% ➖ noise
2 datafusion:vortex-file-compressed -13.0% -8.4% -5.0% +30.0% ➖ noise
2 duckdb:vortex-compact -9.2% -8.4% -0.9% +31.0% ➖ noise
2 duckdb:vortex-file-compressed -19.3% -8.4% -11.9% +30.0% ➖ noise
3 datafusion:vortex-compact -8.0% -3.0% -5.2% +38.0% ➖ noise
3 datafusion:vortex-file-compressed -19.4% -3.0% -16.9% +41.9% ➖ noise
3 duckdb:vortex-compact -10.8% -3.0% -8.1% +33.5% ➖ noise
3 duckdb:vortex-file-compressed -19.7% -3.0% -17.2% +31.7% ➖ noise
4 datafusion:vortex-compact +2.0% -2.6% +4.7% +30.0% ➖ noise
4 datafusion:vortex-file-compressed -16.7% -2.6% -14.4% +30.0% ➖ noise
4 duckdb:vortex-compact -7.2% -2.6% -4.7% +30.0% ➖ noise
4 duckdb:vortex-file-compressed -16.3% -2.6% -14.0% +30.0% ➖ noise
5 datafusion:vortex-compact +6.2% -7.7% +15.0% +30.0% ➖ noise
5 datafusion:vortex-file-compressed +1.1% -7.7% +9.5% +30.0% ➖ noise
5 duckdb:vortex-compact -7.3% -7.7% +0.4% +30.0% ➖ noise
5 duckdb:vortex-file-compressed -12.0% -7.7% -4.7% +30.0% ➖ noise
6 datafusion:vortex-compact +1.6% -5.5% +7.5% +52.9% ➖ noise
6 datafusion:vortex-file-compressed -5.2% -5.5% +0.3% +53.9% ➖ noise
6 duckdb:vortex-compact -0.0% -5.5% +5.8% +54.9% ➖ noise
6 duckdb:vortex-file-compressed -9.3% -5.5% -4.0% +51.5% ➖ noise
7 datafusion:vortex-compact -10.2% -4.5% -6.0% +30.0% ➖ noise
7 datafusion:vortex-file-compressed -13.4% -4.5% -9.4% +30.0% ➖ noise
7 duckdb:vortex-compact -0.1% -4.5% +4.6% +30.0% ➖ noise
7 duckdb:vortex-file-compressed -21.8% -4.5% -18.1% +30.0% ➖ noise
8 datafusion:vortex-compact -13.5% -7.4% -6.5% +30.0% ➖ noise
8 datafusion:vortex-file-compressed -23.9% -7.4% -17.8% +30.0% ➖ noise
8 duckdb:vortex-compact -5.4% -7.4% +2.1% +30.0% ➖ noise
8 duckdb:vortex-file-compressed -11.5% -7.4% -4.4% +30.0% ➖ noise
9 datafusion:vortex-compact -13.4% -16.2% +3.3% +30.0% ➖ noise
9 datafusion:vortex-file-compressed -24.1% -16.2% -9.5% +30.0% ➖ noise
9 duckdb:vortex-compact -3.2% -16.2% +15.5% +30.0% ➖ noise
9 duckdb:vortex-file-compressed -18.6% -16.2% -2.9% +30.0% ➖ noise
10 datafusion:vortex-compact -14.7% -7.6% -7.7% +30.0% ➖ noise
10 datafusion:vortex-file-compressed -21.5% -7.6% -15.1% +30.0% ➖ noise
10 duckdb:vortex-compact -8.8% -7.6% -1.4% +30.0% ➖ noise
10 duckdb:vortex-file-compressed -8.7% -7.6% -1.2% +30.0% ➖ noise
11 datafusion:vortex-compact -12.9% -8.7% -4.6% +30.0% ➖ noise
11 datafusion:vortex-file-compressed -22.4% -8.7% -15.0% +30.0% ➖ noise
11 duckdb:vortex-compact +9.9% -8.7% +20.3% +30.0% ➖ noise
11 duckdb:vortex-file-compressed -19.4% -8.7% -11.7% +30.0% ➖ noise
12 datafusion:vortex-compact +4.4% -20.6% +31.5% +30.0% 🚨 regression
12 datafusion:vortex-file-compressed -15.8% -20.6% +6.1% +30.0% ➖ noise
12 duckdb:vortex-compact -8.3% -20.6% +15.6% +30.0% ➖ noise
12 duckdb:vortex-file-compressed -12.3% -20.6% +10.5% +30.0% ➖ noise
13 datafusion:vortex-compact +3.3% -14.6% +21.0% +39.8% ➖ noise
13 datafusion:vortex-file-compressed -16.2% -14.6% -1.8% +30.0% ➖ noise
13 duckdb:vortex-compact -9.6% -14.6% +5.9% +30.0% ➖ noise
13 duckdb:vortex-file-compressed -0.1% -14.6% +17.0% +30.0% ➖ noise
14 datafusion:vortex-compact +12.4% -7.3% +21.3% +30.0% ➖ noise
14 datafusion:vortex-file-compressed +7.3% -7.3% +15.7% +30.0% ➖ noise
14 duckdb:vortex-compact -6.8% -7.3% +0.5% +30.0% ➖ noise
14 duckdb:vortex-file-compressed -14.1% -7.3% -7.3% +30.0% ➖ noise
15 datafusion:vortex-compact +11.1% -12.0% +26.1% +30.0% ➖ noise
15 datafusion:vortex-file-compressed +10.9% -12.0% +25.9% +30.0% ➖ noise
15 duckdb:vortex-compact -14.9% -12.0% -3.4% +30.0% ➖ noise
15 duckdb:vortex-file-compressed -13.6% -12.0% -1.8% +30.0% ➖ noise
16 datafusion:vortex-compact -2.9% -14.1% +13.1% +30.0% ➖ noise
16 datafusion:vortex-file-compressed -31.3% -14.1% -19.9% +41.3% ➖ noise
16 duckdb:vortex-compact -7.1% -14.1% +8.2% +30.0% ➖ noise
16 duckdb:vortex-file-compressed -5.3% -14.1% +10.3% +30.0% ➖ noise
17 datafusion:vortex-compact -6.4% -12.0% +6.3% +30.0% ➖ noise
17 datafusion:vortex-file-compressed +2.0% -12.0% +15.9% +30.0% ➖ noise
17 duckdb:vortex-compact -4.6% -12.0% +8.4% +30.0% ➖ noise
17 duckdb:vortex-file-compressed -9.9% -12.0% +2.4% +30.0% ➖ noise
18 datafusion:vortex-compact -10.9% -11.3% +0.4% +30.0% ➖ noise
18 datafusion:vortex-file-compressed -9.4% -11.3% +2.1% +30.0% ➖ noise
18 duckdb:vortex-compact +2.4% -11.3% +15.4% +30.0% ➖ noise
18 duckdb:vortex-file-compressed -13.8% -11.3% -2.9% +30.0% ➖ noise
19 datafusion:vortex-compact -6.0% -8.2% +2.4% +30.0% ➖ noise
19 datafusion:vortex-file-compressed +3.4% -8.2% +12.7% +30.0% ➖ noise
19 duckdb:vortex-compact -12.3% -8.2% -4.4% +30.0% ➖ noise
19 duckdb:vortex-file-compressed -15.4% -8.2% -7.9% +30.0% ➖ noise
20 datafusion:vortex-compact -11.2% -18.6% +9.0% +30.0% ➖ noise
20 datafusion:vortex-file-compressed -10.3% -18.6% +10.2% +30.0% ➖ noise
20 duckdb:vortex-compact -4.5% -18.6% +17.3% +30.0% ➖ noise
20 duckdb:vortex-file-compressed -1.0% -18.6% +21.6% +30.0% ➖ noise
21 datafusion:vortex-compact -8.0% -15.0% +8.2% +55.5% ➖ noise
21 datafusion:vortex-file-compressed -5.8% -15.0% +10.8% +30.0% ➖ noise
21 duckdb:vortex-compact -3.5% -15.0% +13.5% +30.0% ➖ noise
21 duckdb:vortex-file-compressed -13.1% -15.0% +2.2% +30.0% ➖ noise
22 datafusion:vortex-compact -2.4% -18.0% +19.0% +38.4% ➖ noise
22 datafusion:vortex-file-compressed -21.1% -18.0% -3.8% +30.0% ➖ noise
22 duckdb:vortex-compact -6.0% -18.0% +14.6% +37.0% ➖ noise
22 duckdb:vortex-file-compressed +4.6% -18.0% +27.5% +30.0% ➖ noise

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants