================================================================================================
Pushdown for many distinct value case
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 0 string row (value IS NULL):      Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6552           6587          25          2.4         416.5       1.0X
Parquet Vectorized (Pushdown)                       339            357          14         46.5          21.5      19.4X
Native ORC Vectorized                              5170           5226          48          3.0         328.7       1.3X
Native ORC Vectorized (Pushdown)                    368            378           8         42.8          23.4      17.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 0 string row ('7864320' < value < '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                            6392           6424          21          2.5         406.4       1.0X
Parquet Vectorized (Pushdown)                                  290            303          12         54.3          18.4      22.1X
Native ORC Vectorized                                         5241           5258          15          3.0         333.2       1.2X
Native ORC Vectorized (Pushdown)                               355            367           9         44.3          22.6      18.0X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 string row (value = '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6484           6498          12          2.4         412.2       1.0X
Parquet Vectorized (Pushdown)                       267            277           5         58.8          17.0      24.2X
Native ORC Vectorized                              5354           5382          31          2.9         340.4       1.2X
Native ORC Vectorized (Pushdown)                    355            365          15         44.3          22.6      18.3X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 string row (value <=> '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  6469           6509          34          2.4         411.3       1.0X
Parquet Vectorized (Pushdown)                        259            270           8         60.7          16.5      25.0X
Native ORC Vectorized                               5386           5415          23          2.9         342.4       1.2X
Native ORC Vectorized (Pushdown)                     343            349           7         45.9          21.8      18.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 string row ('7864320' <= value <= '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                              6512           6521           8          2.4         414.0       1.0X
Parquet Vectorized (Pushdown)                                    264            268           3         59.5          16.8      24.6X
Native ORC Vectorized                                           5332           5369          22          3.0         339.0       1.2X
Native ORC Vectorized (Pushdown)                                 345            356           8         45.6          21.9      18.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select all string rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  14397          14570         154          1.1         915.4       1.0X
Parquet Vectorized (Pushdown)                       14424          14468          31          1.1         917.1       1.0X
Native ORC Vectorized                               13343          13350           7          1.2         848.3       1.1X
Native ORC Vectorized (Pushdown)                    13370          13445          73          1.2         850.1       1.1X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 0 int row (value IS NULL):         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6187           6219          19          2.5         393.4       1.0X
Parquet Vectorized (Pushdown)                       250            278          20         62.9          15.9      24.7X
Native ORC Vectorized                              4755           4802          44          3.3         302.3       1.3X
Native ORC Vectorized (Pushdown)                    346            350           5         45.4          22.0      17.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 0 int row (7864320 < value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     6054           6067          17          2.6         384.9       1.0X
Parquet Vectorized (Pushdown)                           250            258           9         63.0          15.9      24.2X
Native ORC Vectorized                                  4731           4761          32          3.3         300.8       1.3X
Native ORC Vectorized (Pushdown)                        320            340          12         49.2          20.3      18.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 int row (value = 7864320):       Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6105           6123          16          2.6         388.2       1.0X
Parquet Vectorized (Pushdown)                       247            256           7         63.7          15.7      24.7X
Native ORC Vectorized                              4753           4796          29          3.3         302.2       1.3X
Native ORC Vectorized (Pushdown)                    319            367          30         49.3          20.3      19.1X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 int row (value <=> 7864320):     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6095           6104           8          2.6         387.5       1.0X
Parquet Vectorized (Pushdown)                       245            254           8         64.2          15.6      24.9X
Native ORC Vectorized                              4758           4784          16          3.3         302.5       1.3X
Native ORC Vectorized (Pushdown)                    315            333          13         50.0          20.0      19.4X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 int row (7864320 <= value <= 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                       6085           6109          15          2.6         386.9       1.0X
Parquet Vectorized (Pushdown)                             244            250           5         64.4          15.5      24.9X
Native ORC Vectorized                                    4790           4794           5          3.3         304.6       1.3X
Native ORC Vectorized (Pushdown)                          312            325           8         50.5          19.8      19.5X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 int row (7864319 < value < 7864321):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     6095           6106          13          2.6         387.5       1.0X
Parquet Vectorized (Pushdown)                           245            252           5         64.3          15.6      24.9X
Native ORC Vectorized                                  4780           4791          13          3.3         303.9       1.3X
Native ORC Vectorized (Pushdown)                        313            334          23         50.2          19.9      19.5X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 10% int rows (value < 1572864):    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6836           6855          23          2.3         434.6       1.0X
Parquet Vectorized (Pushdown)                      1515           1534          18         10.4          96.3       4.5X
Native ORC Vectorized                              5456           5466          11          2.9         346.9       1.3X
Native ORC Vectorized (Pushdown)                   1440           1447           6         10.9          91.6       4.7X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 50% int rows (value < 7864320):    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 9137           9146           8          1.7         580.9       1.0X
Parquet Vectorized (Pushdown)                      6220           6243          17          2.5         395.4       1.5X
Native ORC Vectorized                              7926           7938          12          2.0         503.9       1.2X
Native ORC Vectorized (Pushdown)                   5727           5745          15          2.7         364.1       1.6X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 90% int rows (value < 14155776):   Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                11620          11637          10          1.4         738.8       1.0X
Parquet Vectorized (Pushdown)                     11074          11117          31          1.4         704.1       1.0X
Native ORC Vectorized                             10336          10372          29          1.5         657.2       1.1X
Native ORC Vectorized (Pushdown)                  10023          10034          11          1.6         637.2       1.2X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select all int rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                12223          12235          11          1.3         777.1       1.0X
Parquet Vectorized (Pushdown)                     12264          12292          27          1.3         779.7       1.0X
Native ORC Vectorized                             10817          10827          11          1.5         687.7       1.1X
Native ORC Vectorized (Pushdown)                  10930          10941          11          1.4         694.9       1.1X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select all int rows (value > -1):         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                12343          12363          16          1.3         784.8       1.0X
Parquet Vectorized (Pushdown)                     12371          12410          23          1.3         786.5       1.0X
Native ORC Vectorized                             10971          10984          13          1.4         697.5       1.1X
Native ORC Vectorized (Pushdown)                  11084          11139          66          1.4         704.7       1.1X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select all int rows (value != -1):        Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                12394          12421          17          1.3         788.0       1.0X
Parquet Vectorized (Pushdown)                     12460          12468           6          1.3         792.2       1.0X
Native ORC Vectorized                             10934          10956          18          1.4         695.2       1.1X
Native ORC Vectorized (Pushdown)                  11057          11066           7          1.4         703.0       1.1X


================================================================================================
Pushdown for few distinct value case (use dictionary encoding)
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 0 distinct string row (value IS NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     5636           5692          42          2.8         358.3       1.0X
Parquet Vectorized (Pushdown)                           226            238          11         69.5          14.4      24.9X
Native ORC Vectorized                                  6569           6613          48          2.4         417.6       0.9X
Native ORC Vectorized (Pushdown)                       1076           1091          17         14.6          68.4       5.2X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 0 distinct string row ('100' < value < '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                             5629           5665          30          2.8         357.9       1.0X
Parquet Vectorized (Pushdown)                                   228            237           5         69.1          14.5      24.7X
Native ORC Vectorized                                          6772           6788          16          2.3         430.6       0.8X
Native ORC Vectorized (Pushdown)                               1074           1092          14         14.6          68.3       5.2X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 distinct string row (value = '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     5600           5618          14          2.8         356.1       1.0X
Parquet Vectorized (Pushdown)                           280            288           7         56.2          17.8      20.0X
Native ORC Vectorized                                  6694           6713          19          2.3         425.6       0.8X
Native ORC Vectorized (Pushdown)                       1141           1147           4         13.8          72.6       4.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 distinct string row (value <=> '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                       5608           5625          22          2.8         356.5       1.0X
Parquet Vectorized (Pushdown)                             289            295           5         54.4          18.4      19.4X
Native ORC Vectorized                                    6728           6754          16          2.3         427.8       0.8X
Native ORC Vectorized (Pushdown)                         1114           1123           8         14.1          70.8       5.0X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 distinct string row ('100' <= value <= '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               5687           5699          14          2.8         361.6       1.0X
Parquet Vectorized (Pushdown)                                     282            287           6         55.8          17.9      20.2X
Native ORC Vectorized                                            6746           6761          13          2.3         428.9       0.8X
Native ORC Vectorized (Pushdown)                                 1122           1127           5         14.0          71.3       5.1X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select all distinct string rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                           14139          14174          24          1.1         898.9       1.0X
Parquet Vectorized (Pushdown)                                14185          14199           9          1.1         901.8       1.0X
Native ORC Vectorized                                        14381          14427          29          1.1         914.3       1.0X
Native ORC Vectorized (Pushdown)                             14787          14834          57          1.1         940.1       1.0X


================================================================================================
Pushdown benchmark for StringStartsWith
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringStartsWith filter: (value like '10%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                    6879           6910          24          2.3         437.4       1.0X
Parquet Vectorized (Pushdown)                          941            954          15         16.7          59.8       7.3X
Native ORC Vectorized                                 5461           5494          32          2.9         347.2       1.3X
Native ORC Vectorized (Pushdown)                      5544           5560          13          2.8         352.5       1.2X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringStartsWith filter: (value like '1000%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      6568           6590          14          2.4         417.6       1.0X
Parquet Vectorized (Pushdown)                            263            267           3         59.9          16.7      25.0X
Native ORC Vectorized                                   5283           5310          36          3.0         335.9       1.2X
Native ORC Vectorized (Pushdown)                        5395           5415          14          2.9         343.0       1.2X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringStartsWith filter: (value like '786432%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                        6543           6568          22          2.4         416.0       1.0X
Parquet Vectorized (Pushdown)                              256            263           7         61.4          16.3      25.6X
Native ORC Vectorized                                     5270           5281          21          3.0         335.0       1.2X
Native ORC Vectorized (Pushdown)                          5377           5392          12          2.9         341.9       1.2X


================================================================================================
Pushdown benchmark for StringEndsWith
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringEndsWith filter: (value like '%10'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  5760           5811          29          2.7         366.2       1.0X
Parquet Vectorized (Pushdown)                        393            427          30         40.0          25.0      14.6X
Native ORC Vectorized                               6694           6725          41          2.3         425.6       0.9X
Native ORC Vectorized (Pushdown)                    7038           7051          18          2.2         447.5       0.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringEndsWith filter: (value like '%1000'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                    5609           5626          18          2.8         356.6       1.0X
Parquet Vectorized (Pushdown)                          257            261           3         61.1          16.4      21.8X
Native ORC Vectorized                                 6640           6648           8          2.4         422.1       0.8X
Native ORC Vectorized (Pushdown)                      6976           6996          18          2.3         443.5       0.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringEndsWith filter: (value like '%786432'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      5588           5594           6          2.8         355.2       1.0X
Parquet Vectorized (Pushdown)                            271            277           7         58.1          17.2      20.6X
Native ORC Vectorized                                   6644           6657          12          2.4         422.4       0.8X
Native ORC Vectorized (Pushdown)                        6986           7014          22          2.3         444.2       0.8X


================================================================================================
Pushdown benchmark for StringContains
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringContains filter: (value like '%10%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                   5926           5987          58          2.7         376.8       1.0X
Parquet Vectorized (Pushdown)                         829            846          22         19.0          52.7       7.1X
Native ORC Vectorized                                6858           6883          21          2.3         436.0       0.9X
Native ORC Vectorized (Pushdown)                     7226           7277          48          2.2         459.4       0.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringContains filter: (value like '%1000%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     5581           5590          11          2.8         354.8       1.0X
Parquet Vectorized (Pushdown)                           255            261           5         61.8          16.2      21.9X
Native ORC Vectorized                                  6594           6606          16          2.4         419.2       0.8X
Native ORC Vectorized (Pushdown)                       7013           7035          22          2.2         445.9       0.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
StringContains filter: (value like '%786432%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                       5624           5633          10          2.8         357.6       1.0X
Parquet Vectorized (Pushdown)                             255            260           6         61.7          16.2      22.1X
Native ORC Vectorized                                    6654           6673          11          2.4         423.0       0.8X
Native ORC Vectorized (Pushdown)                         6979           7018          24          2.3         443.7       0.8X


================================================================================================
Pushdown benchmark for decimal
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 decimal(9, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     2453           2469          12          6.4         155.9       1.0X
Parquet Vectorized (Pushdown)                            67             76           5        235.9           4.2      36.8X
Native ORC Vectorized                                  3281           3291          17          4.8         208.6       0.7X
Native ORC Vectorized (Pushdown)                         64             76           6        244.6           4.1      38.1X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 10% decimal(9, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                        3854           3886          37          4.1         245.0       1.0X
Parquet Vectorized (Pushdown)                             1948           1958           7          8.1         123.8       2.0X
Native ORC Vectorized                                     4738           4750          20          3.3         301.2       0.8X
Native ORC Vectorized (Pushdown)                          2133           2148          22          7.4         135.6       1.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 50% decimal(9, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                        8512           8535          20          1.8         541.2       1.0X
Parquet Vectorized (Pushdown)                             8232           8246          10          1.9         523.4       1.0X
Native ORC Vectorized                                     9467           9477          12          1.7         601.9       0.9X
Native ORC Vectorized (Pushdown)                          9060           9100          30          1.7         576.0       0.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 90% decimal(9, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         9914           9961          35          1.6         630.3       1.0X
Parquet Vectorized (Pushdown)                              9911           9936          22          1.6         630.2       1.0X
Native ORC Vectorized                                     10726          10749          24          1.5         681.9       0.9X
Native ORC Vectorized (Pushdown)                          10769          10797          23          1.5         684.7       0.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 decimal(18, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      2627           2644          18          6.0         167.0       1.0X
Parquet Vectorized (Pushdown)                             66             70           5        237.8           4.2      39.7X
Native ORC Vectorized                                   3285           3303          13          4.8         208.8       0.8X
Native ORC Vectorized (Pushdown)                          60             65           6        260.5           3.8      43.5X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 10% decimal(18, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         3409           3437          28          4.6         216.8       1.0X
Parquet Vectorized (Pushdown)                              1100           1107          10         14.3          69.9       3.1X
Native ORC Vectorized                                      4051           4075          35          3.9         257.5       0.8X
Native ORC Vectorized (Pushdown)                           1093           1096           4         14.4          69.5       3.1X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 50% decimal(18, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         6498           6528          42          2.4         413.2       1.0X
Parquet Vectorized (Pushdown)                              5254           5266           7          3.0         334.0       1.2X
Native ORC Vectorized                                      6937           6954          23          2.3         441.0       0.9X
Native ORC Vectorized (Pushdown)                           5292           5297           5          3.0         336.4       1.2X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 90% decimal(18, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                          9568           9592          14          1.6         608.3       1.0X
Parquet Vectorized (Pushdown)                               9263           9303          59          1.7         588.9       1.0X
Native ORC Vectorized                                       9828           9834           7          1.6         624.8       1.0X
Native ORC Vectorized (Pushdown)                            9530           9591         108          1.7         605.9       1.0X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 decimal(38, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      3811           3835          16          4.1         242.3       1.0X
Parquet Vectorized (Pushdown)                             72             74           3        219.6           4.6      53.2X
Native ORC Vectorized                                   3263           3274          18          4.8         207.5       1.2X
Native ORC Vectorized (Pushdown)                          60             66           6        263.4           3.8      63.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 10% decimal(38, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         4778           4836          52          3.3         303.8       1.0X
Parquet Vectorized (Pushdown)                              1386           1403          19         11.3          88.1       3.4X
Native ORC Vectorized                                      4208           4214          12          3.7         267.5       1.1X
Native ORC Vectorized (Pushdown)                           1271           1279           8         12.4          80.8       3.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 50% decimal(38, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         8519           8527           7          1.8         541.6       1.0X
Parquet Vectorized (Pushdown)                              6659           6687          34          2.4         423.3       1.3X
Native ORC Vectorized                                      7777           7787          13          2.0         494.4       1.1X
Native ORC Vectorized (Pushdown)                           6138           6146           6          2.6         390.3       1.4X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 90% decimal(38, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         12266          12282          17          1.3         779.8       1.0X
Parquet Vectorized (Pushdown)                              11856          11869          10          1.3         753.8       1.0X
Native ORC Vectorized                                      11351          11389          50          1.4         721.7       1.1X
Native ORC Vectorized (Pushdown)                           11043          11051           8          1.4         702.1       1.1X


================================================================================================
Pushdown benchmark for InSet -> InFilters
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 5, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               6330           6366          32          2.5         402.5       1.0X
Parquet Vectorized (Pushdown)                                     302            311           9         52.1          19.2      21.0X
Native ORC Vectorized                                            4822           4906          65          3.3         306.6       1.3X
Native ORC Vectorized (Pushdown)                                  358            374          16         43.9          22.8      17.7X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 5, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               6209           6255          57          2.5         394.7       1.0X
Parquet Vectorized (Pushdown)                                     269            273           3         58.4          17.1      23.1X
Native ORC Vectorized                                            4774           4791          20          3.3         303.5       1.3X
Native ORC Vectorized (Pushdown)                                  326            339           9         48.2          20.8      19.0X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 5, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               6214           6223           8          2.5         395.1       1.0X
Parquet Vectorized (Pushdown)                                     267            271           6         59.0          16.9      23.3X
Native ORC Vectorized                                            4769           4789          15          3.3         303.2       1.3X
Native ORC Vectorized (Pushdown)                                  321            331          11         49.0          20.4      19.4X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 10, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6196           6220          29          2.5         393.9       1.0X
Parquet Vectorized (Pushdown)                                      282            285           2         55.9          17.9      22.0X
Native ORC Vectorized                                             4784           4797          16          3.3         304.1       1.3X
Native ORC Vectorized (Pushdown)                                   342            345           2         46.0          21.7      18.1X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 10, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6224           6249          42          2.5         395.7       1.0X
Parquet Vectorized (Pushdown)                                      282            286           6         55.8          17.9      22.1X
Native ORC Vectorized                                             4779           4800          26          3.3         303.8       1.3X
Native ORC Vectorized (Pushdown)                                   335            349          14         47.0          21.3      18.6X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 10, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6212           6230          22          2.5         394.9       1.0X
Parquet Vectorized (Pushdown)                                      283            287           3         55.6          18.0      22.0X
Native ORC Vectorized                                             4797           4800           3          3.3         305.0       1.3X
Native ORC Vectorized (Pushdown)                                   345            348           2         45.5          22.0      18.0X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 50, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6376           6404          17          2.5         405.4       1.0X
Parquet Vectorized (Pushdown)                                      845            854          13         18.6          53.7       7.5X
Native ORC Vectorized                                             4985           5000          13          3.2         317.0       1.3X
Native ORC Vectorized (Pushdown)                                   442            450           6         35.6          28.1      14.4X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 50, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6386           6399          19          2.5         406.0       1.0X
Parquet Vectorized (Pushdown)                                     3142           3155           9          5.0         199.8       2.0X
Native ORC Vectorized                                             4863           4874          10          3.2         309.2       1.3X
Native ORC Vectorized (Pushdown)                                   462            467           6         34.1          29.4      13.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 50, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6388           6411          15          2.5         406.2       1.0X
Parquet Vectorized (Pushdown)                                     5643           5662          18          2.8         358.8       1.1X
Native ORC Vectorized                                             4873           4884           8          3.2         309.8       1.3X
Native ORC Vectorized (Pushdown)                                   468            473           3         33.6          29.8      13.6X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 100, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                 6340           6360          16          2.5         403.1       1.0X
Parquet Vectorized (Pushdown)                                       873            877           7         18.0          55.5       7.3X
Native ORC Vectorized                                              4813           4821           7          3.3         306.0       1.3X
Native ORC Vectorized (Pushdown)                                    535            547           8         29.4          34.0      11.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 100, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                 6338           6364          23          2.5         403.0       1.0X
Parquet Vectorized (Pushdown)                                      3316           3331          10          4.7         210.8       1.9X
Native ORC Vectorized                                              4826           4845          15          3.3         306.9       1.3X
Native ORC Vectorized (Pushdown)                                    600            603           2         26.2          38.1      10.6X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 100, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                 6337           6368          24          2.5         402.9       1.0X
Parquet Vectorized (Pushdown)                                      5768           5799          28          2.7         366.7       1.1X
Native ORC Vectorized                                              4813           4823           7          3.3         306.0       1.3X
Native ORC Vectorized (Pushdown)                                    614            622           7         25.6          39.0      10.3X


================================================================================================
Pushdown benchmark for tinyint
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 tinyint row (value = CAST(63 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                           2788           2806          16          5.6         177.2       1.0X
Parquet Vectorized (Pushdown)                                 105            121          18        150.5           6.6      26.7X
Native ORC Vectorized                                        2161           2174          18          7.3         137.4       1.3X
Native ORC Vectorized (Pushdown)                              124            130          14        126.9           7.9      22.5X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 10% tinyint rows (value < CAST(12 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                              3481           3521          60          4.5         221.3       1.0X
Parquet Vectorized (Pushdown)                                   1029           1042          15         15.3          65.5       3.4X
Native ORC Vectorized                                           2736           2743          10          5.7         173.9       1.3X
Native ORC Vectorized (Pushdown)                                 889            896           4         17.7          56.5       3.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 50% tinyint rows (value < CAST(63 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                              6140           6151          14          2.6         390.4       1.0X
Parquet Vectorized (Pushdown)                                   4848           4861          10          3.2         308.2       1.3X
Native ORC Vectorized                                           5193           5224          48          3.0         330.1       1.2X
Native ORC Vectorized (Pushdown)                                4165           4171           4          3.8         264.8       1.5X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 90% tinyint rows (value < CAST(114 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               9067           9086          22          1.7         576.5       1.0X
Parquet Vectorized (Pushdown)                                    8848           8883          33          1.8         562.5       1.0X
Native ORC Vectorized                                            7748           7768          25          2.0         492.6       1.2X
Native ORC Vectorized (Pushdown)                                 7594           7606           9          2.1         482.8       1.2X


================================================================================================
Pushdown benchmark for Timestamp
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 timestamp stored as INT96 row (value = timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                    3162           3175           9          5.0         201.0       1.0X
Parquet Vectorized (Pushdown)                                                         3157           3164           9          5.0         200.7       1.0X
Native ORC Vectorized                                                                 2018           2029           8          7.8         128.3       1.6X
Native ORC Vectorized (Pushdown)                                                        43             46           5        367.1           2.7      73.8X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 10% timestamp stored as INT96 rows (value < timestamp_seconds(1572864)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                       3897           3916          15          4.0         247.8       1.0X
Parquet Vectorized (Pushdown)                                                            3920           3943          21          4.0         249.2       1.0X
Native ORC Vectorized                                                                    2687           2708          32          5.9         170.8       1.5X
Native ORC Vectorized (Pushdown)                                                          917            921           5         17.1          58.3       4.2X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 50% timestamp stored as INT96 rows (value < timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                       7004           7054          40          2.2         445.3       1.0X
Parquet Vectorized (Pushdown)                                                            7044           7057          20          2.2         447.9       1.0X
Native ORC Vectorized                                                                    5430           5442          11          2.9         345.2       1.3X
Native ORC Vectorized (Pushdown)                                                         4410           4423           8          3.6         280.4       1.6X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 90% timestamp stored as INT96 rows (value < timestamp_seconds(14155776)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                       10066          10089          20          1.6         640.0       1.0X
Parquet Vectorized (Pushdown)                                                            10052          10071          39          1.6         639.1       1.0X
Native ORC Vectorized                                                                     8131           8139           8          1.9         517.0       1.2X
Native ORC Vectorized (Pushdown)                                                          7939           7945           5          2.0         504.8       1.3X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 timestamp stored as TIMESTAMP_MICROS row (value = timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                               2605           2614          14          6.0         165.6       1.0X
Parquet Vectorized (Pushdown)                                                                      64             66           2        243.9           4.1      40.4X
Native ORC Vectorized                                                                            2007           2012           5          7.8         127.6       1.3X
Native ORC Vectorized (Pushdown)                                                                   42             45           4        374.1           2.7      62.0X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 10% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(1572864)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                  3331           3341           8          4.7         211.8       1.0X
Parquet Vectorized (Pushdown)                                                                       1083           1086           2         14.5          68.9       3.1X
Native ORC Vectorized                                                                               2684           2718          48          5.9         170.7       1.2X
Native ORC Vectorized (Pushdown)                                                                     913            927          11         17.2          58.0       3.6X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 50% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                  6455           6463           6          2.4         410.4       1.0X
Parquet Vectorized (Pushdown)                                                                       5222           5233          13          3.0         332.0       1.2X
Native ORC Vectorized                                                                               5438           5445           8          2.9         345.7       1.2X
Native ORC Vectorized (Pushdown)                                                                    4419           4434           9          3.6         281.0       1.5X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 90% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(14155776)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                   9520           9532          16          1.7         605.3       1.0X
Parquet Vectorized (Pushdown)                                                                        9291           9314          21          1.7         590.7       1.0X
Native ORC Vectorized                                                                                8131           8141          14          1.9         516.9       1.2X
Native ORC Vectorized (Pushdown)                                                                     7938           7945           9          2.0         504.7       1.2X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 timestamp stored as TIMESTAMP_MILLIS row (value = timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                               2783           2789           7          5.7         176.9       1.0X
Parquet Vectorized (Pushdown)                                                                      64             66           4        244.1           4.1      43.2X
Native ORC Vectorized                                                                            2009           2016          10          7.8         127.7       1.4X
Native ORC Vectorized (Pushdown)                                                                   42             47           6        372.6           2.7      65.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 10% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(1572864)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                  3526           3537           8          4.5         224.1       1.0X
Parquet Vectorized (Pushdown)                                                                       1103           1108           4         14.3          70.1       3.2X
Native ORC Vectorized                                                                               2680           2701          41          5.9         170.4       1.3X
Native ORC Vectorized (Pushdown)                                                                     916            916           1         17.2          58.2       3.9X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 50% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                  6640           6662          13          2.4         422.1       1.0X
Parquet Vectorized (Pushdown)                                                                       5323           5330           5          3.0         338.4       1.2X
Native ORC Vectorized                                                                               5447           5468          42          2.9         346.3       1.2X
Native ORC Vectorized (Pushdown)                                                                    4417           4430           8          3.6         280.8       1.5X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 90% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(14155776)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                   9696           9734          42          1.6         616.4       1.0X
Parquet Vectorized (Pushdown)                                                                        9459           9465           7          1.7         601.4       1.0X
Native ORC Vectorized                                                                                8102           8112          16          1.9         515.1       1.2X
Native ORC Vectorized (Pushdown)                                                                     7925           7938          13          2.0         503.9       1.2X


================================================================================================
Pushdown benchmark with many filters
================================================================================================

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 row with 1 filters:              Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                   47             49           3          0.0    46843196.0       1.0X
Parquet Vectorized (Pushdown)                        47             50           3          0.0    47392608.0       1.0X
Native ORC Vectorized                                44             46           4          0.0    44227310.0       1.1X
Native ORC Vectorized (Pushdown)                     49             51           3          0.0    48979992.0       1.0X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 row with 250 filters:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  172            182           9          0.0   172363427.0       1.0X
Parquet Vectorized (Pushdown)                       177            180           4          0.0   176565990.0       1.0X
Native ORC Vectorized                               171            179           9          0.0   170785245.0       1.0X
Native ORC Vectorized (Pushdown)                    178            184           4          0.0   177572455.0       1.0X

OpenJDK 64-Bit Server VM 21.0.8+9-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 row with 500 filters:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  530            548          15          0.0   530438326.0       1.0X
Parquet Vectorized (Pushdown)                       541            575          34          0.0   541493607.0       1.0X
Native ORC Vectorized                               534            549          16          0.0   533615544.0       1.0X
Native ORC Vectorized (Pushdown)                    560            574          15          0.0   559651679.0       0.9X


