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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                 6367           6441          55          2.5         404.8       1.0X
Parquet Vectorized (Pushdown)                       290            315          21         54.2          18.4      22.0X
Native ORC Vectorized                              5174           5226          54          3.0         328.9       1.2X
Native ORC Vectorized (Pushdown)                    374            381           4         42.0          23.8      17.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                            6376           6384          15          2.5         405.4       1.0X
Parquet Vectorized (Pushdown)                                  287            298          10         54.8          18.3      22.2X
Native ORC Vectorized                                         5278           5293          16          3.0         335.5       1.2X
Native ORC Vectorized (Pushdown)                               371            381           9         42.4          23.6      17.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                 6477           6491          16          2.4         411.8       1.0X
Parquet Vectorized (Pushdown)                       276            285           7         57.0          17.5      23.5X
Native ORC Vectorized                              5384           5399          12          2.9         342.3       1.2X
Native ORC Vectorized (Pushdown)                    358            368           6         43.9          22.8      18.1X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                  6460           6497          28          2.4         410.7       1.0X
Parquet Vectorized (Pushdown)                        263            275           9         59.8          16.7      24.6X
Native ORC Vectorized                               5375           5389          13          2.9         341.7       1.2X
Native ORC Vectorized (Pushdown)                     352            360           6         44.7          22.4      18.3X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                              6499           6510           8          2.4         413.2       1.0X
Parquet Vectorized (Pushdown)                                    265            271           5         59.4          16.8      24.6X
Native ORC Vectorized                                           5353           5362          13          2.9         340.3       1.2X
Native ORC Vectorized (Pushdown)                                 352            366           8         44.7          22.4      18.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                  14737          14765          24          1.1         936.9       1.0X
Parquet Vectorized (Pushdown)                       14867          14878          10          1.1         945.2       1.0X
Native ORC Vectorized                               13444          13461          12          1.2         854.8       1.1X
Native ORC Vectorized (Pushdown)                    13574          13578           4          1.2         863.0       1.1X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                 6138           6163          24          2.6         390.3       1.0X
Parquet Vectorized (Pushdown)                       260            289          18         60.5          16.5      23.6X
Native ORC Vectorized                              4764           4842          52          3.3         302.9       1.3X
Native ORC Vectorized (Pushdown)                    335            338           3         46.9          21.3      18.3X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                     6095           6113          11          2.6         387.5       1.0X
Parquet Vectorized (Pushdown)                           264            274           9         59.6          16.8      23.1X
Native ORC Vectorized                                  4756           4766          11          3.3         302.4       1.3X
Native ORC Vectorized (Pushdown)                        341            350           6         46.1          21.7      17.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                 6118           6130           9          2.6         389.0       1.0X
Parquet Vectorized (Pushdown)                       256            263           5         61.3          16.3      23.9X
Native ORC Vectorized                              4821           4833          12          3.3         306.5       1.3X
Native ORC Vectorized (Pushdown)                    340            358          11         46.2          21.6      18.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                 6112           6121           6          2.6         388.6       1.0X
Parquet Vectorized (Pushdown)                       255            258           2         61.6          16.2      23.9X
Native ORC Vectorized                              4793           4848          34          3.3         304.7       1.3X
Native ORC Vectorized (Pushdown)                    335            346           8         46.9          21.3      18.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                       6107           6117           9          2.6         388.3       1.0X
Parquet Vectorized (Pushdown)                             257            262           3         61.2          16.3      23.8X
Native ORC Vectorized                                    4842           4857          12          3.2         307.9       1.3X
Native ORC Vectorized (Pushdown)                          336            343           5         46.8          21.4      18.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                     6106           6118          14          2.6         388.2       1.0X
Parquet Vectorized (Pushdown)                           256            260           3         61.4          16.3      23.8X
Native ORC Vectorized                                  4831           4843          15          3.3         307.2       1.3X
Native ORC Vectorized (Pushdown)                        335            345           8         46.9          21.3      18.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                 6817           6831          11          2.3         433.4       1.0X
Parquet Vectorized (Pushdown)                      1564           1567           2         10.1          99.4       4.4X
Native ORC Vectorized                              5518           5531          11          2.9         350.8       1.2X
Native ORC Vectorized (Pushdown)                   1508           1518          16         10.4          95.9       4.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                 9500           9526          20          1.7         604.0       1.0X
Parquet Vectorized (Pushdown)                      6608           6622          10          2.4         420.1       1.4X
Native ORC Vectorized                              8143           8149           6          1.9         517.7       1.2X
Native ORC Vectorized (Pushdown)                   5972           5989          17          2.6         379.7       1.6X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                12208          12221          14          1.3         776.2       1.0X
Parquet Vectorized (Pushdown)                     11677          11688          12          1.3         742.4       1.0X
Native ORC Vectorized                             10761          10808          76          1.5         684.2       1.1X
Native ORC Vectorized (Pushdown)                  10426          10434          13          1.5         662.9       1.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                12865          12879          12          1.2         817.9       1.0X
Parquet Vectorized (Pushdown)                     12902          12925          14          1.2         820.3       1.0X
Native ORC Vectorized                             11625          11640           9          1.4         739.1       1.1X
Native ORC Vectorized (Pushdown)                  11757          11768          12          1.3         747.5       1.1X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                12951          12975          22          1.2         823.4       1.0X
Parquet Vectorized (Pushdown)                     13030          13045          10          1.2         828.4       1.0X
Native ORC Vectorized                             11625          11630           5          1.4         739.1       1.1X
Native ORC Vectorized (Pushdown)                  11729          11740          10          1.3         745.7       1.1X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                12778          12793          10          1.2         812.4       1.0X
Parquet Vectorized (Pushdown)                     12839          12860          16          1.2         816.3       1.0X
Native ORC Vectorized                             11505          11515           7          1.4         731.5       1.1X
Native ORC Vectorized (Pushdown)                  11641          11652          11          1.4         740.1       1.1X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                     5690           5735          30          2.8         361.8       1.0X
Parquet Vectorized (Pushdown)                           228            245          18         69.1          14.5      25.0X
Native ORC Vectorized                                  6634           6680          39          2.4         421.8       0.9X
Native ORC Vectorized (Pushdown)                       1163           1165           2         13.5          73.9       4.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                             5704           5707           4          2.8         362.6       1.0X
Parquet Vectorized (Pushdown)                                   229            244          25         68.7          14.6      24.9X
Native ORC Vectorized                                          6908           6923          23          2.3         439.2       0.8X
Native ORC Vectorized (Pushdown)                               1154           1165           9         13.6          73.4       4.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                     5642           5656          11          2.8         358.7       1.0X
Parquet Vectorized (Pushdown)                           281            288           7         56.0          17.9      20.1X
Native ORC Vectorized                                  6854           6860           5          2.3         435.7       0.8X
Native ORC Vectorized (Pushdown)                       1195           1202           8         13.2          76.0       4.7X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                       5638           5655          13          2.8         358.5       1.0X
Parquet Vectorized (Pushdown)                             275            280           4         57.2          17.5      20.5X
Native ORC Vectorized                                    6864           6886          29          2.3         436.4       0.8X
Native ORC Vectorized (Pushdown)                         1192           1201          14         13.2          75.8       4.7X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                               5712           5726          15          2.8         363.2       1.0X
Parquet Vectorized (Pushdown)                                     276            282           5         57.0          17.5      20.7X
Native ORC Vectorized                                            6928           6941          11          2.3         440.5       0.8X
Native ORC Vectorized (Pushdown)                                 1202           1203           1         13.1          76.4       4.8X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                           14159          14169          11          1.1         900.2       1.0X
Parquet Vectorized (Pushdown)                                14165          14187          23          1.1         900.6       1.0X
Native ORC Vectorized                                        15335          15384          82          1.0         975.0       0.9X
Native ORC Vectorized (Pushdown)                             15718          15742          16          1.0         999.3       0.9X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                    6854           6890          46          2.3         435.8       1.0X
Parquet Vectorized (Pushdown)                          931            967          46         16.9          59.2       7.4X
Native ORC Vectorized                                 5531           5587          36          2.8         351.6       1.2X
Native ORC Vectorized (Pushdown)                      5641           5694          62          2.8         358.6       1.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                      6578           6599          21          2.4         418.2       1.0X
Parquet Vectorized (Pushdown)                            259            267           7         60.7          16.5      25.4X
Native ORC Vectorized                                   5309           5317          10          3.0         337.5       1.2X
Native ORC Vectorized (Pushdown)                        5434           5450          19          2.9         345.5       1.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                        6582           6589          10          2.4         418.5       1.0X
Parquet Vectorized (Pushdown)                              252            257           4         62.4          16.0      26.1X
Native ORC Vectorized                                     5298           5304           4          3.0         336.8       1.2X
Native ORC Vectorized (Pushdown)                          5423           5437           9          2.9         344.8       1.2X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                  5754           5769          10          2.7         365.9       1.0X
Parquet Vectorized (Pushdown)                        358            379          26         44.0          22.7      16.1X
Native ORC Vectorized                               6886           6904          16          2.3         437.8       0.8X
Native ORC Vectorized (Pushdown)                    7276           7305          21          2.2         462.6       0.8X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                    5595           5616          12          2.8         355.7       1.0X
Parquet Vectorized (Pushdown)                          255            262          14         61.6          16.2      21.9X
Native ORC Vectorized                                 6826           6839           8          2.3         434.0       0.8X
Native ORC Vectorized (Pushdown)                      7226           7238           8          2.2         459.4       0.8X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                      5613           5624          11          2.8         356.9       1.0X
Parquet Vectorized (Pushdown)                            254            258           3         62.0          16.1      22.1X
Native ORC Vectorized                                   6836           6871          21          2.3         434.6       0.8X
Native ORC Vectorized (Pushdown)                        7234           7245          10          2.2         459.9       0.8X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                   5989           5998          10          2.6         380.8       1.0X
Parquet Vectorized (Pushdown)                         789            817          37         19.9          50.2       7.6X
Native ORC Vectorized                                7128           7158          45          2.2         453.2       0.8X
Native ORC Vectorized (Pushdown)                     7480           7512          25          2.1         475.6       0.8X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                     5601           5614          11          2.8         356.1       1.0X
Parquet Vectorized (Pushdown)                           250            253           3         62.9          15.9      22.4X
Native ORC Vectorized                                  6843           6862          12          2.3         435.1       0.8X
Native ORC Vectorized (Pushdown)                       7225           7256          26          2.2         459.4       0.8X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                       5608           5619          10          2.8         356.6       1.0X
Parquet Vectorized (Pushdown)                             250            257           6         62.9          15.9      22.4X
Native ORC Vectorized                                    6834           6847          12          2.3         434.5       0.8X
Native ORC Vectorized (Pushdown)                         7232           7243          11          2.2         459.8       0.8X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                     2428           2450          17          6.5         154.3       1.0X
Parquet Vectorized (Pushdown)                            64             69           7        245.4           4.1      37.9X
Native ORC Vectorized                                  3283           3302          28          4.8         208.7       0.7X
Native ORC Vectorized (Pushdown)                         67             72           5        233.4           4.3      36.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                        3981           3998          21          4.0         253.1       1.0X
Parquet Vectorized (Pushdown)                             2047           2056           7          7.7         130.1       1.9X
Native ORC Vectorized                                     4766           4771           7          3.3         303.0       0.8X
Native ORC Vectorized (Pushdown)                          2144           2154          10          7.3         136.3       1.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                        9057           9077          12          1.7         575.9       1.0X
Parquet Vectorized (Pushdown)                             8780           8815          47          1.8         558.2       1.0X
Native ORC Vectorized                                     9619           9643          18          1.6         611.5       0.9X
Native ORC Vectorized (Pushdown)                          9222           9233           8          1.7         586.3       1.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                        10435          10471          23          1.5         663.5       1.0X
Parquet Vectorized (Pushdown)                             10473          10495          19          1.5         665.9       1.0X
Native ORC Vectorized                                     10725          10747          15          1.5         681.9       1.0X
Native ORC Vectorized (Pushdown)                          10762          10776          15          1.5         684.3       1.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                      2664           2686          20          5.9         169.4       1.0X
Parquet Vectorized (Pushdown)                             63             67           6        248.1           4.0      42.0X
Native ORC Vectorized                                   3251           3262           8          4.8         206.7       0.8X
Native ORC Vectorized (Pushdown)                          64             68           5        244.2           4.1      41.4X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                         3434           3484          96          4.6         218.3       1.0X
Parquet Vectorized (Pushdown)                              1099           1106           6         14.3          69.8       3.1X
Native ORC Vectorized                                      4023           4041          13          3.9         255.8       0.9X
Native ORC Vectorized (Pushdown)                           1117           1120           2         14.1          71.0       3.1X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                         6600           6609           8          2.4         419.6       1.0X
Parquet Vectorized (Pushdown)                              5346           5350           4          2.9         339.9       1.2X
Native ORC Vectorized                                      7070           7078          10          2.2         449.5       0.9X
Native ORC Vectorized (Pushdown)                           5436           5448           8          2.9         345.6       1.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                          9653           9693          42          1.6         613.7       1.0X
Parquet Vectorized (Pushdown)                               9408           9424          23          1.7         598.2       1.0X
Native ORC Vectorized                                      10093          10112          15          1.6         641.7       1.0X
Native ORC Vectorized (Pushdown)                            9791           9806           9          1.6         622.5       1.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                      3840           3843           3          4.1         244.1       1.0X
Parquet Vectorized (Pushdown)                             69             72           3        228.4           4.4      55.8X
Native ORC Vectorized                                   3259           3269          12          4.8         207.2       1.2X
Native ORC Vectorized (Pushdown)                          64             66           3        246.6           4.1      60.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                         4799           4823          33          3.3         305.1       1.0X
Parquet Vectorized (Pushdown)                              1413           1437          37         11.1          89.8       3.4X
Native ORC Vectorized                                      4153           4160           7          3.8         264.0       1.2X
Native ORC Vectorized (Pushdown)                           1236           1238           3         12.7          78.6       3.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                         8642           8683          27          1.8         549.5       1.0X
Parquet Vectorized (Pushdown)                              6755           6766           7          2.3         429.5       1.3X
Native ORC Vectorized                                      7577           7584           7          2.1         481.7       1.1X
Native ORC Vectorized (Pushdown)                           5941           5953           9          2.6         377.7       1.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                         12489          12523          30          1.3         794.0       1.0X
Parquet Vectorized (Pushdown)                              12012          12071          61          1.3         763.7       1.0X
Native ORC Vectorized                                      11012          11019           8          1.4         700.1       1.1X
Native ORC Vectorized (Pushdown)                           10705          10714           8          1.5         680.6       1.2X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                               6164           6209          46          2.6         391.9       1.0X
Parquet Vectorized (Pushdown)                                     266            306          24         59.2          16.9      23.2X
Native ORC Vectorized                                            4829           4853          18          3.3         307.0       1.3X
Native ORC Vectorized (Pushdown)                                  363            376          14         43.3          23.1      17.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                               6096           6111          12          2.6         387.6       1.0X
Parquet Vectorized (Pushdown)                                     257            264           5         61.2          16.3      23.7X
Native ORC Vectorized                                            4749           4772          16          3.3         301.9       1.3X
Native ORC Vectorized (Pushdown)                                  348            359           6         45.2          22.1      17.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                               6095           6100           4          2.6         387.5       1.0X
Parquet Vectorized (Pushdown)                                     255            271          22         61.6          16.2      23.9X
Native ORC Vectorized                                            4748           4764          13          3.3         301.9       1.3X
Native ORC Vectorized (Pushdown)                                  340            351           8         46.2          21.6      17.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                6102           6107           4          2.6         388.0       1.0X
Parquet Vectorized (Pushdown)                                      271            277           6         58.1          17.2      22.5X
Native ORC Vectorized                                             4768           4771           3          3.3         303.1       1.3X
Native ORC Vectorized (Pushdown)                                   353            365          11         44.6          22.4      17.3X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                6096           6109          16          2.6         387.6       1.0X
Parquet Vectorized (Pushdown)                                      271            275           3         58.1          17.2      22.5X
Native ORC Vectorized                                             4770           4773           3          3.3         303.2       1.3X
Native ORC Vectorized (Pushdown)                                   354            364           8         44.4          22.5      17.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                6107           6114           7          2.6         388.2       1.0X
Parquet Vectorized (Pushdown)                                      273            280           5         57.7          17.3      22.4X
Native ORC Vectorized                                             4767           4772           8          3.3         303.1       1.3X
Native ORC Vectorized (Pushdown)                                   356            369          12         44.2          22.6      17.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                6312           6327          12          2.5         401.3       1.0X
Parquet Vectorized (Pushdown)                                      858            868          12         18.3          54.5       7.4X
Native ORC Vectorized                                             5016           5021           4          3.1         318.9       1.3X
Native ORC Vectorized (Pushdown)                                   458            463           4         34.3          29.1      13.8X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                6313           6325          12          2.5         401.4       1.0X
Parquet Vectorized (Pushdown)                                     3196           3213          19          4.9         203.2       2.0X
Native ORC Vectorized                                             5016           5028          12          3.1         318.9       1.3X
Native ORC Vectorized (Pushdown)                                   489            495           4         32.2          31.1      12.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                6304           6314           7          2.5         400.8       1.0X
Parquet Vectorized (Pushdown)                                     5358           5374          15          2.9         340.6       1.2X
Native ORC Vectorized                                             4995           5002           5          3.1         317.6       1.3X
Native ORC Vectorized (Pushdown)                                   491            494           3         32.0          31.2      12.8X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                 6261           6274           9          2.5         398.1       1.0X
Parquet Vectorized (Pushdown)                                       855            860           4         18.4          54.3       7.3X
Native ORC Vectorized                                              4950           4957           6          3.2         314.7       1.3X
Native ORC Vectorized (Pushdown)                                    549            557          11         28.6          34.9      11.4X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                 6244           6252           6          2.5         397.0       1.0X
Parquet Vectorized (Pushdown)                                      3144           3153          11          5.0         199.9       2.0X
Native ORC Vectorized                                              4836           4852          19          3.3         307.4       1.3X
Native ORC Vectorized (Pushdown)                                    630            633           2         25.0          40.0       9.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                 6271           6278           9          2.5         398.7       1.0X
Parquet Vectorized (Pushdown)                                      5483           5494           7          2.9         348.6       1.1X
Native ORC Vectorized                                              4855           4863           7          3.2         308.7       1.3X
Native ORC Vectorized (Pushdown)                                    629            631           2         25.0          40.0      10.0X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                           2707           2734          27          5.8         172.1       1.0X
Parquet Vectorized (Pushdown)                                 108            123          19        145.3           6.9      25.0X
Native ORC Vectorized                                        2160           2179          17          7.3         137.3       1.3X
Native ORC Vectorized (Pushdown)                              130            135          11        121.4           8.2      20.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                              3447           3481          26          4.6         219.2       1.0X
Parquet Vectorized (Pushdown)                                   1038           1057          34         15.1          66.0       3.3X
Native ORC Vectorized                                           2765           2779           8          5.7         175.8       1.2X
Native ORC Vectorized (Pushdown)                                 911            914           2         17.3          57.9       3.8X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                              6204           6217          11          2.5         394.5       1.0X
Parquet Vectorized (Pushdown)                                   4930           4934           4          3.2         313.4       1.3X
Native ORC Vectorized                                           5252           5259           5          3.0         333.9       1.2X
Native ORC Vectorized (Pushdown)                                4249           4255           5          3.7         270.2       1.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                               9115           9130          21          1.7         579.5       1.0X
Parquet Vectorized (Pushdown)                                    8870           8883          11          1.8         564.0       1.0X
Native ORC Vectorized                                            7792           7803           9          2.0         495.4       1.2X
Native ORC Vectorized (Pushdown)                                 7617           7625           8          2.1         484.3       1.2X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                    3091           3104          16          5.1         196.5       1.0X
Parquet Vectorized (Pushdown)                                                         3093           3108          19          5.1         196.7       1.0X
Native ORC Vectorized                                                                 2062           2074           9          7.6         131.1       1.5X
Native ORC Vectorized (Pushdown)                                                        45             49           6        346.7           2.9      68.1X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                       3756           3786          36          4.2         238.8       1.0X
Parquet Vectorized (Pushdown)                                                            3804           3819          13          4.1         241.9       1.0X
Native ORC Vectorized                                                                    2703           2717          22          5.8         171.9       1.4X
Native ORC Vectorized (Pushdown)                                                          888            894           7         17.7          56.5       4.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                       6869           6890          26          2.3         436.7       1.0X
Parquet Vectorized (Pushdown)                                                            6858           6869           6          2.3         436.0       1.0X
Native ORC Vectorized                                                                    5239           5243           3          3.0         333.1       1.3X
Native ORC Vectorized (Pushdown)                                                         4184           4196          14          3.8         266.0       1.6X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                        9464           9472           6          1.7         601.7       1.0X
Parquet Vectorized (Pushdown)                                                             9463           9473          11          1.7         601.7       1.0X
Native ORC Vectorized                                                                     7913           7925          15          2.0         503.1       1.2X
Native ORC Vectorized (Pushdown)                                                          7714           7722           9          2.0         490.5       1.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                               2557           2560           4          6.2         162.5       1.0X
Parquet Vectorized (Pushdown)                                                                      63             65           4        250.8           4.0      40.8X
Native ORC Vectorized                                                                            2063           2070           4          7.6         131.2       1.2X
Native ORC Vectorized (Pushdown)                                                                   45             50           5        351.5           2.8      57.1X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                                  3224           3231           9          4.9         205.0       1.0X
Parquet Vectorized (Pushdown)                                                                        990            993           3         15.9          63.0       3.3X
Native ORC Vectorized                                                                               2707           2712           6          5.8         172.1       1.2X
Native ORC Vectorized (Pushdown)                                                                     895            897           1         17.6          56.9       3.6X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                                  6303           6318          12          2.5         400.7       1.0X
Parquet Vectorized (Pushdown)                                                                       5090           5097           7          3.1         323.6       1.2X
Native ORC Vectorized                                                                               5249           5258           6          3.0         333.7       1.2X
Native ORC Vectorized (Pushdown)                                                                    4186           4198           9          3.8         266.2       1.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                                   8899           8903           3          1.8         565.8       1.0X
Parquet Vectorized (Pushdown)                                                                        8682           8689          11          1.8         552.0       1.0X
Native ORC Vectorized                                                                                7887           7908          22          2.0         501.5       1.1X
Native ORC Vectorized (Pushdown)                                                                     7709           7713           4          2.0         490.1       1.2X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                               2590           2595           5          6.1         164.7       1.0X
Parquet Vectorized (Pushdown)                                                                      62             65           4        253.6           3.9      41.8X
Native ORC Vectorized                                                                            2064           2069           5          7.6         131.2       1.3X
Native ORC Vectorized (Pushdown)                                                                   45             50           6        351.4           2.8      57.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                                  3250           3260           9          4.8         206.6       1.0X
Parquet Vectorized (Pushdown)                                                                        990            996           5         15.9          62.9       3.3X
Native ORC Vectorized                                                                               2702           2715          11          5.8         171.8       1.2X
Native ORC Vectorized (Pushdown)                                                                     911            913           2         17.3          57.9       3.6X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                                  6318           6330           9          2.5         401.7       1.0X
Parquet Vectorized (Pushdown)                                                                       5092           5100           9          3.1         323.7       1.2X
Native ORC Vectorized                                                                               5236           5241           5          3.0         332.9       1.2X
Native ORC Vectorized (Pushdown)                                                                    4189           4194           5          3.8         266.3       1.5X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                                                                   8906           8925          14          1.8         566.2       1.0X
Parquet Vectorized (Pushdown)                                                                        8688           8712          25          1.8         552.4       1.0X
Native ORC Vectorized                                                                                7889           7924          24          2.0         501.6       1.1X
Native ORC Vectorized (Pushdown)                                                                     7707           7736          48          2.0         490.0       1.2X


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

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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             50           3          0.0    46699093.0       1.0X
Parquet Vectorized (Pushdown)                        48             50           3          0.0    47548413.0       1.0X
Native ORC Vectorized                                44             47           4          0.0    43987048.0       1.1X
Native ORC Vectorized (Pushdown)                     50             53           4          0.0    49625254.0       0.9X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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            179           7          0.0   172161756.0       1.0X
Parquet Vectorized (Pushdown)                       175            183           7          0.0   174828351.0       1.0X
Native ORC Vectorized                               168            172           4          0.0   168181833.0       1.0X
Native ORC Vectorized (Pushdown)                    176            180           4          0.0   175558268.0       1.0X

OpenJDK 64-Bit Server VM 21.0.10+7-LTS on Linux 6.14.0-1017-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                                  536            548          13          0.0   535675333.0       1.0X
Parquet Vectorized (Pushdown)                       541            552          12          0.0   541424791.0       1.0X
Native ORC Vectorized                               529            540          13          0.0   528857100.0       1.0X
Native ORC Vectorized (Pushdown)                    536            555          14          0.0   536341757.0       1.0X


