Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: prune layouts based on stats #1485

Merged
merged 7 commits into from
Nov 27, 2024
Merged

feat: prune layouts based on stats #1485

merged 7 commits into from
Nov 27, 2024

Conversation

danking
Copy link
Member

@danking danking commented Nov 26, 2024

LayoutReaders can now check if a given row range is fully pruned by their Scan expression (which must be Boolean-valued). Moreover, PrunedSplitIterator uses this information to avoid even generating RowMasks for ranges which do not contain any matching rows.

LayoutReaders can now check if a given row range is fully pruned by their Scan expression (which
must be Boolean-valued). Moreover, PrunedSplitIterator uses this information to avoid even
generating RowMasks for ranges which do not contain any matching rows.
@danking danking marked this pull request as ready for review November 26, 2024 22:56
@danking
Copy link
Member Author

danking commented Nov 26, 2024

On the most selective queries, we see a dramatic improvement:

query              develop                          this PR
clickbench/q-37    104.59 885.7±385.63ms            1.00      8.5±0.09ms        
clickbench/q-38    120.35 976.5±483.77ms            1.00      8.1±0.10ms        
clickbench/q-39    100.28 782.6±448.30ms            1.00      7.8±0.04ms        
clickbench/q-40    103.26 924.9±457.85ms            1.00      9.0±0.16ms        
clickbench/q-41    1.01  697.3±331.13ms             1.00  688.8±306.88ms        
clickbench/q-42    1.60  880.2±444.12ms             1.00  549.1±218.58ms        
clickbench/q-43    1.13  842.3±391.87ms             1.00  745.3±415.63ms        

@lwwmanning lwwmanning added the benchmark Run benchmarks on this branch label Nov 26, 2024
@github-actions github-actions bot removed the benchmark Run benchmarks on this branch label Nov 26, 2024
Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vortex bytes_at

Benchmark suite Current: 0df0dc2 Previous: 630835b Ratio
bytes_at/array_data 989.4807492457533 ns (2.29192980573481) 1013.087252857783 ns (1.2250948645466906) 0.98
bytes_at/array_view 812.932984065584 ns (2.4525575606995744) 833.3318471922553 ns (2.877201239355145) 0.98

This comment was automatically generated by workflow using github-action-benchmark.

@danking
Copy link
Member Author

danking commented Nov 26, 2024

Somewhat selective queries do OK:

query              develop                          this PR
clickbench/q-22    1.52       5.3±0.09s             1.00       3.5±0.26s        
clickbench/q-23    5.52      10.8±0.23s             1.00  1962.3±155.42ms        
clickbench/q-24    1.00      39.3±0.40s             1.00      39.3±0.57s        
clickbench/q-25    1.21       2.4±0.21s             1.00  1946.6±77.83ms        

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

DataFusion

Benchmark suite Current: 0df0dc2 Previous: 630835b Ratio
arrow/planning 801473.2165700919 ns (1670.1969400168746) 802708.7618906973 ns (991.1607285844511) 1.00
arrow/exec 1767324.2885122213 ns (7590.874802640756) 1763328.7570898 ns (7284.771150045679) 1.00
vortex-pushdown-compressed/planning 498031.1157113699 ns (1518.2314922860533) 500596.6736674505 ns (1462.9919115615776) 0.99
vortex-pushdown-compressed/exec 2615212.694736842 ns (12074.435789472423) 2596551.1754999994 ns (12206.36174999969) 1.01
vortex-pushdown-uncompressed/planning 504775.8919592041 ns (1125.7949314028374) 499961.6823555865 ns (1416.0944488590758) 1.01
vortex-pushdown-uncompressed/exec 1477511.080653018 ns (6236.218476209207) 1503406.5405451995 ns (5347.003254606971) 0.98
vortex-nopushdown-compressed/planning 844642.9013514696 ns (1910.6721623960766) 837394.3494235632 ns (1847.6065259684692) 1.01
vortex-nopushdown-compressed/exec 3574084.6078571426 ns (19607.690000000875) 3780117.4679999994 ns (48432.58054166823) 0.95
vortex-nopushdown-uncompressed/planning 826696.4822533956 ns (1507.4893900785828) 820508.7386207479 ns (1588.442201530619) 1.01
vortex-nopushdown-uncompressed/exec 4884512.132727272 ns (13885.080920453183) 4886144.887272727 ns (21733.46103409119) 1.00

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Random Access

