Skip to content

Reuse compression/decompression results in compression benchmarks - #9744

Open
robert3005 wants to merge 2 commits into
developfrom
rk/compressionbench
Open

Reuse compression/decompression results in compression benchmarks#9744
robert3005 wants to merge 2 commits into
developfrom
rk/compressionbench

Conversation

@robert3005

Copy link
Copy Markdown
Contributor

Avoid decompressing and reloading files multiple times in benchmark run

@codspeed-hq

codspeed-hq Bot commented Sep 3, 2026

Copy link
Copy Markdown

Merging this PR will regress 1 benchmark

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

⚡ 4 improved benchmarks
❌ 1 regressed benchmark
✅ 2194 untouched benchmarks
⏩ 206 skipped benchmarks1

Warning

Please fix the performance issues or acknowledge them on CodSpeed.

Performance Changes

Mode Benchmark BASE HEAD Efficiency
Simulation random_i8[0.5] 67 µs 90.5 µs -25.97%
WallTime arrow_checked_add_u32_neon[16384] 20.4 µs 12.8 µs +59.85%
Simulation random_i16[0.8] 92.7 µs 74.1 µs +24.97%
WallTime arrow_checked_add_u32_avx2[16384] 21.3 µs 17.7 µs +20.43%
Simulation allocate_drop_arrow[0] 456.9 ns 402.7 ns +13.45%

Tip

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


Comparing rk/compressionbench (1fb4aad) with develop (3170657)

Open in CodSpeed

Footnotes

  1. 206 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.

@robert3005 robert3005 added changelog/chore A trivial change action/bench-compress Run only the compression benchmark on this PR labels Sep 3, 2026
@github-actions github-actions Bot removed the action/bench-compress Run only the compression benchmark on this PR label Sep 3, 2026
@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Polar Signals Profiling Results

Latest Run

Status Commit Job Attempt Link
🟢 Done 1fb4aad compress-bench 1 Explore Profiling Data
Previous Runs (2)
Status Commit Job Attempt Link
🟢 Done c7361f2 compress-bench 1 Explore Profiling Data
🟢 Done fc2a30c compress-bench 1 Explore Profiling Data

Powered by Polar Signals Cloud

@github-actions

github-actions Bot commented Sep 3, 2026

Copy link
Copy Markdown
Contributor

Benchmarks: Compression 📖

Commits: PR 1fb4aad2 vs base 265b7053


vortex / vortex-file-compressed / ns (0.748x ✅, 10↑ 0↓)
name ns (PR / base / %diff)
compress time/Arade 405648547 / 947932395 / -57.2% 🟢
compress time/Bimbo 2364287955 / 4228028317 / -44.1% 🟢
compress time/CMSprovider 816862137 / 3191404797 / -74.4% 🟢
compress time/Euro2016 179078318 / 364150229 / -50.8% 🟢
compress time/Food 203893639 / 339199368 / -39.9% 🟢
compress time/HashTags 274778008 / 626409060 / -56.1% 🟢
compress time/TPC-H l_comment canonical 326902230 / 836501880 / -60.9% 🟢
compress time/TPC-H l_comment chunked 324127968 / 841068918 / -61.5% 🟢
compress time/taxi 201246684 / 465096500 / -56.7% 🟢
compress time/wide table cols=100 chunks=1 rows=1000 7126613 / 7282477 / -2.1%
compress time/wide table cols=100 chunks=50 rows=1000 7104584 / 7302446 / -2.7%
compress time/wide table cols=1000 chunks=1 rows=1000 69109136 / 71524140 / -3.4%
compress time/wide table cols=1000 chunks=50 rows=1000 70591622 / 70519678 / +0.1%
compress time/wide table cols=10000 chunks=1 rows=1000 765267718 / 801937424 / -4.6%
compress time/wide table cols=10000 chunks=50 rows=1000 762238937 / 798706785 / -4.6%
decompress time/Arade 10717095 / 11936079 / -10.2% 🟢
decompress time/Bimbo 59145172 / 58039985 / +1.9%
decompress time/CMSprovider 27969057 / 30108192 / -7.1%
decompress time/Euro2016 8346555 / 8985169 / -7.1%
decompress time/Food 3501079 / 3599877 / -2.7%
decompress time/HashTags 70012734 / 72256988 / -3.1%
decompress time/TPC-H l_comment canonical 21315040 / 22706765 / -6.1%
decompress time/TPC-H l_comment chunked 21263716 / 23113573 / -8.0%
decompress time/taxi 7918118 / 8666985 / -8.6%
decompress time/wide table cols=100 chunks=1 rows=1000 2071303 / 2169297 / -4.5%
decompress time/wide table cols=100 chunks=50 rows=1000 2048945 / 2233164 / -8.2%
decompress time/wide table cols=1000 chunks=1 rows=1000 19730051 / 21168388 / -6.8%
decompress time/wide table cols=1000 chunks=50 rows=1000 19780093 / 21180928 / -6.6%
decompress time/wide table cols=10000 chunks=1 rows=1000 230718539 / 250738016 / -8.0%
decompress time/wide table cols=10000 chunks=50 rows=1000 232165814 / 256426658 / -9.5%
vortex / vortex-file-compressed / bytes (1.000x ➖, 0↑ 0↓)
name bytes (PR / base / %diff)
vortex-file-compressed size/Arade 144460980 / 144460980 / +0.0%
vortex-file-compressed size/Bimbo 461842908 / 461842908 / +0.0%
vortex-file-compressed size/CMSprovider 415191460 / 415191460 / +0.0%
vortex-file-compressed size/Euro2016 157847508 / 157847508 / +0.0%
vortex-file-compressed size/Food 41581624 / 41581624 / +0.0%
vortex-file-compressed size/HashTags 177850636 / 177850636 / +0.0%
vortex-file-compressed size/TPC-H l_comment canonical 163461696 / 163461696 / +0.0%
vortex-file-compressed size/TPC-H l_comment chunked 163461696 / 163461696 / +0.0%
vortex-file-compressed size/taxi 51475172 / 51475172 / +0.0%
vortex-file-compressed size/wide table cols=100 chunks=1 rows=1000 932744 / 932744 / +0.0%
vortex-file-compressed size/wide table cols=100 chunks=50 rows=1000 932744 / 932744 / +0.0%
vortex-file-compressed size/wide table cols=1000 chunks=1 rows=1000 9309944 / 9309944 / +0.0%
vortex-file-compressed size/wide table cols=1000 chunks=50 rows=1000 9309944 / 9309944 / +0.0%
vortex-file-compressed size/wide table cols=10000 chunks=1 rows=1000 93117944 / 93117944 / +0.0%
vortex-file-compressed size/wide table cols=10000 chunks=50 rows=1000 93117944 / 93117944 / +0.0%
vortex / vortex-file-compressed / ratio (0.830x ✅, 9↑ 0↓)
name ratio (PR / base / %diff)
vortex:parquet-zstd ratio compress time/Arade 0.180050767 / 0.415319331 / -56.6% 🟢
vortex:parquet-zstd ratio compress time/Bimbo 0.20049553 / 0.354262682 / -43.4% 🟢
vortex:parquet-zstd ratio compress time/CMSprovider 0.127764497 / 0.491242486 / -74.0% 🟢
vortex:parquet-zstd ratio compress time/Euro2016 0.165864887 / 0.333516381 / -50.3% 🟢
vortex:parquet-zstd ratio compress time/Food 0.275972685 / 0.45507447 / -39.4% 🟢
vortex:parquet-zstd ratio compress time/HashTags 0.150607165 / 0.336741008 / -55.3% 🟢
vortex:parquet-zstd ratio compress time/TPC-H l_comment canonical 0.124439934 / 0.314551177 / -60.4% 🟢
vortex:parquet-zstd ratio compress time/TPC-H l_comment chunked 0.122736982 / 0.311255249 / -60.6% 🟢
vortex:parquet-zstd ratio compress time/taxi 0.184743751 / 0.422052461 / -56.2% 🟢
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=1 rows=1000 1.79761653 / 1.82330498 / -1.4%
vortex:parquet-zstd ratio compress time/wide table cols=100 chunks=50 rows=1000 1.78450731 / 1.83822957 / -2.9%
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=1 rows=1000 1.55430961 / 1.60504009 / -3.2%
vortex:parquet-zstd ratio compress time/wide table cols=1000 chunks=50 rows=1000 1.58114888 / 1.5538591 / +1.8%
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=1 rows=1000 1.64729737 / 1.71129108 / -3.7%
vortex:parquet-zstd ratio compress time/wide table cols=10000 chunks=50 rows=1000 1.65949838 / 1.70557497 / -2.7%
vortex:parquet-zstd ratio decompress time/Arade 0.0192299779 / 0.0211573991 / -9.1%
vortex:parquet-zstd ratio decompress time/Bimbo 0.0368791411 / 0.0364569063 / +1.2%
vortex:parquet-zstd ratio decompress time/CMSprovider 0.020587178 / 0.021777238 / -5.5%
vortex:parquet-zstd ratio decompress time/Euro2016 0.0250956516 / 0.0270087831 / -7.1%
vortex:parquet-zstd ratio decompress time/Food 0.0206397419 / 0.0209664922 / -1.6%
vortex:parquet-zstd ratio decompress time/HashTags 0.135991692 / 0.140172623 / -3.0%
vortex:parquet-zstd ratio decompress time/TPC-H l_comment canonical 0.043085743 / 0.0458094459 / -5.9%
vortex:parquet-zstd ratio decompress time/TPC-H l_comment chunked 0.0429687608 / 0.0466808371 / -8.0%
vortex:parquet-zstd ratio decompress time/taxi 0.0364604334 / 0.0397078927 / -8.2%
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=1 rows=1000 1.01951613 / 1.0458889 / -2.5%
vortex:parquet-zstd ratio decompress time/wide table cols=100 chunks=50 rows=1000 1.00158772 / 1.082147 / -7.4%
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=1 rows=1000 0.836582066 / 0.893086947 / -6.3%
vortex:parquet-zstd ratio decompress time/wide table cols=1000 chunks=50 rows=1000 0.850440324 / 0.861856095 / -1.3%
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=1 rows=1000 0.920066782 / 1.00771002 / -8.7%
vortex:parquet-zstd ratio decompress time/wide table cols=10000 chunks=50 rows=1000 0.951010987 / 0.994185792 / -4.3%
vortex:parquet-zstd size/Arade 0.559895285 / 0.559895285 / -0.0%
vortex:parquet-zstd size/Bimbo 1.20109789 / 1.20109789 / -0.0%
vortex:parquet-zstd size/CMSprovider 1.10163114 / 1.10163114 / +0.0%
vortex:parquet-zstd size/Euro2016 1.2835317 / 1.2835317 / -0.0%
vortex:parquet-zstd size/Food 1.16476769 / 1.16476769 / -0.0%
vortex:parquet-zstd size/HashTags 1.33223855 / 1.33223855 / -0.0%
vortex:parquet-zstd size/TPC-H l_comment canonical 1.0322273 / 1.0322273 / -0.0%
vortex:parquet-zstd size/TPC-H l_comment chunked 1.0322273 / 1.0322273 / -0.0%
vortex:parquet-zstd size/taxi 0.931110481 / 0.931110481 / -0.0%
vortex:parquet-zstd size/wide table cols=100 chunks=1 rows=1000 1.00036465 / 1.00036465 / -0.0%
vortex:parquet-zstd size/wide table cols=100 chunks=50 rows=1000 1.00036465 / 1.00036465 / -0.0%
vortex:parquet-zstd size/wide table cols=1000 chunks=1 rows=1000 0.998492064 / 0.998492064 / -0.0%
vortex:parquet-zstd size/wide table cols=1000 chunks=50 rows=1000 0.998492064 / 0.998492064 / -0.0%
vortex:parquet-zstd size/wide table cols=10000 chunks=1 rows=1000 0.998690905 / 0.998690905 / -0.0%
vortex:parquet-zstd size/wide table cols=10000 chunks=50 rows=1000 0.998690905 / 0.998690905 / -0.0%
vortex / parquet / ns (0.988x ➖, 0↑ 0↓)
name ns (PR / base / %diff)
parquet_rs-zstd compress time/Arade 2252967618 / 2282418186 / -1.3%
parquet_rs-zstd compress time/Bimbo 11792222774 / 11934726787 / -1.2%
parquet_rs-zstd compress time/CMSprovider 6393498615 / 6496597687 / -1.6%
parquet_rs-zstd compress time/Euro2016 1079663820 / 1091851105 / -1.1%
parquet_rs-zstd compress time/Food 738818189 / 745371122 / -0.9%
parquet_rs-zstd compress time/HashTags 1824468368 / 1860210206 / -1.9%
parquet_rs-zstd compress time/TPC-H l_comment canonical 2626988144 / 2659350663 / -1.2%
parquet_rs-zstd compress time/TPC-H l_comment chunked 2640833769 / 2702183884 / -2.3%
parquet_rs-zstd compress time/taxi 1089328775 / 1101987413 / -1.1%
parquet_rs-zstd compress time/wide table cols=100 chunks=1 rows=1000 3964479 / 3994108 / -0.7%
parquet_rs-zstd compress time/wide table cols=100 chunks=50 rows=1000 3981258 / 3972543 / +0.2%
parquet_rs-zstd compress time/wide table cols=1000 chunks=1 rows=1000 44462915 / 44562214 / -0.2%
parquet_rs-zstd compress time/wide table cols=1000 chunks=50 rows=1000 44645778 / 45383573 / -1.6%
parquet_rs-zstd compress time/wide table cols=10000 chunks=1 rows=1000 464559545 / 468615441 / -0.9%
parquet_rs-zstd compress time/wide table cols=10000 chunks=50 rows=1000 459318880 / 468291806 / -1.9%
parquet_rs-zstd decompress time/Arade 557311873 / 564156252 / -1.2%
parquet_rs-zstd decompress time/Bimbo 1603756764 / 1592016190 / +0.7%
parquet_rs-zstd decompress time/CMSprovider 1358566825 / 1382553286 / -1.7%
parquet_rs-zstd decompress time/Euro2016 332589690 / 332675817 / -0.0%
parquet_rs-zstd decompress time/Food 169628042 / 171696675 / -1.2%
parquet_rs-zstd decompress time/HashTags 514830966 / 515485739 / -0.1%
parquet_rs-zstd decompress time/TPC-H l_comment canonical 494712137 / 495678665 / -0.2%
parquet_rs-zstd decompress time/TPC-H l_comment chunked 494864539 / 495140500 / -0.1%
parquet_rs-zstd decompress time/taxi 217170156 / 218268571 / -0.5%
parquet_rs-zstd decompress time/wide table cols=100 chunks=1 rows=1000 2031653 / 2074118 / -2.0%
parquet_rs-zstd decompress time/wide table cols=100 chunks=50 rows=1000 2045697 / 2063642 / -0.9%
parquet_rs-zstd decompress time/wide table cols=1000 chunks=1 rows=1000 23584119 / 23702494 / -0.5%
parquet_rs-zstd decompress time/wide table cols=1000 chunks=50 rows=1000 23258649 / 24575945 / -5.4%
parquet_rs-zstd decompress time/wide table cols=10000 chunks=1 rows=1000 250762818 / 248819612 / +0.8%
parquet_rs-zstd decompress time/wide table cols=10000 chunks=50 rows=1000 244125270 / 257926295 / -5.4%
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 (0.970x ➖, 1↑ 0↓)
name ns (PR / base / %diff)
arrow-ipc compress time/Arade 98318628 / 102943131 / -4.5%
arrow-ipc compress time/Bimbo 611438303 / 673045259 / -9.2%
arrow-ipc compress time/CMSprovider 380920528 / 445633535 / -14.5% 🟢
arrow-ipc compress time/Euro2016 38379744 / 39738550 / -3.4%
arrow-ipc compress time/Food 33609418 / 34169442 / -1.6%
arrow-ipc compress time/HashTags 78176051 / 78846152 / -0.8%
arrow-ipc compress time/TPC-H l_comment canonical 496130553 / 507586148 / -2.3%
arrow-ipc compress time/TPC-H l_comment chunked 502504562 / 518060011 / -3.0%
arrow-ipc compress time/taxi 73797524 / 75816559 / -2.7%
arrow-ipc compress time/wide table cols=100 chunks=1 rows=1000 200254 / 211132 / -5.2%
arrow-ipc compress time/wide table cols=100 chunks=50 rows=1000 203064 / 210938 / -3.7%
arrow-ipc compress time/wide table cols=1000 chunks=1 rows=1000 2225308 / 2302185 / -3.3%
arrow-ipc compress time/wide table cols=1000 chunks=50 rows=1000 2253478 / 2277412 / -1.1%
arrow-ipc compress time/wide table cols=10000 chunks=1 rows=1000 25408327 / 26031692 / -2.4%
arrow-ipc compress time/wide table cols=10000 chunks=50 rows=1000 25473297 / 26133279 / -2.5%
arrow-ipc decompress time/Arade 140394365 / 141052709 / -0.5%
arrow-ipc decompress time/Bimbo 413905277 / 419083209 / -1.2%
arrow-ipc decompress time/CMSprovider 471776823 / 479389299 / -1.6%
arrow-ipc decompress time/Euro2016 63871482 / 64287224 / -0.6%
arrow-ipc decompress time/Food 48706190 / 49130670 / -0.9%
arrow-ipc decompress time/HashTags 121052617 / 121451159 / -0.3%
arrow-ipc decompress time/TPC-H l_comment canonical 544591773 / 542391056 / +0.4%
arrow-ipc decompress time/TPC-H l_comment chunked 544466805 / 552526407 / -1.5%
arrow-ipc decompress time/taxi 45109229 / 45702517 / -1.3%
arrow-ipc decompress time/wide table cols=100 chunks=1 rows=1000 315138 / 343341 / -8.2%
arrow-ipc decompress time/wide table cols=100 chunks=50 rows=1000 315785 / 335040 / -5.7%
arrow-ipc decompress time/wide table cols=1000 chunks=1 rows=1000 3466488 / 3546131 / -2.2%
arrow-ipc decompress time/wide table cols=1000 chunks=50 rows=1000 3385413 / 3499633 / -3.3%
arrow-ipc decompress time/wide table cols=10000 chunks=1 rows=1000 35043611 / 35484167 / -1.2%
arrow-ipc decompress time/wide table cols=10000 chunks=50 rows=1000 34745623 / 35048569 / -0.9%
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%

Comment thread vortex-bench/src/compress/mod.rs Outdated
@robert3005 robert3005 added the action/bench-compress Run only the compression benchmark on this PR label Sep 4, 2026
@github-actions github-actions Bot removed the action/bench-compress Run only the compression benchmark on this PR label Sep 4, 2026
Signed-off-by: Robert Kruszewski <github@robertk.io>
Signed-off-by: Robert Kruszewski <github@robertk.io>
@robert3005 robert3005 added the action/bench-compress Run only the compression benchmark on this PR label Sep 4, 2026
@github-actions github-actions Bot removed the action/bench-compress Run only the compression benchmark on this PR label Sep 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

changelog/chore A trivial change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant