Skip to content

bench: run morsel reader in CI benchmarks - #9684

Draft
joseph-isaacs wants to merge 5 commits into
developfrom
claude/morsel-compress-random-access-ci
Draft

bench: run morsel reader in CI benchmarks#9684
joseph-isaacs wants to merge 5 commits into
developfrom
claude/morsel-compress-random-access-ci

Conversation

@joseph-isaacs

@joseph-isaacs joseph-isaacs commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Throwaway draft to exercise the morsel-driven layout reader in CI. This branch is not intended to merge.

  • keeps the existing benchmark labels/result identities
  • runs Vortex compression and random-access paths through morsels
  • routes DataFusion and DuckDB ScanBuilder scans through the morsel executor
  • emits one array per morsel, preserving ordered DataFusion delivery while allowing DuckDB batch reordering
  • writes SQL benchmark files without dictionary layouts and retains zoned statistics for per-morsel pruning
  • drops failed or wrong-row-count SQL measurements instead of aborting or reporting a number
  • rejects unsupported limits and row-index scans; nested and dictionary layouts remain unsupported

Checks:

  • cargo test -p vortex-morsel
  • cargo test -p vortex-datafusion persistent::opener::tests -- --nocapture (27 passed, 2 intentionally ignored)
  • cargo test -p vortex-duckdb (218 passed, 2 pre-existing S3 ignores)
  • cargo test -p vortex-bench runner::tests
  • affected-package cargo clippy --all-targets -- -D warnings
  • TPC-H SF1 Q1 SQL smoke: DataFusion + Vortex and DuckDB + Vortex

@joseph-isaacs joseph-isaacs added action/bench-compress Run only the compression benchmark on this PR action/bench-random-access Run only the random-access benchmark on this PR labels Aug 28, 2026 — with ChatGPT Codex Connector
@joseph-isaacs joseph-isaacs removed action/bench-compress Run only the compression benchmark on this PR action/bench-random-access Run only the random-access benchmark on this PR labels Aug 28, 2026
@joseph-isaacs joseph-isaacs added action/bench-compress Run only the compression benchmark on this PR action/bench-random-access Run only the random-access benchmark on this PR labels Aug 28, 2026 — with ChatGPT Codex Connector
@joseph-isaacs
joseph-isaacs force-pushed the claude/morsel-compress-random-access-ci branch from 0c19a5a to 78b2246 Compare August 28, 2026 08:09
@joseph-isaacs joseph-isaacs removed action/bench-compress Run only the compression benchmark on this PR action/bench-random-access Run only the random-access benchmark on this PR labels Aug 28, 2026
@joseph-isaacs joseph-isaacs added action/bench-compress Run only the compression benchmark on this PR action/bench-random-access Run only the random-access benchmark on this PR labels Aug 28, 2026 — with ChatGPT Codex Connector
@github-actions github-actions Bot removed action/bench-compress Run only the compression benchmark on this PR action/bench-random-access Run only the random-access benchmark on this PR labels Aug 28, 2026
Copy the complete morsel prototype onto current develop and route the
compression and random-access Vortex benchmark lanes through it. Unsupported
measurements are omitted so the throwaway CI run can survey partial coverage.

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs
joseph-isaacs force-pushed the claude/morsel-compress-random-access-ci branch from 78b2246 to 5b3cb2e Compare August 28, 2026 08:16
@codspeed-hq

codspeed-hq Bot commented Aug 28, 2026

Copy link
Copy Markdown

Merging this PR will degrade performance by 3.77%

⚠️ 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.

⚠️ Different runtime environments detected

Some benchmarks with significant performance changes were compared across different runtime environments,
which may affect the accuracy of the results.

Open the report in CodSpeed to investigate

⚡ 1 improved benchmark
❌ 1 regressed benchmark
✅ 2167 untouched benchmarks
⏩ 106 skipped benchmarks1
🗄️ 4 archived benchmarks run2

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
WallTime arrow_checked_add_u32_avx2[16384] 17.7 µs 21.3 µs -16.89%
WallTime mul_u32_nonnull_avx512 6.3 µs 5.7 µs +11.43%

Tip

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


Comparing claude/morsel-compress-random-access-ci (681bb3d) with develop (01f147a)

Open in CodSpeed

Footnotes

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

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

