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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                 6341           6419          55          2.5         403.1       1.0X
Parquet Vectorized (Pushdown)                       320            345          17         49.2          20.3      19.8X
Native ORC Vectorized                              5175           5223          28          3.0         329.0       1.2X
Native ORC Vectorized (Pushdown)                    314            326           6         50.1          19.9      20.2X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                            6350           6385          30          2.5         403.8       1.0X
Parquet Vectorized (Pushdown)                                  304            321          17         51.8          19.3      20.9X
Native ORC Vectorized                                         5263           5274           8          3.0         334.6       1.2X
Native ORC Vectorized (Pushdown)                               314            321           9         50.0          20.0      20.2X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                 6412           6442          22          2.5         407.7       1.0X
Parquet Vectorized (Pushdown)                       292            300           7         53.9          18.6      22.0X
Native ORC Vectorized                              5286           5301          13          3.0         336.0       1.2X
Native ORC Vectorized (Pushdown)                    293            302           6         53.8          18.6      21.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                  6322           6332           8          2.5         401.9       1.0X
Parquet Vectorized (Pushdown)                        284            291           9         55.3          18.1      22.2X
Native ORC Vectorized                               5264           5290          32          3.0         334.7       1.2X
Native ORC Vectorized (Pushdown)                     290            298           6         54.3          18.4      21.8X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                              6334           6347          11          2.5         402.7       1.0X
Parquet Vectorized (Pushdown)                                    285            291           6         55.3          18.1      22.3X
Native ORC Vectorized                                           5249           5282          30          3.0         333.7       1.2X
Native ORC Vectorized (Pushdown)                                 284            293           8         55.3          18.1      22.3X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                  13337          13400          94          1.2         848.0       1.0X
Parquet Vectorized (Pushdown)                       13401          13409          10          1.2         852.0       1.0X
Native ORC Vectorized                               12442          12459          16          1.3         791.0       1.1X
Native ORC Vectorized (Pushdown)                    12390          12422          34          1.3         787.8       1.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                 6208           6236          26          2.5         394.7       1.0X
Parquet Vectorized (Pushdown)                       285            296          11         55.2          18.1      21.8X
Native ORC Vectorized                              4766           4790          28          3.3         303.0       1.3X
Native ORC Vectorized (Pushdown)                    293            299           6         53.7          18.6      21.2X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                     6068           6080          15          2.6         385.8       1.0X
Parquet Vectorized (Pushdown)                           299            306           5         52.5          19.0      20.3X
Native ORC Vectorized                                  4760           4776          17          3.3         302.6       1.3X
Native ORC Vectorized (Pushdown)                        293            297           5         53.7          18.6      20.7X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                 6159           6171          15          2.6         391.6       1.0X
Parquet Vectorized (Pushdown)                       297            306           7         53.0          18.9      20.7X
Native ORC Vectorized                              4769           4791          17          3.3         303.2       1.3X
Native ORC Vectorized (Pushdown)                    287            294           4         54.7          18.3      21.4X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                 6147           6169          24          2.6         390.8       1.0X
Parquet Vectorized (Pushdown)                       294            299           4         53.5          18.7      20.9X
Native ORC Vectorized                              4778           4808          17          3.3         303.8       1.3X
Native ORC Vectorized (Pushdown)                    288            295           8         54.7          18.3      21.4X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                       6133           6145          11          2.6         389.9       1.0X
Parquet Vectorized (Pushdown)                             297            303           9         53.0          18.9      20.7X
Native ORC Vectorized                                    4820           4834          13          3.3         306.5       1.3X
Native ORC Vectorized (Pushdown)                          288            294           3         54.6          18.3      21.3X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                     6107           6132          22          2.6         388.3       1.0X
Parquet Vectorized (Pushdown)                           297            301           4         52.9          18.9      20.6X
Native ORC Vectorized                                  4834           4857          22          3.3         307.3       1.3X
Native ORC Vectorized (Pushdown)                        289            291           2         54.4          18.4      21.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                 6875           6895          16          2.3         437.1       1.0X
Parquet Vectorized (Pushdown)                      1642           1653           8          9.6         104.4       4.2X
Native ORC Vectorized                              5521           5530           8          2.8         351.0       1.2X
Native ORC Vectorized (Pushdown)                   1474           1498          40         10.7          93.7       4.7X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                 9723           9748          18          1.6         618.1       1.0X
Parquet Vectorized (Pushdown)                      6868           6887          15          2.3         436.6       1.4X
Native ORC Vectorized                              8428           8438           8          1.9         535.8       1.2X
Native ORC Vectorized (Pushdown)                   6202           6226          19          2.5         394.3       1.6X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                12372          12392          13          1.3         786.6       1.0X
Parquet Vectorized (Pushdown)                     11849          11877          18          1.3         753.3       1.0X
Native ORC Vectorized                             11073          11112          45          1.4         704.0       1.1X
Native ORC Vectorized (Pushdown)                  10691          10713          29          1.5         679.7       1.2X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                12963          12977          25          1.2         824.1       1.0X
Parquet Vectorized (Pushdown)                     13003          13021          24          1.2         826.7       1.0X
Native ORC Vectorized                             11706          11717           6          1.3         744.3       1.1X
Native ORC Vectorized (Pushdown)                  11808          11822          16          1.3         750.8       1.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                13068          13089          14          1.2         830.8       1.0X
Parquet Vectorized (Pushdown)                     13105          13122          14          1.2         833.2       1.0X
Native ORC Vectorized                             11658          11663           6          1.3         741.2       1.1X
Native ORC Vectorized (Pushdown)                  11715          11745          25          1.3         744.8       1.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                12946          12961          13          1.2         823.1       1.0X
Parquet Vectorized (Pushdown)                     13026          13050          18          1.2         828.2       1.0X
Native ORC Vectorized                             11684          11699          15          1.3         742.9       1.1X
Native ORC Vectorized (Pushdown)                  11745          11757          11          1.3         746.7       1.1X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                     5783           5857          88          2.7         367.7       1.0X
Parquet Vectorized (Pushdown)                           294            329          23         53.6          18.7      19.7X
Native ORC Vectorized                                  6255           6278          17          2.5         397.7       0.9X
Native ORC Vectorized (Pushdown)                        954            975          22         16.5          60.6       6.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                             5663           5690          29          2.8         360.0       1.0X
Parquet Vectorized (Pushdown)                                   261            286          23         60.2          16.6      21.7X
Native ORC Vectorized                                          6434           6449          11          2.4         409.1       0.9X
Native ORC Vectorized (Pushdown)                                936            951          13         16.8          59.5       6.0X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                     5599           5614          13          2.8         356.0       1.0X
Parquet Vectorized (Pushdown)                           320            327           6         49.1          20.4      17.5X
Native ORC Vectorized                                  6367           6380          21          2.5         404.8       0.9X
Native ORC Vectorized (Pushdown)                        985            997           8         16.0          62.6       5.7X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                       5585           5609          17          2.8         355.1       1.0X
Parquet Vectorized (Pushdown)                             314            319           5         50.1          20.0      17.8X
Native ORC Vectorized                                    6332           6373          31          2.5         402.6       0.9X
Native ORC Vectorized (Pushdown)                          973            981           7         16.2          61.9       5.7X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                               5633           5657          17          2.8         358.1       1.0X
Parquet Vectorized (Pushdown)                                     320            338          15         49.2          20.3      17.6X
Native ORC Vectorized                                            6408           6434          17          2.5         407.4       0.9X
Native ORC Vectorized (Pushdown)                                  972            984          13         16.2          61.8       5.8X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                           14083          14111          18          1.1         895.4       1.0X
Parquet Vectorized (Pushdown)                                14072          14140          59          1.1         894.7       1.0X
Native ORC Vectorized                                        14231          14267          23          1.1         904.8       1.0X
Native ORC Vectorized (Pushdown)                             14523          14573          56          1.1         923.3       1.0X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                    6982           7164         121          2.3         443.9       1.0X
Parquet Vectorized (Pushdown)                         1028           1107         128         15.3          65.3       6.8X
Native ORC Vectorized                                 5416           5615         298          2.9         344.4       1.3X
Native ORC Vectorized (Pushdown)                      5499           5516          13          2.9         349.6       1.3X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                      6550           6565          14          2.4         416.5       1.0X
Parquet Vectorized (Pushdown)                            314            328          14         50.1          20.0      20.9X
Native ORC Vectorized                                   5215           5241          22          3.0         331.6       1.3X
Native ORC Vectorized (Pushdown)                        5345           5352           7          2.9         339.8       1.2X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                        6549           6568          18          2.4         416.4       1.0X
Parquet Vectorized (Pushdown)                              312            354          74         50.3          19.9      21.0X
Native ORC Vectorized                                     5241           5258          14          3.0         333.2       1.2X
Native ORC Vectorized (Pushdown)                          5309           5317           9          3.0         337.5       1.2X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                  5709           5769          47          2.8         363.0       1.0X
Parquet Vectorized (Pushdown)                        392            407          12         40.1          24.9      14.6X
Native ORC Vectorized                               6350           6416          56          2.5         403.7       0.9X
Native ORC Vectorized (Pushdown)                    6580           6611          27          2.4         418.3       0.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                    5550           5564          17          2.8         352.9       1.0X
Parquet Vectorized (Pushdown)                          285            289           3         55.1          18.1      19.5X
Native ORC Vectorized                                 6276           6313          28          2.5         399.0       0.9X
Native ORC Vectorized (Pushdown)                      6521           6547          22          2.4         414.6       0.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                      5549           5569          14          2.8         352.8       1.0X
Parquet Vectorized (Pushdown)                            283            291           6         55.6          18.0      19.6X
Native ORC Vectorized                                   6296           6313          17          2.5         400.3       0.9X
Native ORC Vectorized (Pushdown)                        6530           6641         130          2.4         415.2       0.8X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                   5893           6107         162          2.7         374.6       1.0X
Parquet Vectorized (Pushdown)                         882            940          52         17.8          56.1       6.7X
Native ORC Vectorized                                6519           6589         102          2.4         414.5       0.9X
Native ORC Vectorized (Pushdown)                     6726           6773          60          2.3         427.6       0.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                     5576           5597          16          2.8         354.5       1.0X
Parquet Vectorized (Pushdown)                           292            319          25         53.9          18.6      19.1X
Native ORC Vectorized                                  6261           6282          29          2.5         398.0       0.9X
Native ORC Vectorized (Pushdown)                       6479           6514          21          2.4         411.9       0.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                       5562           5582          24          2.8         353.6       1.0X
Parquet Vectorized (Pushdown)                             291            299           9         54.1          18.5      19.1X
Native ORC Vectorized                                    6251           6269          17          2.5         397.4       0.9X
Native ORC Vectorized (Pushdown)                         6467           6512          30          2.4         411.1       0.9X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                     2430           2442          11          6.5         154.5       1.0X
Parquet Vectorized (Pushdown)                            74             86          15        212.9           4.7      32.9X
Native ORC Vectorized                                  3319           3340          23          4.7         211.0       0.7X
Native ORC Vectorized (Pushdown)                         59             65           8        268.5           3.7      41.5X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                        3890           3913          34          4.0         247.3       1.0X
Parquet Vectorized (Pushdown)                             1979           2008          32          7.9         125.8       2.0X
Native ORC Vectorized                                     4772           4794          27          3.3         303.4       0.8X
Native ORC Vectorized (Pushdown)                          2169           2174           5          7.3         137.9       1.8X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                        8795           8816          27          1.8         559.2       1.0X
Parquet Vectorized (Pushdown)                             8469           8498          29          1.9         538.4       1.0X
Native ORC Vectorized                                     9798           9835          29          1.6         622.9       0.9X
Native ORC Vectorized (Pushdown)                          9391           9417          20          1.7         597.1       0.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                         9905           9922          23          1.6         629.7       1.0X
Parquet Vectorized (Pushdown)                              9914           9943          27          1.6         630.3       1.0X
Native ORC Vectorized                                     10821          10863          35          1.5         688.0       0.9X
Native ORC Vectorized (Pushdown)                          10807          10852          29          1.5         687.1       0.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                      2672           2688          17          5.9         169.9       1.0X
Parquet Vectorized (Pushdown)                             74             86          10        212.6           4.7      36.1X
Native ORC Vectorized                                   3272           3282          12          4.8         208.0       0.8X
Native ORC Vectorized (Pushdown)                          55             62           6        287.7           3.5      48.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                         3372           3436         101          4.7         214.4       1.0X
Parquet Vectorized (Pushdown)                              1043           1082          24         15.1          66.3       3.2X
Native ORC Vectorized                                      4038           4064          38          3.9         256.7       0.8X
Native ORC Vectorized (Pushdown)                           1112           1122          17         14.2          70.7       3.0X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                         6142           6176          24          2.6         390.5       1.0X
Parquet Vectorized (Pushdown)                              4883           4900          15          3.2         310.5       1.3X
Native ORC Vectorized                                      7015           7023           7          2.2         446.0       0.9X
Native ORC Vectorized (Pushdown)                           5360           5376          13          2.9         340.8       1.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                          8964           8996          35          1.8         569.9       1.0X
Parquet Vectorized (Pushdown)                               8664           8678          13          1.8         550.8       1.0X
Native ORC Vectorized                                       9969           9989          23          1.6         633.8       0.9X
Native ORC Vectorized (Pushdown)                            9633           9651          20          1.6         612.5       0.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                      3769           3795          20          4.2         239.6       1.0X
Parquet Vectorized (Pushdown)                             78             82           3        201.4           5.0      48.3X
Native ORC Vectorized                                   3329           3334           4          4.7         211.7       1.1X
Native ORC Vectorized (Pushdown)                          54             58           5        292.2           3.4      70.0X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                         4716           4797          84          3.3         299.8       1.0X
Parquet Vectorized (Pushdown)                              1366           1412          52         11.5          86.8       3.5X
Native ORC Vectorized                                      4140           4158          27          3.8         263.2       1.1X
Native ORC Vectorized (Pushdown)                           1219           1227           7         12.9          77.5       3.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                         8341           8380          43          1.9         530.3       1.0X
Parquet Vectorized (Pushdown)                              6526           6567          39          2.4         414.9       1.3X
Native ORC Vectorized                                      7553           7573          18          2.1         480.2       1.1X
Native ORC Vectorized (Pushdown)                           5884           5899          15          2.7         374.1       1.4X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                         11907          11937          29          1.3         757.0       1.0X
Parquet Vectorized (Pushdown)                              11569          11602          19          1.4         735.5       1.0X
Native ORC Vectorized                                      10979          11016          42          1.4         698.1       1.1X
Native ORC Vectorized (Pushdown)                           10659          10679          22          1.5         677.7       1.1X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                               6361           6406          51          2.5         404.4       1.0X
Parquet Vectorized (Pushdown)                                     314            322          10         50.1          20.0      20.3X
Native ORC Vectorized                                            4735           4790          63          3.3         301.1       1.3X
Native ORC Vectorized (Pushdown)                                  282            298          15         55.8          17.9      22.6X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                               6174           6201          18          2.5         392.5       1.0X
Parquet Vectorized (Pushdown)                                     307            319          12         51.3          19.5      20.1X
Native ORC Vectorized                                            4718           4745          17          3.3         300.0       1.3X
Native ORC Vectorized (Pushdown)                                  285            296           5         55.2          18.1      21.7X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                               6211           6239          24          2.5         394.9       1.0X
Parquet Vectorized (Pushdown)                                     301            312          18         52.3          19.1      20.7X
Native ORC Vectorized                                            4734           4755          16          3.3         301.0       1.3X
Native ORC Vectorized (Pushdown)                                  284            291           7         55.4          18.0      21.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                6195           6208          14          2.5         393.9       1.0X
Parquet Vectorized (Pushdown)                                      315            319           2         50.0          20.0      19.7X
Native ORC Vectorized                                             4756           4785          33          3.3         302.4       1.3X
Native ORC Vectorized (Pushdown)                                   296            300           5         53.2          18.8      20.9X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                6219           6229           8          2.5         395.4       1.0X
Parquet Vectorized (Pushdown)                                      321            326           5         49.0          20.4      19.4X
Native ORC Vectorized                                             4755           4775          18          3.3         302.3       1.3X
Native ORC Vectorized (Pushdown)                                   292            297           4         53.9          18.6      21.3X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                6186           6214          23          2.5         393.3       1.0X
Parquet Vectorized (Pushdown)                                      319            323           3         49.2          20.3      19.4X
Native ORC Vectorized                                             4707           4746          36          3.3         299.3       1.3X
Native ORC Vectorized (Pushdown)                                   292            301           6         53.8          18.6      21.2X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                6401           6419          17          2.5         407.0       1.0X
Parquet Vectorized (Pushdown)                                      863            875          13         18.2          54.9       7.4X
Native ORC Vectorized                                             4940           4976          52          3.2         314.1       1.3X
Native ORC Vectorized (Pushdown)                                   404            408           6         38.9          25.7      15.8X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                6393           6417          18          2.5         406.5       1.0X
Parquet Vectorized (Pushdown)                                     3168           3182          13          5.0         201.4       2.0X
Native ORC Vectorized                                             4934           4943          15          3.2         313.7       1.3X
Native ORC Vectorized (Pushdown)                                   423            428           4         37.2          26.9      15.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                6409           6421          11          2.5         407.5       1.0X
Parquet Vectorized (Pushdown)                                     5357           5384          19          2.9         340.6       1.2X
Native ORC Vectorized                                             4931           4939          11          3.2         313.5       1.3X
Native ORC Vectorized (Pushdown)                                   421            424           2         37.4          26.8      15.2X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                 6390           6402          16          2.5         406.3       1.0X
Parquet Vectorized (Pushdown)                                       906            911           4         17.4          57.6       7.1X
Native ORC Vectorized                                              4933           4960          18          3.2         313.6       1.3X
Native ORC Vectorized (Pushdown)                                    509            515           6         30.9          32.4      12.6X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                 6391           6402          11          2.5         406.4       1.0X
Parquet Vectorized (Pushdown)                                      3329           3350          20          4.7         211.7       1.9X
Native ORC Vectorized                                              4919           4927           7          3.2         312.7       1.3X
Native ORC Vectorized (Pushdown)                                    564            568           3         27.9          35.9      11.3X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                 6383           6395          13          2.5         405.8       1.0X
Parquet Vectorized (Pushdown)                                      5699           5711          12          2.8         362.3       1.1X
Native ORC Vectorized                                              4932           4943           8          3.2         313.6       1.3X
Native ORC Vectorized (Pushdown)                                    585            588           3         26.9          37.2      10.9X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                           2770           2795          34          5.7         176.1       1.0X
Parquet Vectorized (Pushdown)                                 110            125          14        142.7           7.0      25.1X
Native ORC Vectorized                                        2193           2220          30          7.2         139.4       1.3X
Native ORC Vectorized (Pushdown)                              114            132          18        138.3           7.2      24.4X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                              3377           3460          90          4.7         214.7       1.0X
Parquet Vectorized (Pushdown)                                    972            990          16         16.2          61.8       3.5X
Native ORC Vectorized                                           2749           2771          39          5.7         174.8       1.2X
Native ORC Vectorized (Pushdown)                                 887            897           8         17.7          56.4       3.8X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                              5871           5886          15          2.7         373.3       1.0X
Parquet Vectorized (Pushdown)                                   4593           4601           9          3.4         292.0       1.3X
Native ORC Vectorized                                           5193           5202           7          3.0         330.2       1.1X
Native ORC Vectorized (Pushdown)                                4141           4154          12          3.8         263.3       1.4X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                               8429           8453          37          1.9         535.9       1.0X
Parquet Vectorized (Pushdown)                                    8175           8191          13          1.9         519.8       1.0X
Native ORC Vectorized                                            7815           7833          20          2.0         496.8       1.1X
Native ORC Vectorized (Pushdown)                                 7633           7645          11          2.1         485.3       1.1X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                    3111           3130          20          5.1         197.8       1.0X
Parquet Vectorized (Pushdown)                                                         3107           3113           4          5.1         197.5       1.0X
Native ORC Vectorized                                                                 2084           2096          11          7.5         132.5       1.5X
Native ORC Vectorized (Pushdown)                                                        39             44           5        400.7           2.5      79.3X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                       3825           3841          27          4.1         243.2       1.0X
Parquet Vectorized (Pushdown)                                                            3815           3821           7          4.1         242.6       1.0X
Native ORC Vectorized                                                                    2769           2780          15          5.7         176.1       1.4X
Native ORC Vectorized (Pushdown)                                                          930            935           4         16.9          59.2       4.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                       6849           6868          17          2.3         435.4       1.0X
Parquet Vectorized (Pushdown)                                                            6853           6872          20          2.3         435.7       1.0X
Native ORC Vectorized                                                                    5538           5554          20          2.8         352.1       1.2X
Native ORC Vectorized (Pushdown)                                                         4473           4478           5          3.5         284.4       1.5X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                        9688           9715          21          1.6         616.0       1.0X
Parquet Vectorized (Pushdown)                                                             9687           9701          10          1.6         615.9       1.0X
Native ORC Vectorized                                                                     8251           8273          19          1.9         524.6       1.2X
Native ORC Vectorized (Pushdown)                                                          8046           8070          29          2.0         511.5       1.2X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                               2586           2594           9          6.1         164.4       1.0X
Parquet Vectorized (Pushdown)                                                                      73             78           7        216.9           4.6      35.7X
Native ORC Vectorized                                                                            2090           2096           9          7.5         132.9       1.2X
Native ORC Vectorized (Pushdown)                                                                   39             42           4        400.0           2.5      65.8X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                                  3314           3320           7          4.7         210.7       1.0X
Parquet Vectorized (Pushdown)                                                                       1061           1101          51         14.8          67.5       3.1X
Native ORC Vectorized                                                                               2774           2777           3          5.7         176.4       1.2X
Native ORC Vectorized (Pushdown)                                                                     926            927           1         17.0          58.9       3.6X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                                  6359           6384          20          2.5         404.3       1.0X
Parquet Vectorized (Pushdown)                                                                       5154           5163           5          3.1         327.7       1.2X
Native ORC Vectorized                                                                               5543           5553           9          2.8         352.4       1.1X
Native ORC Vectorized (Pushdown)                                                                    4489           4493           4          3.5         285.4       1.4X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                                   9073           9083           8          1.7         576.9       1.0X
Parquet Vectorized (Pushdown)                                                                        8815           8852          34          1.8         560.5       1.0X
Native ORC Vectorized                                                                                8155           8174          20          1.9         518.5       1.1X
Native ORC Vectorized (Pushdown)                                                                     7960           7981          23          2.0         506.1       1.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                               2765           2780          21          5.7         175.8       1.0X
Parquet Vectorized (Pushdown)                                                                      71             74           4        220.2           4.5      38.7X
Native ORC Vectorized                                                                            2076           2090          15          7.6         132.0       1.3X
Native ORC Vectorized (Pushdown)                                                                   38             41           4        411.3           2.4      72.3X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                                  3493           3500           7          4.5         222.1       1.0X
Parquet Vectorized (Pushdown)                                                                       1069           1073           4         14.7          68.0       3.3X
Native ORC Vectorized                                                                               2767           2780          12          5.7         175.9       1.3X
Native ORC Vectorized (Pushdown)                                                                     924            939          13         17.0          58.8       3.8X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                                  6533           6550          14          2.4         415.4       1.0X
Parquet Vectorized (Pushdown)                                                                       5194           5210          16          3.0         330.2       1.3X
Native ORC Vectorized                                                                               5536           5544           9          2.8         351.9       1.2X
Native ORC Vectorized (Pushdown)                                                                    4478           4483           3          3.5         284.7       1.5X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                                                                   9210           9270          46          1.7         585.6       1.0X
Parquet Vectorized (Pushdown)                                                                        8963           8985          22          1.8         569.8       1.0X
Native ORC Vectorized                                                                                8170           8185          13          1.9         519.4       1.1X
Native ORC Vectorized (Pushdown)                                                                     7961           7978          25          2.0         506.2       1.2X


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

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                   49             63          15          0.0    49177880.0       1.0X
Parquet Vectorized (Pushdown)                        50             54           7          0.0    49690776.0       1.0X
Native ORC Vectorized                                43             47           6          0.0    42559847.0       1.2X
Native ORC Vectorized (Pushdown)                     45             46           2          0.0    44694874.0       1.1X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                  189            201          13          0.0   189283672.0       1.0X
Parquet Vectorized (Pushdown)                       193            198           4          0.0   193196823.0       1.0X
Native ORC Vectorized                               182            191           9          0.0   181816184.0       1.0X
Native ORC Vectorized (Pushdown)                    185            189           4          0.0   185491993.0       1.0X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                  624            640          10          0.0   624243482.0       1.0X
Parquet Vectorized (Pushdown)                       637            647           9          0.0   636720639.0       1.0X
Native ORC Vectorized                               623            639          15          0.0   623110886.0       1.0X
Native ORC Vectorized (Pushdown)                    632            638           8          0.0   631651825.0       1.0X