Benchmark suite Current: 0df0dc2 Previous: 630835b Ratio
random-access/vortex-tokio-local-disk 2235497.0508695655 ns (19993.858913043747) 3036020.7716666674 ns (58032.07636805531) 0.74
random-access/vortex-local-fs 2613505.3235000004 ns (17220.721268749563) 3350172.93125 ns (45517.22961718752) 0.78
random-access/parquet-tokio-local-disk 212982488.03333336 ns (3593397.1666666865) 216248154.46666664 ns (5048506.900000006) 0.98

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TPC-H

Benchmark suite Current: 0df0dc2 Previous: 630835b Ratio
tpch_q1/arrow 527252623 ns 531137957 ns 0.99
tpch_q1/parquet 760307018 ns 764485800 ns 0.99
tpch_q1/vortex-file-compressed 442467797 ns 451333706 ns 0.98
tpch_q2/arrow 142470787 ns 142789613 ns 1.00
tpch_q2/parquet 174340907 ns 177239419 ns 0.98
tpch_q2/vortex-file-compressed 170493902 ns 171016010 ns 1.00
tpch_q3/arrow 169121760 ns 170294700 ns 0.99
tpch_q3/parquet 367031024 ns 368858648 ns 1.00
tpch_q3/vortex-file-compressed 217956170 ns 222333522 ns 0.98
tpch_q4/arrow 178780084 ns 178407092 ns 1.00
tpch_q4/parquet 213934434 ns 214454904 ns 1.00
tpch_q4/vortex-file-compressed 140238151 ns 139175456 ns 1.01
tpch_q5/arrow 321592813 ns 322694792 ns 1.00
tpch_q5/parquet 490578272 ns 500775073 ns 0.98
tpch_q5/vortex-file-compressed 327288811 ns 324445637 ns 1.01
tpch_q6/arrow 26559023 ns 24943187 ns 1.06
tpch_q6/parquet 152146530 ns 150868117 ns 1.01
tpch_q6/vortex-file-compressed 13097285 ns 12665197 ns 1.03
tpch_q7/arrow 624242450 ns 629711966 ns 0.99
tpch_q7/parquet 772181118 ns 781088398 ns 0.99
tpch_q7/vortex-file-compressed 631947356 ns 641313787 ns 0.99
tpch_q8/arrow 259850319 ns 261839383 ns 0.99
tpch_q8/parquet 535805681 ns 550631923 ns 0.97
tpch_q8/vortex-file-compressed 277013419 ns 289896770 ns 0.96
tpch_q9/arrow 466939848 ns 471435281 ns 0.99
tpch_q9/parquet 777012545 ns 797249049 ns 0.97
tpch_q9/vortex-file-compressed 476172367 ns 483415601 ns 0.99
tpch_q10/arrow 265547428 ns 263346807 ns 1.01
tpch_q10/parquet 512635842 ns 510922275 ns 1.00
tpch_q10/vortex-file-compressed 274370419 ns 280394256 ns 0.98
tpch_q11/arrow 138520635 ns 142757082 ns 0.97
tpch_q11/parquet 148751883 ns 149876205 ns 0.99
tpch_q11/vortex-file-compressed 198534957 ns 197612093 ns 1.00
tpch_q12/arrow 177048700 ns 179731645 ns 0.99
tpch_q12/parquet 320158449 ns 325738119 ns 0.98
tpch_q12/vortex-file-compressed 178575886 ns 178161378 ns 1.00
tpch_q13/arrow 170631770 ns 171102312 ns 1.00
tpch_q13/parquet 310506066 ns 307712251 ns 1.01
tpch_q13/vortex-file-compressed 181537282 ns 176377506 ns 1.03
tpch_q14/arrow 36542771 ns 37072043 ns 0.99
tpch_q14/parquet 231661569 ns 232387246 ns 1.00
tpch_q14/vortex-file-compressed 72200784 ns 71258726 ns 1.01
tpch_q15/arrow 67665864 ns 67522920 ns 1.00
tpch_q15/parquet 323143106 ns 328858341 ns 0.98
tpch_q15/vortex-file-compressed 135896063 ns 133724530 ns 1.02
tpch_q16/arrow 103972379 ns 102404653 ns 1.02
tpch_q16/parquet 118815217 ns 118810660 ns 1.00
tpch_q16/vortex-file-compressed 113179394 ns 112832986 ns 1.00
tpch_q17/arrow 602707379 ns 598706179 ns 1.01
tpch_q17/parquet 669276033 ns 672401373 ns 1.00
tpch_q17/vortex-file-compressed 618842560 ns 619653750 ns 1.00
tpch_q18/arrow 1141424525 ns 1138257938 ns 1.00
tpch_q18/parquet 1346431283 ns 1348848397 ns 1.00
tpch_q18/vortex-file-compressed 1121669854 ns 1127413894 ns 0.99
tpch_q19/arrow 153903646 ns 151714306 ns 1.01
tpch_q19/parquet 423617035 ns 422388614 ns 1.00
tpch_q19/vortex-file-compressed 136894805 ns 135543464 ns 1.01
tpch_q20/arrow 209247376 ns 208772614 ns 1.00
tpch_q20/parquet 348213400 ns 342433510 ns 1.02
tpch_q20/vortex-file-compressed 267650915 ns 268249742 ns 1.00
tpch_q21/arrow 984075508 ns 989545544 ns 0.99
tpch_q21/parquet 1105723057 ns 1107107219 ns 1.00
tpch_q21/vortex-file-compressed 1009766610 ns 1011283685 ns 1.00
tpch_q22/arrow 78830780 ns 80922345 ns 0.97
tpch_q22/parquet 109461087 ns 110941513 ns 0.99
tpch_q22/vortex-file-compressed 84871824 ns 83767567 ns 1.01

This comment was automatically generated by workflow using github-action-benchmark.

Copy link
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Vortex Compression

Benchmark suite Current: 0df0dc2 Previous: 630835b Ratio
compress time/taxi 1309696258.6 ns (2897092.100000024) 1309435379.4 ns (4445895.5500000715) 1.00
compress time/taxi throughput 470808924 bytes 470808924 bytes 1
parquet_rs-zstd compress time/taxi 1706383777 ns (4370436.831249833) 1691241578.7 ns (3372401.5500000715) 1.01
parquet_rs-zstd compress time/taxi throughput 470808924 bytes 470808924 bytes 1
decompress time/taxi 358014524.4 ns (1651301.150000006) 372010083.8 ns (2555175.543750018) 0.96
decompress time/taxi throughput 470808924 bytes 470808924 bytes 1
parquet_rs-zstd decompress time/taxi 305746451 ns (743831.75) 312931923.6 ns (939809.1687500179) 0.98
parquet_rs-zstd decompress time/taxi throughput 470808924 bytes 470808924 bytes 1
vortex:parquet-zstd size/taxi 1.030224687598339 ratio 1.030224687598339 ratio 1
vortex:raw size/taxi 0.12245351577065688 ratio 0.12245351577065688 ratio 1
vortex size/taxi 57652208 bytes 57652208 bytes 1
compress time/AirlineSentiment 1067397.361821662 ns (3529.3898898226907) 1063632.8948135846 ns (5437.367459452362) 1.00
compress time/AirlineSentiment throughput 2020 bytes 2020 bytes 1
parquet_rs-zstd compress time/AirlineSentiment 54958.60051018351 ns (97.21332425892251) 55666.5023384094 ns (201.15620927509735) 0.99
parquet_rs-zstd compress time/AirlineSentiment throughput 2020 bytes 2020 bytes 1
decompress time/AirlineSentiment 126106.07402711455 ns (379.1083211626028) 127055.2713153904 ns (802.4982985758325) 0.99
decompress time/AirlineSentiment throughput 2020 bytes 2020 bytes 1
parquet_rs-zstd decompress time/AirlineSentiment 31754.197459940595 ns (48.248056972292034) 31968.591574705293 ns (45.533730646870026) 0.99
parquet_rs-zstd decompress time/AirlineSentiment throughput 2020 bytes 2020 bytes 1
vortex:parquet-zstd size/AirlineSentiment 11.544984488107549 ratio 11.544984488107549 ratio 1
vortex:raw size/AirlineSentiment 5.526732673267326 ratio 5.526732673267326 ratio 1
vortex size/AirlineSentiment 11164 bytes 11164 bytes 1
compress time/Arade 2326414764.9 ns (2586314.6512498856) 2317194130.4 ns (9730948.330000162) 1.00
compress time/Arade throughput 787023760 bytes 787023760 bytes 1
parquet_rs-zstd compress time/Arade 2921493346.4 ns (12104235.950000048) 2897071730.7 ns (16255936.143749952) 1.01
parquet_rs-zstd compress time/Arade throughput 787023760 bytes 787023760 bytes 1
decompress time/Arade 566834665.7 ns (527929.4849999547) 626526850.8 ns (3047507.5412499905) 0.90
decompress time/Arade throughput 787023760 bytes 787023760 bytes 1
parquet_rs-zstd decompress time/Arade 659600653.3 ns (1089221.89624995) 670201091.3 ns (2187906.300000012) 0.98
parquet_rs-zstd decompress time/Arade throughput 787023760 bytes 787023760 bytes 1
vortex:parquet-zstd size/Arade 0.4938228181453686 ratio 0.4938228181453686 ratio 1
vortex:raw size/Arade 0.1916207764807507 ratio 0.1916207764807507 ratio 1
vortex size/Arade 150810104 bytes 150810104 bytes 1
compress time/Bimbo 11013693084.9 ns (13949043.962499619) 11050312777.7 ns (12281934.978750229) 1.00
compress time/Bimbo throughput 7121333608 bytes 7121333608 bytes 1
parquet_rs-zstd compress time/Bimbo 19486140857.6 ns (42109569.633750916) 19569783228.1 ns (68663413.84000015) 1.00
parquet_rs-zstd compress time/Bimbo throughput 7121333608 bytes 7121333608 bytes 1
decompress time/Bimbo 3839179275 ns (8302422.75) 3851989968.6 ns (6547989.752500057) 1.00
decompress time/Bimbo throughput 7121333608 bytes 7121333608 bytes 1
parquet_rs-zstd decompress time/Bimbo 2704779333.1 ns (5419710.162499905) 2725648585.7 ns (7595474.400000095) 0.99
parquet_rs-zstd decompress time/Bimbo throughput 7121333608 bytes 7121333608 bytes 1
vortex:parquet-zstd size/Bimbo 1.8277250112243697 ratio 1.8277250112243697 ratio 1
vortex:raw size/Bimbo 0.0996208400071348 ratio 0.0996208400071348 ratio 1
vortex size/Bimbo 709433236 bytes 709433236 bytes 1
compress time/CMSprovider 12599691284.7 ns (13266505.65625) 12498408859.9 ns (14777466.641249657) 1.01
compress time/CMSprovider throughput 5149123964 bytes 5149123964 bytes 1
parquet_rs-zstd compress time/CMSprovider 18633971462.3 ns (27373057.867500305) 18708519037.4 ns (112200035.01875114) 1.00
parquet_rs-zstd compress time/CMSprovider throughput 5149123964 bytes 5149123964 bytes 1
decompress time/CMSprovider 3860820059.4 ns (375911594.1999998) 4080516277 ns (399243542.7874999) 0.95
decompress time/CMSprovider throughput 5149123964 bytes 5149123964 bytes 1
parquet_rs-zstd decompress time/CMSprovider 5613889411.3 ns (12585285.19999981) 5339664765.9 ns (14551273.450000286) 1.05
parquet_rs-zstd decompress time/CMSprovider throughput 5149123964 bytes 5149123964 bytes 1
vortex:parquet-zstd size/CMSprovider 1.3078142881121986 ratio 1.3078142881121986 ratio 1
vortex:raw size/CMSprovider 0.19544721840765533 ratio 0.19544721840765533 ratio 1
vortex size/CMSprovider 1006381956 bytes 1006381956 bytes 1
compress time/Euro2016 2862797368.8 ns (4460571.43625021) 2855883484 ns (5926394.668749809) 1.00
compress time/Euro2016 throughput 393253221 bytes 393253221 bytes 1
parquet_rs-zstd compress time/Euro2016 1530498476.5 ns (2741133.9500000477) 1526238071 ns (2567772.2537499666) 1.00
parquet_rs-zstd compress time/Euro2016 throughput 393253221 bytes 393253221 bytes 1
decompress time/Euro2016 298262909.9 ns (1795896.7625000179) 300646577.9 ns (1073338.4575000107) 0.99
decompress time/Euro2016 throughput 393253221 bytes 393253221 bytes 1
parquet_rs-zstd decompress time/Euro2016 481576798.1 ns (888905.5987499952) 484308023.5 ns (1583166.099999994) 0.99
parquet_rs-zstd decompress time/Euro2016 throughput 393253221 bytes 393253221 bytes 1
vortex:parquet-zstd size/Euro2016 1.4824567679402592 ratio 1.4827555317695884 ratio 1.00
vortex:raw size/Euro2016 0.4481822871070648 ratio 0.4482726105884839 ratio 1.00
vortex size/Euro2016 176249128 bytes 176284648 bytes 1.00
compress time/Food 1014100930.8 ns (8855766.498749971) 980361479.5 ns (2528671.9249999523) 1.03
compress time/Food throughput 332718229 bytes 332718229 bytes 1
parquet_rs-zstd compress time/Food 1032949812.8 ns (837394.7137499452) 1025521604.5 ns (1245339.8199999928) 1.01
parquet_rs-zstd compress time/Food throughput 332718229 bytes 332718229 bytes 1
decompress time/Food 124124760.28396825 ns (264657.36661607027) 125192888.12380953 ns (656758.2954880893) 0.99
decompress time/Food throughput 332718229 bytes 332718229 bytes 1
parquet_rs-zstd decompress time/Food 223396142.2 ns (955558.5981250107) 221876878.1 ns (496146.424999997) 1.01
parquet_rs-zstd decompress time/Food throughput 332718229 bytes 332718229 bytes 1
vortex:parquet-zstd size/Food 1.4170142307152913 ratio 1.4170142307152913 ratio 1
vortex:raw size/Food 0.15430006391384105 ratio 0.15430006391384105 ratio 1
vortex size/Food 51338444 bytes 51338444 bytes 1
compress time/HashTags 2542215514.9 ns (4288825.387500048) 2541283711.3 ns (3457225.68625021) 1.00
compress time/HashTags throughput 804495592 bytes 804495592 bytes 1
parquet_rs-zstd compress time/HashTags 2437861973.3 ns (3321671.4625000954) 2436424625.1 ns (4779421.431249857) 1.00
parquet_rs-zstd compress time/HashTags throughput 804495592 bytes 804495592 bytes 1
decompress time/HashTags 461737186.7 ns (1632077.0600000024) 461828689.5 ns (1630869.0412499905) 1.00
decompress time/HashTags throughput 804495592 bytes 804495592 bytes 1
parquet_rs-zstd decompress time/HashTags 781794836.5 ns (1812130.113749981) 798827146.5 ns (4127026.227499962) 0.98
parquet_rs-zstd decompress time/HashTags throughput 804495592 bytes 804495592 bytes 1
vortex:parquet-zstd size/HashTags 1.6966561345518978 ratio 1.6964530971996983 ratio 1.00
vortex:raw size/HashTags 0.28252906076830314 ratio 0.2824952507632882 ratio 1.00
vortex size/HashTags 227293384 bytes 227266184 bytes 1.00
compress time/TPC-H l_comment chunked without fsst 3348706154.4 ns (14431142.732500076) 3347793528.5 ns (12680155.54249978) 1.00
compress time/TPC-H l_comment chunked without fsst throughput 249197098 bytes 249197098 bytes 1
parquet_rs-zstd compress time/TPC-H l_comment chunked without fsst 904932626.4 ns (1582847.5374999642) 908446766.4 ns (1812037.4225000143) 1.00
parquet_rs-zstd compress time/TPC-H l_comment chunked without fsst throughput 249197098 bytes 249197098 bytes 1
decompress time/TPC-H l_comment chunked without fsst 157622908.1 ns (193741.98124998808) 158728373.3 ns (248185.2962500006) 0.99
decompress time/TPC-H l_comment chunked without fsst throughput 249197098 bytes 249197098 bytes 1
parquet_rs-zstd decompress time/TPC-H l_comment chunked without fsst 253263877.85 ns (908891.575000003) 253678233.4 ns (502515.44812498987) 1.00
parquet_rs-zstd decompress time/TPC-H l_comment chunked without fsst throughput 249197098 bytes 249197098 bytes 1
vortex:parquet-zstd size/TPC-H l_comment chunked without fsst 4.609698180160907 ratio 4.609352164676581 ratio 1.00
vortex:raw size/TPC-H l_comment chunked without fsst 1.053229279580134 ratio 1.0531253618370788 ratio 1.00
vortex size/TPC-H l_comment chunked without fsst 262461680 bytes 262435784 bytes 1.00
compress time/TPC-H l_comment chunked 991356162.2 ns (2084558) 982499587.8 ns (1121399.1037499905) 1.01
compress time/TPC-H l_comment chunked throughput 249197098 bytes 249197098 bytes 1
parquet_rs-zstd compress time/TPC-H l_comment chunked 905939304.6 ns (1561494.1212499738) 906385213.8 ns (1607563.7962499857) 1.00
parquet_rs-zstd compress time/TPC-H l_comment chunked throughput 249197098 bytes 249197098 bytes 1
decompress time/TPC-H l_comment chunked 132991924.24031746 ns (841492.4990307391) 137008848.36666664 ns (783593.4354166687) 0.97
decompress time/TPC-H l_comment chunked throughput 249197098 bytes 249197098 bytes 1
parquet_rs-zstd decompress time/TPC-H l_comment chunked 254070134.05 ns (416351.3756249994) 253905365.75 ns (531876.0581249893) 1.00
parquet_rs-zstd decompress time/TPC-H l_comment chunked throughput 249197098 bytes 249197098 bytes 1
vortex:parquet-zstd size/TPC-H l_comment chunked 1.3522673638742237 ratio 1.3523705235378354 ratio 1.00
vortex:raw size/TPC-H l_comment chunked 0.3089676429538517 ratio 0.30898391922686036 ratio 1.00
vortex size/TPC-H l_comment chunked 76993840 bytes 76997896 bytes 1.00
compress time/TPC-H l_comment canonical 990243076.9 ns (1095599.6825000048) 980830716.2 ns (810440.25) 1.01
compress time/TPC-H l_comment canonical throughput 249197114 bytes 249197114 bytes 1
parquet_rs-zstd compress time/TPC-H l_comment canonical 907277540.55 ns (1758824.703125) 909719176.45 ns (1175532.074999988) 1.00
parquet_rs-zstd compress time/TPC-H l_comment canonical throughput 249197114 bytes 249197114 bytes 1
decompress time/TPC-H l_comment canonical 132797135.63214287 ns (1107042.8574999943) 136255964.4917857 ns (230021.26880802214) 0.97
decompress time/TPC-H l_comment canonical throughput 249197114 bytes 249197114 bytes 1
parquet_rs-zstd decompress time/TPC-H l_comment canonical 251662129.0302778 ns (624524.660590291) 254210386.0450794 ns (512700.71268452704) 0.99
parquet_rs-zstd decompress time/TPC-H l_comment canonical throughput 249197114 bytes 249197114 bytes 1
vortex:parquet-zstd size/TPC-H l_comment canonical 1.3523490223464398 ratio 1.3523988848270732 ratio 1.00
vortex:raw size/TPC-H l_comment canonical 0.3089676231162131 ratio 0.3089838993881767 ratio 1.00
vortex size/TPC-H l_comment canonical 76993840 bytes 76997896 bytes 1.00

This comment was automatically generated by workflow using github-action-benchmark.

@danking
Copy link
Member Author

danking commented Nov 27, 2024

random access is now nearly as fast as it was before 520ffc4

@danking danking merged commit 10a1f21 into develop Nov 27, 2024
14 checks passed
@danking danking deleted the dk/pruning-v10 branch November 27, 2024 17:50
AdamGS pushed a commit that referenced this pull request Nov 28, 2024
LayoutReaders can now check if a given row range is fully pruned by
their Scan expression (which must be Boolean-valued). Moreover,
PrunedSplitIterator uses this information to avoid even generating
RowMasks for ranges which do not contain any matching rows.

---------

Co-authored-by: Will Manning <[email protected]>
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