@joseph-isaacs joseph-isaacs added action/bench-compress Run only the compression benchmark on this PR action/bench-random-access Run only the random-access benchmark on this PR labels Aug 28, 2026 — with ChatGPT Codex Connector
@github-actions github-actions Bot removed action/bench-compress Run only the compression benchmark on this PR action/bench-random-access Run only the random-access benchmark on this PR labels Aug 28, 2026
@github-actions

github-actions Bot commented Aug 28, 2026

Copy link
Copy Markdown
Contributor

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done 5b3cb2e random-access-bench 1 Explore Profiling Data
🟢 Done 5b3cb2e compress-bench 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Compression 📖

Commits: PR 5b3cb2e4 vs base 68e2aee0


vortex / vortex-file-compressed / ns (0.941x ➖, 4↑ 2↓)
name ns (PR / base / %diff)
compress time/Arade 1162917746 / 1248805660 / -6.9%
compress time/Bimbo 4920803026 / 5154059542 / -4.5%
compress time/CMSprovider 3936360053 / 4015717164 / -2.0%
compress time/Euro2016 491223179 / 510973997 / -3.9%
compress time/Food 430631539 / 428422301 / +0.5%
compress time/HashTags 918033619 / 923401677 / -0.6%
compress time/TPC-H l_comment canonical 1117248352 / 1180446412 / -5.4%
compress time/TPC-H l_comment chunked 1132820964 / 1239332321 / -8.6%
compress time/taxi 564596059 / 558651509 / +1.1%
compress time/wide table cols=100 chunks=1 rows=1000 8104888 / 8580166 / -5.5%
compress time/wide table cols=100 chunks=50 rows=1000 8323796 / 8281779 / +0.5%
compress time/wide table cols=1000 chunks=1 rows=1000 82391530 / 85342548 / -3.5%
compress time/wide table cols=1000 chunks=50 rows=1000 83573668 / 84887805 / -1.5%
compress time/wide table cols=10000 chunks=1 rows=1000 976944035 / 1010663877 / -3.3%
compress time/wide table cols=10000 chunks=50 rows=1000 982349418 / 992693882 / -1.0%
decompress time/wide table cols=100 chunks=1 rows=1000 4288358 / 2284321 / +87.7% 🔴
decompress time/wide table cols=100 chunks=50 rows=1000 4124677 / 2336887 / +76.5% 🔴
decompress time/wide table cols=1000 chunks=1 rows=1000 17396849 / 22709674 / -23.4% 🟢
decompress time/wide table cols=1000 chunks=50 rows=1000 17282137 / 22881068 / -24.5% 🟢
decompress time/wide table cols=10000 chunks=1 rows=1000 144257462 / 337825788 / -57.3% 🟢
decompress time/wide table cols=10000 chunks=50 rows=1000 143964755 / 269245696 / -46.5% 🟢
vortex / vortex-file-compressed / bytes (1.000x ➖, 0↑ 0↓)
name bytes (PR / base / %diff)
vortex-file-compressed size/Arade 144460892 / 144460892 / +0.0%
vortex-file-compressed size/Bimbo 461842820 / 461842820 / +0.0%
vortex-file-compressed size/CMSprovider 415192372 / 415192372 / +0.0%
vortex-file-compressed size/Euro2016 157674980 / 157674316 / +0.0%
vortex-file-compressed size/Food 41581536 / 41581536 / +0.0%
vortex-file-compressed size/HashTags 177840236 / 177840236 / +0.0%
vortex-file-compressed size/TPC-H l_comment canonical 163453296 / 163453296 / +0.0%
vortex-file-compressed size/TPC-H l_comment chunked 163453296 / 163453296 / +0.0%
vortex-file-compressed size/taxi 51475084 / 51475084 / +0.0%
vortex-file-compressed size/wide table cols=100 chunks=1 rows=1000 932656 / 932656 / +0.0%
vortex-file-compressed size/wide table cols=100 chunks=50 rows=1000 932656 / 932656 / +0.0%
vortex-file-compressed size/wide table cols=1000 chunks=1 rows=1000 9309856 / 9309856 / +0.0%
vortex-file-compressed size/wide table cols=1000 chunks=50 rows=1000 9309856 / 9309856 / +0.0%
vortex-file-compressed size/wide table cols=10000 chunks=1 rows=1000 93117856 / 93117856 / +0.0%
vortex-file-compressed size/wide table cols=10000 chunks=50 rows=1000 93117856 / 93117856 / +0.0%
vortex / vortex-file-compressed / ratio (0.963x ➖, 4↑ 2↓)
name ratio (PR / base / %diff)
vortex:parquet-zstd ratio compress time/Arade 0.404820372 / 0.434415258 / -6.8%
vortex:parquet-zstd ratio compress time/Bimbo 0.352929442 / 0.366149024 / -3.6%
vortex:parquet-zstd ratio compress time/CMSprovider 0.509237988 / 0.519872584 / -2.0%
vortex:parquet-zstd ratio compress time/Euro2016 0.322917085 / 0.333026493 / -3.0%
vortex:parquet-zstd ratio compress time/Food 0.47723482 / 0.466446316 / +2.3%
vortex:parquet-zstd ratio compress time/HashTags 0.37630135 / 0.379142051 / -0.7%
vortex:parquet-zstd ratio compress time/TPC-H l_comment canonical 0.303525078 / 0.318224028 / -4.6%
vortex:parquet-zstd ratio compress time/TPC-H l_comment chunked 0.308358304 / 0.334439825 / -7.8%
vortex:parquet-zstd ratio compress time/taxi 0.421178876 / 0.408331698 / +3.1%
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=1 rows=1000 1.54168416 / 1.66673323 / -7.5%
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=50 rows=1000 1.62739773 / 1.61061811 / +1.0%
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=1 rows=1000 1.27635066 / 1.33328771 / -4.3%
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=50 rows=1000 1.28889471 / 1.32063271 / -2.4%
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=1 rows=1000 1.31327629 / 1.35825265 / -3.3%
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=50 rows=1000 1.32388429 / 1.32583813 / -0.1%
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=1 rows=1000 1.76759763 / 0.980065506 / +80.4% 🔴
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=50 rows=1000 1.78182337 / 1.00672822 / +77.0% 🔴
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=1 rows=1000 0.629321522 / 0.845889938 / -25.6% 🟢
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=50 rows=1000 0.616894648 / 0.844214964 / -26.9% 🟢
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=1 rows=1000 0.480547854 / 1.14057551 / -57.9% 🟢
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=50 rows=1000 0.474383304 / 0.900801431 / -47.3% 🟢
vortex:parquet-zstd size/Arade 0.559894944 / 0.559894944 / -0.0%
vortex:parquet-zstd size/Bimbo 1.20109766 / 1.20109766 / -0.0%
vortex:parquet-zstd size/CMSprovider 1.10163356 / 1.10163356 / -0.0%
vortex:parquet-zstd size/Euro2016 1.2821288 / 1.2821234 / +0.0%
vortex:parquet-zstd size/Food 1.16476522 / 1.16476522 / -0.0%
vortex:parquet-zstd size/HashTags 1.33216065 / 1.33216065 / -0.0%
vortex:parquet-zstd size/TPC-H l_comment canonical 1.03217425 / 1.03217425 / +0.0%
vortex:parquet-zstd size/TPC-H l_comment chunked 1.03217425 / 1.03217425 / +0.0%
vortex:parquet-zstd size/taxi 0.93110889 / 0.93110889 / -0.0%
vortex:parquet-zstd size/wide table cols=100 chunks=1 rows=1000 1.00027027 / 1.00027027 / -0.0%
vortex:parquet-zstd size/wide table cols=100 chunks=50 rows=1000 1.00027027 / 1.00027027 / -0.0%
vortex:parquet-zstd size/wide table cols=1000 chunks=1 rows=1000 0.998482626 / 0.998482626 / -0.0%
vortex:parquet-zstd size/wide table cols=1000 chunks=50 rows=1000 0.998482626 / 0.998482626 / -0.0%
vortex:parquet-zstd size/wide table cols=10000 chunks=1 rows=1000 0.998689961 / 0.998689961 / +0.0%
vortex:parquet-zstd size/wide table cols=10000 chunks=50 rows=1000 0.998689961 / 0.998689961 / +0.0%
vortex / parquet / ns (1.003x ➖, 0↑ 0↓)
name ns (PR / base / %diff)
parquet_rs-zstd compress time/Arade 2872675947 / 2874681857 / -0.1%
parquet_rs-zstd compress time/Bimbo 13942738790 / 14076398432 / -0.9%
parquet_rs-zstd compress time/CMSprovider 7729902605 / 7724425733 / +0.1%
parquet_rs-zstd compress time/Euro2016 1521205292 / 1534334380 / -0.9%
parquet_rs-zstd compress time/Food 902347275 / 918481477 / -1.8%
parquet_rs-zstd compress time/HashTags 2439623504 / 2435503196 / +0.2%
parquet_rs-zstd compress time/TPC-H l_comment canonical 3680909533 / 3709482335 / -0.8%
parquet_rs-zstd compress time/TPC-H l_comment chunked 3673716416 / 3705695994 / -0.9%
parquet_rs-zstd compress time/taxi 1340513712 / 1368131625 / -2.0%
parquet_rs-zstd compress time/wide table cols=100 chunks=1 rows=1000 5257165 / 5147894 / +2.1%
parquet_rs-zstd compress time/wide table cols=100 chunks=50 rows=1000 5114789 / 5141988 / -0.5%
parquet_rs-zstd compress time/wide table cols=1000 chunks=1 rows=1000 64552425 / 64009101 / +0.8%
parquet_rs-zstd compress time/wide table cols=1000 chunks=50 rows=1000 64841346 / 64278133 / +0.9%
parquet_rs-zstd compress time/wide table cols=10000 chunks=1 rows=1000 743898327 / 744091223 / -0.0%
parquet_rs-zstd compress time/wide table cols=10000 chunks=50 rows=1000 742020600 / 748729320 / -0.9%
parquet_rs-zstd decompress time/Arade 702563525 / 703679325 / -0.2%
parquet_rs-zstd decompress time/Bimbo 1900991840 / 1902122860 / -0.1%
parquet_rs-zstd decompress time/CMSprovider 1925483902 / 1917797059 / +0.4%
parquet_rs-zstd decompress time/Euro2016 416781639 / 416749217 / +0.0%
parquet_rs-zstd decompress time/Food 219804909 / 220043318 / -0.1%
parquet_rs-zstd decompress time/HashTags 672828541 / 677553721 / -0.7%
parquet_rs-zstd decompress time/TPC-H l_comment canonical 659095307 / 655777109 / +0.5%
parquet_rs-zstd decompress time/TPC-H l_comment chunked 658623563 / 654736182 / +0.6%
parquet_rs-zstd decompress time/taxi 279630496 / 276403994 / +1.2%
parquet_rs-zstd decompress time/wide table cols=100 chunks=1 rows=1000 2426094 / 2330784 / +4.1%
parquet_rs-zstd decompress time/wide table cols=100 chunks=50 rows=1000 2314863 / 2321269 / -0.3%
parquet_rs-zstd decompress time/wide table cols=1000 chunks=1 rows=1000 27643817 / 26847079 / +3.0%
parquet_rs-zstd decompress time/wide table cols=1000 chunks=50 rows=1000 28014730 / 27103367 / +3.4%
parquet_rs-zstd decompress time/wide table cols=10000 chunks=1 rows=1000 300193749 / 296188884 / +1.4%
parquet_rs-zstd decompress time/wide table cols=10000 chunks=50 rows=1000 303477702 / 298895724 / +1.5%
vortex / parquet / bytes (1.000x ➖, 0↑ 0↓)
name bytes (PR / base / %diff)
parquet size/Arade 258014282 / 258014282 / +0.0%
parquet size/Bimbo 384517292 / 384517292 / +0.0%
parquet size/CMSprovider 376887911 / 376887911 / +0.0%
parquet size/Euro2016 122979049 / 122979049 / +0.0%
parquet size/Food 35699500 / 35699500 / +0.0%
parquet size/HashTags 133497590 / 133497590 / +0.0%
parquet size/TPC-H l_comment canonical 158358238 / 158358238 / +0.0%
parquet size/TPC-H l_comment chunked 158358238 / 158358238 / +0.0%
parquet size/taxi 55283635 / 55283635 / +0.0%
parquet size/wide table cols=100 chunks=1 rows=1000 932404 / 932404 / +0.0%
parquet size/wide table cols=100 chunks=50 rows=1000 932404 / 932404 / +0.0%
parquet size/wide table cols=1000 chunks=1 rows=1000 9324004 / 9324004 / +0.0%
parquet size/wide table cols=1000 chunks=50 rows=1000 9324004 / 9324004 / +0.0%
parquet size/wide table cols=10000 chunks=1 rows=1000 93240004 / 93240004 / +0.0%
parquet size/wide table cols=10000 chunks=50 rows=1000 93240004 / 93240004 / +0.0%
vortex / arrow-ipc / ns (1.026x ➖, 0↑ 2↓)
name ns (PR / base / %diff)
arrow-ipc compress time/Arade 355919252 / 276483922 / +28.7% 🔴
arrow-ipc compress time/Bimbo 1820500853 / 1749685541 / +4.0%
arrow-ipc compress time/CMSprovider 1460620301 / 1428438748 / +2.3%
arrow-ipc compress time/Euro2016 97216547 / 98094465 / -0.9%
arrow-ipc compress time/Food 73390518 / 72674234 / +1.0%
arrow-ipc compress time/HashTags 294725617 / 284795292 / +3.5%
arrow-ipc compress time/TPC-H l_comment canonical 2101702641 / 2095242362 / +0.3%
arrow-ipc compress time/TPC-H l_comment chunked 2098868363 / 2096632902 / +0.1%
arrow-ipc compress time/taxi 162244000 / 160451707 / +1.1%
arrow-ipc compress time/wide table cols=100 chunks=1 rows=1000 417343 / 405484 / +2.9%
arrow-ipc compress time/wide table cols=100 chunks=50 rows=1000 406868 / 409563 / -0.7%
arrow-ipc compress time/wide table cols=1000 chunks=1 rows=1000 4931356 / 5034700 / -2.1%
arrow-ipc compress time/wide table cols=1000 chunks=50 rows=1000 5214496 / 5198438 / +0.3%
arrow-ipc compress time/wide table cols=10000 chunks=1 rows=1000 55079145 / 54061144 / +1.9%
arrow-ipc compress time/wide table cols=10000 chunks=50 rows=1000 55474100 / 54057043 / +2.6%
arrow-ipc decompress time/Arade 187362278 / 179235408 / +4.5%
arrow-ipc decompress time/Bimbo 596925885 / 589913833 / +1.2%
arrow-ipc decompress time/CMSprovider 713437741 / 683198883 / +4.4%
arrow-ipc decompress time/Euro2016 96262038 / 95977740 / +0.3%
arrow-ipc decompress time/Food 65712180 / 63497527 / +3.5%
arrow-ipc decompress time/HashTags 211375429 / 204369921 / +3.4%
arrow-ipc decompress time/TPC-H l_comment canonical 1032373628 / 1021906286 / +1.0%
arrow-ipc decompress time/TPC-H l_comment chunked 1017692469 / 1013089377 / +0.5%
arrow-ipc decompress time/taxi 72687778 / 73307091 / -0.8%
arrow-ipc decompress time/wide table cols=100 chunks=1 rows=1000 433453 / 386804 / +12.1% 🔴
arrow-ipc decompress time/wide table cols=100 chunks=50 rows=1000 422088 / 418248 / +0.9%
arrow-ipc decompress time/wide table cols=1000 chunks=1 rows=1000 4402641 / 4419977 / -0.4%
arrow-ipc decompress time/wide table cols=1000 chunks=50 rows=1000 4509071 / 4432790 / +1.7%
arrow-ipc decompress time/wide table cols=10000 chunks=1 rows=1000 53344903 / 52449996 / +1.7%
arrow-ipc decompress time/wide table cols=10000 chunks=50 rows=1000 53613457 / 52544240 / +2.0%
vortex / arrow-ipc / bytes (1.000x ➖, 0↑ 0↓)
name bytes (PR / base / %diff)
arrow-ipc size/Arade 691765162 / 691765162 / +0.0%
arrow-ipc size/Bimbo 3279590114 / 3279590114 / +0.0%
arrow-ipc size/CMSprovider 2422259682 / 2422259682 / +0.0%
arrow-ipc size/Euro2016 360582666 / 360582666 / +0.0%
arrow-ipc size/Food 255782338 / 255782338 / +0.0%
arrow-ipc size/HashTags 704785810 / 704785810 / +0.0%
arrow-ipc size/TPC-H l_comment canonical 4852929378 / 4852929378 / +0.0%
arrow-ipc size/TPC-H l_comment chunked 4852929378 / 4852929378 / +0.0%
arrow-ipc size/taxi 482329690 / 482329690 / +0.0%
arrow-ipc size/wide table cols=100 chunks=1 rows=1000 1257290 / 1257290 / +0.0%
arrow-ipc size/wide table cols=100 chunks=50 rows=1000 1257290 / 1257290 / +0.0%
arrow-ipc size/wide table cols=1000 chunks=1 rows=1000 12568506 / 12568506 / +0.0%
arrow-ipc size/wide table cols=1000 chunks=50 rows=1000 12568506 / 12568506 / +0.0%
arrow-ipc size/wide table cols=10000 chunks=1 rows=1000 125752506 / 125752506 / +0.0%
arrow-ipc size/wide table cols=10000 chunks=50 rows=1000 125752506 / 125752506 / +0.0%

@github-actions

Copy link
Copy Markdown
Contributor

Benchmarks: Random Access 📖

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

vortex / arrow-ipc / ns (0.995x ➖, 0↑ 0↓)
name ns (PR / base / %diff)
random-access/arrow-tokio-local-disk 69508 / 69752 / -0.3%
random-access/arrow-tokio-local-disk-footer 204006 / 202703 / +0.6%
random-access/feature-vectors/correlated/arrow-tokio-local-disk 2947113 / 2775146 / +6.2%
random-access/feature-vectors/correlated/arrow-tokio-local-disk-footer 3002536 / 3226960 / -7.0%
random-access/feature-vectors/uniform/arrow-tokio-local-disk 69647449 / 70336665 / -1.0%
random-access/feature-vectors/uniform/arrow-tokio-local-disk-footer 69732496 / 69510566 / +0.3%
random-access/nested-lists/correlated/arrow-tokio-local-disk 64099 / 68087 / -5.9%
random-access/nested-lists/correlated/arrow-tokio-local-disk-footer 119282 / 121488 / -1.8%
random-access/nested-lists/uniform/arrow-tokio-local-disk 1274097 / 1274431 / -0.0%
random-access/nested-lists/uniform/arrow-tokio-local-disk-footer 1295311 / 1363108 / -5.0%
random-access/nested-structs/correlated/arrow-tokio-local-disk 55077 / 54696 / +0.7%
random-access/nested-structs/correlated/arrow-tokio-local-disk-footer 103627 / 101345 / +2.3%
random-access/nested-structs/uniform/arrow-tokio-local-disk 1019298 / 972486 / +4.8%
random-access/nested-structs/uniform/arrow-tokio-local-disk-footer 1054375 / 1043526 / +1.0%
random-access/taxi/correlated/arrow-tokio-local-disk 120841 / 120546 / +0.2%
random-access/taxi/correlated/arrow-tokio-local-disk-footer 269986 / 271505 / -0.6%
random-access/taxi/uniform/arrow-tokio-local-disk 2674598 / 2743277 / -2.5%
random-access/taxi/uniform/arrow-tokio-local-disk-footer 2866751 / 2859705 / +0.2%
random-access / vortex-file-compressed / ns (9.120x ❌, 0↑ 8↓)
name ns (PR / base / %diff)
random-access/feature-vectors/correlated/vortex-tokio-local-disk 22091352 / 340670 / +6384.7% 🔴
random-access/feature-vectors/correlated/vortex-tokio-local-disk-footer 26107155 / 1677617 / +1456.2% 🔴
random-access/feature-vectors/uniform/vortex-tokio-local-disk 24546555 / 2635062 / +831.5% 🔴
random-access/feature-vectors/uniform/vortex-tokio-local-disk-footer 28654281 / 4447345 / +544.3% 🔴
random-access/nested-lists/correlated/vortex-tokio-local-disk 3177595 / 288205 / +1002.5% 🔴
random-access/nested-lists/correlated/vortex-tokio-local-disk-footer 3467463 / 454487 / +662.9% 🔴
random-access/nested-lists/uniform/vortex-tokio-local-disk 5233358 / 1620671 / +222.9% 🔴
random-access/nested-lists/uniform/vortex-tokio-local-disk-footer 5596671 / 1923101 / +191.0% 🔴
random-access / parquet / ns (1.002x ➖, 0↑ 0↓)
name ns (PR / base / %diff)
random-access/feature-vectors/correlated/parquet-tokio-local-disk 350671638018 / 353561221364 / -0.8%
random-access/feature-vectors/correlated/parquet-tokio-local-disk-footer 356943016782 / 355325563893 / +0.5%
random-access/feature-vectors/uniform/parquet-tokio-local-disk 355468325512 / 357201620770 / -0.5%
random-access/feature-vectors/uniform/parquet-tokio-local-disk-footer 352827977944 / 356335518442 / -1.0%
random-access/nested-lists/correlated/parquet-tokio-local-disk 239657171 / 239894885 / -0.1%
random-access/nested-lists/correlated/parquet-tokio-local-disk-footer 242853830 / 244679773 / -0.7%
random-access/nested-lists/uniform/parquet-tokio-local-disk 242941443 / 241854954 / +0.4%
random-access/nested-lists/uniform/parquet-tokio-local-disk-footer 235400900 / 245392376 / -4.1%
random-access/nested-structs/correlated/parquet-tokio-local-disk 19461817 / 19404470 / +0.3%
random-access/nested-structs/correlated/parquet-tokio-local-disk-footer 19888431 / 19214078 / +3.5%
random-access/nested-structs/uniform/parquet-tokio-local-disk 18898317 / 18976389 / -0.4%
random-access/nested-structs/uniform/parquet-tokio-local-disk-footer 19650349 / 19409988 / +1.2%
random-access/parquet-tokio-local-disk 179160840 / 175752061 / +1.9%
random-access/parquet-tokio-local-disk-footer 177707166 / 177589237 / +0.1%
random-access/taxi/correlated/parquet-tokio-local-disk 269523871 / 263563522 / +2.3%
random-access/taxi/correlated/parquet-tokio-local-disk-footer 265945651 / 266348816 / -0.2%
random-access/taxi/uniform/parquet-tokio-local-disk 279729472 / 279171864 / +0.2%
random-access/taxi/uniform/parquet-tokio-local-disk-footer 279042981 / 278040225 / +0.4%
random-access / lance / ns (0.992x ➖, 0↑ 0↓)
name ns (PR / base / %diff)
random-access/feature-vectors/correlated/lance-tokio-local-disk 346511 / 363344 / -4.6%
random-access/feature-vectors/correlated/lance-tokio-local-disk-footer 1382223 / 1422290 / -2.8%
random-access/feature-vectors/uniform/lance-tokio-local-disk 1101879 / 1094760 / +0.7%
random-access/feature-vectors/uniform/lance-tokio-local-disk-footer 2115187 / 2168503 / -2.5%
random-access/lance-tokio-local-disk 632391 / 626336 / +1.0%
random-access/lance-tokio-local-disk-footer 1637591 / 1687100 / -2.9%
random-access/nested-lists/correlated/lance-tokio-local-disk 186373 / 184309 / +1.1%
random-access/nested-lists/correlated/lance-tokio-local-disk-footer 855419 / 833218 / +2.7%
random-access/nested-lists/uniform/lance-tokio-local-disk 906756 / 901039 / +0.6%
random-access/nested-lists/uniform/lance-tokio-local-disk-footer 1612703 / 1605282 / +0.5%
random-access/nested-structs/correlated/lance-tokio-local-disk 309596 / 318865 / -2.9%
random-access/nested-structs/correlated/lance-tokio-local-disk-footer 699357 / 708367 / -1.3%
random-access/nested-structs/uniform/lance-tokio-local-disk 2410654 / 2415984 / -0.2%
random-access/nested-structs/uniform/lance-tokio-local-disk-footer 2808878 / 2827141 / -0.6%
random-access/taxi/correlated/lance-tokio-local-disk 942128 / 948255 / -0.6%
random-access/taxi/correlated/lance-tokio-local-disk-footer 2197110 / 2207503 / -0.5%
random-access/taxi/uniform/lance-tokio-local-disk 9992308 / 10134555 / -1.4%
random-access/taxi/uniform/lance-tokio-local-disk-footer 10989884 / 11087742 / -0.9%

Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
@joseph-isaacs joseph-isaacs changed the title bench: run morsel reader in compression and random access bench: run morsel reader in CI benchmarks Aug 28, 2026
@joseph-isaacs joseph-isaacs added the changelog/skip Do not list PR in the changelog label Aug 28, 2026 — with ChatGPT Codex Connector
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Signed-off-by: Joe Isaacs <joe.isaacs@live.co.uk>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/skip Do not list PR in the changelog

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant