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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                 6971           7013          59          2.3         443.2       1.0X
Parquet Vectorized (Pushdown)                       334            363          21         47.1          21.2      20.9X
Native ORC Vectorized                              5153           5202          57          3.1         327.6       1.4X
Native ORC Vectorized (Pushdown)                    347            354           8         45.3          22.1      20.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                            6989           7006          12          2.3         444.4       1.0X
Parquet Vectorized (Pushdown)                                  317            327          10         49.7          20.1      22.1X
Native ORC Vectorized                                         5292           5313          17          3.0         336.5       1.3X
Native ORC Vectorized (Pushdown)                               318            336          18         49.4          20.2      22.0X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                 6972           6987          16          2.3         443.2       1.0X
Parquet Vectorized (Pushdown)                       300            310          10         52.4          19.1      23.2X
Native ORC Vectorized                              5357           5389          27          2.9         340.6       1.3X
Native ORC Vectorized (Pushdown)                    316            326          15         49.8          20.1      22.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                  7048           7091          30          2.2         448.1       1.0X
Parquet Vectorized (Pushdown)                        295            301           5         53.3          18.8      23.9X
Native ORC Vectorized                               5346           5371          25          2.9         339.9       1.3X
Native ORC Vectorized (Pushdown)                     305            311           4         51.6          19.4      23.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                              7094           7112          24          2.2         451.0       1.0X
Parquet Vectorized (Pushdown)                                    294            303           7         53.4          18.7      24.1X
Native ORC Vectorized                                           5439           5461          25          2.9         345.8       1.3X
Native ORC Vectorized (Pushdown)                                 311            315           3         50.6          19.8      22.8X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                  14180          14293         107          1.1         901.5       1.0X
Parquet Vectorized (Pushdown)                       14256          14310          41          1.1         906.3       1.0X
Native ORC Vectorized                               12433          12463          25          1.3         790.5       1.1X
Native ORC Vectorized (Pushdown)                    12601          12651          41          1.2         801.1       1.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                 6670           6727          65          2.4         424.1       1.0X
Parquet Vectorized (Pushdown)                       274            284           7         57.4          17.4      24.3X
Native ORC Vectorized                              4759           4828          63          3.3         302.6       1.4X
Native ORC Vectorized (Pushdown)                    313            324          10         50.3          19.9      21.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                     6492           6530          38          2.4         412.7       1.0X
Parquet Vectorized (Pushdown)                           286            292           8         55.1          18.2      22.7X
Native ORC Vectorized                                  4696           4708          11          3.3         298.5       1.4X
Native ORC Vectorized (Pushdown)                        291            307           9         54.0          18.5      22.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                 6526           6549          16          2.4         414.9       1.0X
Parquet Vectorized (Pushdown)                       280            284           4         56.2          17.8      23.3X
Native ORC Vectorized                              4764           4793          19          3.3         302.9       1.4X
Native ORC Vectorized (Pushdown)                    288            299           7         54.7          18.3      22.7X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                 6513           6538          16          2.4         414.1       1.0X
Parquet Vectorized (Pushdown)                       266            279           9         59.2          16.9      24.5X
Native ORC Vectorized                              4723           4741          13          3.3         300.3       1.4X
Native ORC Vectorized (Pushdown)                    288            299           9         54.7          18.3      22.7X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                       6500           6523          15          2.4         413.3       1.0X
Parquet Vectorized (Pushdown)                             268            278           7         58.7          17.0      24.3X
Native ORC Vectorized                                    4725           4742          19          3.3         300.4       1.4X
Native ORC Vectorized (Pushdown)                          286            299           6         55.0          18.2      22.7X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                     6521           6549          33          2.4         414.6       1.0X
Parquet Vectorized (Pushdown)                           276            288           9         57.0          17.5      23.6X
Native ORC Vectorized                                  4729           4769          24          3.3         300.6       1.4X
Native ORC Vectorized (Pushdown)                        289            298           9         54.5          18.4      22.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                 7135           7191          34          2.2         453.6       1.0X
Parquet Vectorized (Pushdown)                      1529           1537           8         10.3          97.2       4.7X
Native ORC Vectorized                              5315           5336          13          3.0         337.9       1.3X
Native ORC Vectorized (Pushdown)                   1340           1345           4         11.7          85.2       5.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                 9475           9494          16          1.7         602.4       1.0X
Parquet Vectorized (Pushdown)                      6363           6381          28          2.5         404.6       1.5X
Native ORC Vectorized                              7650           7680          33          2.1         486.4       1.2X
Native ORC Vectorized (Pushdown)                   5463           5481          12          2.9         347.3       1.7X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                11736          11752          16          1.3         746.2       1.0X
Parquet Vectorized (Pushdown)                     11123          11178          36          1.4         707.2       1.1X
Native ORC Vectorized                              9838           9930          77          1.6         625.5       1.2X
Native ORC Vectorized (Pushdown)                   9541           9567          27          1.6         606.6       1.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
Select all int rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                12223          12237          18          1.3         777.1       1.0X
Parquet Vectorized (Pushdown)                     12293          12340          27          1.3         781.6       1.0X
Native ORC Vectorized                             10398          10411          10          1.5         661.1       1.2X
Native ORC Vectorized (Pushdown)                  10524          10572          59          1.5         669.1       1.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                12213          12240          25          1.3         776.5       1.0X
Parquet Vectorized (Pushdown)                     12297          12317          18          1.3         781.9       1.0X
Native ORC Vectorized                             10394          10436          33          1.5         660.8       1.2X
Native ORC Vectorized (Pushdown)                  10570          10602          23          1.5         672.0       1.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                12244          12269          18          1.3         778.5       1.0X
Parquet Vectorized (Pushdown)                     12189          12227          40          1.3         774.9       1.0X
Native ORC Vectorized                             10246          10263          15          1.5         651.5       1.2X
Native ORC Vectorized (Pushdown)                  10339          10361          28          1.5         657.3       1.2X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                     6433           6501          62          2.4         409.0       1.0X
Parquet Vectorized (Pushdown)                           257            288          18         61.2          16.4      25.0X
Native ORC Vectorized                                  6567           6592          31          2.4         417.5       1.0X
Native ORC Vectorized (Pushdown)                        940            950          10         16.7          59.7       6.8X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                             6453           6523          52          2.4         410.2       1.0X
Parquet Vectorized (Pushdown)                                   242            248           4         65.1          15.4      26.7X
Native ORC Vectorized                                          6763           6779          16          2.3         430.0       1.0X
Native ORC Vectorized (Pushdown)                                933            938           8         16.9          59.3       6.9X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                     6435           6494          35          2.4         409.1       1.0X
Parquet Vectorized (Pushdown)                           300            309           9         52.4          19.1      21.5X
Native ORC Vectorized                                  6788           6831          42          2.3         431.6       0.9X
Native ORC Vectorized (Pushdown)                        981            984           4         16.0          62.4       6.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                       6452           6461          15          2.4         410.2       1.0X
Parquet Vectorized (Pushdown)                             295            300           5         53.4          18.7      21.9X
Native ORC Vectorized                                    6777           6814          26          2.3         430.8       1.0X
Native ORC Vectorized (Pushdown)                          971            980           8         16.2          61.7       6.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                               6555           6573          16          2.4         416.7       1.0X
Parquet Vectorized (Pushdown)                                     297            302           6         53.0          18.9      22.1X
Native ORC Vectorized                                            6858           6876          17          2.3         436.0       1.0X
Native ORC Vectorized (Pushdown)                                  984            992           9         16.0          62.6       6.7X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                           14119          14163          33          1.1         897.6       1.0X
Parquet Vectorized (Pushdown)                                13627          13647          21          1.2         866.4       1.0X
Native ORC Vectorized                                        14183          14231          46          1.1         901.8       1.0X
Native ORC Vectorized (Pushdown)                             14516          14621          86          1.1         922.9       1.0X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringStartsWith filter: (value like '10%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                    7593           7665          56          2.1         482.8       1.0X
Parquet Vectorized (Pushdown)                          991           1018          31         15.9          63.0       7.7X
Native ORC Vectorized                                 5526           5543          20          2.8         351.3       1.4X
Native ORC Vectorized (Pushdown)                      5642           5661          24          2.8         358.7       1.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringStartsWith filter: (value like '1000%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      7243           7262          20          2.2         460.5       1.0X
Parquet Vectorized (Pushdown)                            273            279           4         57.7          17.3      26.6X
Native ORC Vectorized                                   5321           5338          15          3.0         338.3       1.4X
Native ORC Vectorized (Pushdown)                        5441           5455          17          2.9         345.9       1.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringStartsWith filter: (value like '786432%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                        7201           7220          15          2.2         457.8       1.0X
Parquet Vectorized (Pushdown)                              272            280          10         57.8          17.3      26.5X
Native ORC Vectorized                                     5288           5308          15          3.0         336.2       1.4X
Native ORC Vectorized (Pushdown)                          5420           5444          18          2.9         344.6       1.3X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringEndsWith filter: (value like '%10'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  6543           6616          65          2.4         416.0       1.0X
Parquet Vectorized (Pushdown)                        398            423          30         39.5          25.3      16.4X
Native ORC Vectorized                               6848           6918          52          2.3         435.4       1.0X
Native ORC Vectorized (Pushdown)                    7196           7226          28          2.2         457.5       0.9X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringEndsWith filter: (value like '%1000'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                    6323           6344          18          2.5         402.0       1.0X
Parquet Vectorized (Pushdown)                          276            285           8         57.1          17.5      22.9X
Native ORC Vectorized                                 6748           6779          19          2.3         429.0       0.9X
Native ORC Vectorized (Pushdown)                      7087           7113          19          2.2         450.6       0.9X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringEndsWith filter: (value like '%786432'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      6342           6390          53          2.5         403.2       1.0X
Parquet Vectorized (Pushdown)                            271            278           6         58.0          17.2      23.4X
Native ORC Vectorized                                   6757           6775          21          2.3         429.6       0.9X
Native ORC Vectorized (Pushdown)                        7084           7124          42          2.2         450.4       0.9X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringContains filter: (value like '%10%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                   6898           6950          46          2.3         438.5       1.0X
Parquet Vectorized (Pushdown)                         954            979          23         16.5          60.6       7.2X
Native ORC Vectorized                                6984           7030          36          2.3         444.1       1.0X
Native ORC Vectorized (Pushdown)                     7305           7334          29          2.2         464.5       0.9X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringContains filter: (value like '%1000%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     6403           6452          35          2.5         407.1       1.0X
Parquet Vectorized (Pushdown)                           280            289           9         56.2          17.8      22.9X
Native ORC Vectorized                                  6660           6688          35          2.4         423.4       1.0X
Native ORC Vectorized (Pushdown)                       7003           7022          14          2.2         445.2       0.9X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-Core Processor
StringContains filter: (value like '%786432%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                       6430           6469          39          2.4         408.8       1.0X
Parquet Vectorized (Pushdown)                             275            287          11         57.2          17.5      23.4X
Native ORC Vectorized                                    6642           6672          26          2.4         422.3       1.0X
Native ORC Vectorized (Pushdown)                         6986           7042          36          2.3         444.1       0.9X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                     2680           2695          14          5.9         170.4       1.0X
Parquet Vectorized (Pushdown)                            75             85          11        209.5           4.8      35.7X
Native ORC Vectorized                                  3350           3368          23          4.7         213.0       0.8X
Native ORC Vectorized (Pushdown)                         61             70           8        259.2           3.9      44.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                        3950           3991          28          4.0         251.1       1.0X
Parquet Vectorized (Pushdown)                             1881           1910          19          8.4         119.6       2.1X
Native ORC Vectorized                                     4457           4489          27          3.5         283.4       0.9X
Native ORC Vectorized (Pushdown)                          1832           1850          11          8.6         116.5       2.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                        8135           8199          46          1.9         517.2       1.0X
Parquet Vectorized (Pushdown)                             7825           7904          94          2.0         497.5       1.0X
Native ORC Vectorized                                     8381           8420          36          1.9         532.8       1.0X
Native ORC Vectorized (Pushdown)                          7961           7985          31          2.0         506.2       1.0X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                         9422           9431          10          1.7         599.0       1.0X
Parquet Vectorized (Pushdown)                              9456           9491          35          1.7         601.2       1.0X
Native ORC Vectorized                                      9425           9479          45          1.7         599.2       1.0X
Native ORC Vectorized (Pushdown)                           9505           9526          22          1.7         604.3       1.0X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                      2852           2881          19          5.5         181.4       1.0X
Parquet Vectorized (Pushdown)                             70             74           5        225.0           4.4      40.8X
Native ORC Vectorized                                   3339           3361          25          4.7         212.3       0.9X
Native ORC Vectorized (Pushdown)                          58             61           4        272.4           3.7      49.4X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                         3533           3599          70          4.5         224.6       1.0X
Parquet Vectorized (Pushdown)                              1004           1024          15         15.7          63.9       3.5X
Native ORC Vectorized                                      3906           3916           9          4.0         248.3       0.9X
Native ORC Vectorized (Pushdown)                            945            950           6         16.6          60.1       3.7X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                         6154           6163           6          2.6         391.3       1.0X
Parquet Vectorized (Pushdown)                              4762           4775           8          3.3         302.8       1.3X
Native ORC Vectorized                                      6260           6275          10          2.5         398.0       1.0X
Native ORC Vectorized (Pushdown)                           4591           4641          41          3.4         291.9       1.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                          8685           8735          51          1.8         552.2       1.0X
Parquet Vectorized (Pushdown)                               8438           8447           9          1.9         536.5       1.0X
Native ORC Vectorized                                       8598           8632          26          1.8         546.6       1.0X
Native ORC Vectorized (Pushdown)                            8258           8307          33          1.9         525.0       1.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                      3957           3983          21          4.0         251.6       1.0X
Parquet Vectorized (Pushdown)                             75             79           5        208.6           4.8      52.5X
Native ORC Vectorized                                   3362           3376          11          4.7         213.8       1.2X
Native ORC Vectorized (Pushdown)                          57             60           4        276.6           3.6      69.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                         4806           4845          41          3.3         305.6       1.0X
Parquet Vectorized (Pushdown)                              1317           1339          18         11.9          83.8       3.6X
Native ORC Vectorized                                      4084           4103          16          3.9         259.7       1.2X
Native ORC Vectorized (Pushdown)                           1147           1152           4         13.7          72.9       4.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                         8266           8303          32          1.9         525.6       1.0X
Parquet Vectorized (Pushdown)                              6262           6310          91          2.5         398.1       1.3X
Native ORC Vectorized                                      7259           7294          35          2.2         461.5       1.1X
Native ORC Vectorized (Pushdown)                           5612           5628          15          2.8         356.8       1.5X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                         11494          11557          45          1.4         730.8       1.0X
Parquet Vectorized (Pushdown)                              11050          11091          46          1.4         702.6       1.0X
Native ORC Vectorized                                      10433          10452          14          1.5         663.3       1.1X
Native ORC Vectorized (Pushdown)                           10151          10165          20          1.5         645.4       1.1X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                               6712           6776          65          2.3         426.7       1.0X
Parquet Vectorized (Pushdown)                                     315            335          14         49.9          20.1      21.3X
Native ORC Vectorized                                            4685           4710          34          3.4         297.8       1.4X
Native ORC Vectorized (Pushdown)                                  315            333          17         49.9          20.0      21.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                               6556           6584          27          2.4         416.8       1.0X
Parquet Vectorized (Pushdown)                                     275            290          24         57.2          17.5      23.8X
Native ORC Vectorized                                            4666           4674           4          3.4         296.6       1.4X
Native ORC Vectorized (Pushdown)                                  293            300          10         53.7          18.6      22.4X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                               6580           6601          19          2.4         418.3       1.0X
Parquet Vectorized (Pushdown)                                     271            280           7         58.0          17.2      24.3X
Native ORC Vectorized                                            4661           4673           9          3.4         296.3       1.4X
Native ORC Vectorized (Pushdown)                                  307            312           5         51.3          19.5      21.4X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                6563           6590          18          2.4         417.2       1.0X
Parquet Vectorized (Pushdown)                                      285            296           6         55.2          18.1      23.0X
Native ORC Vectorized                                             4671           4723          76          3.4         297.0       1.4X
Native ORC Vectorized (Pushdown)                                   304            308           5         51.8          19.3      21.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                6555           6574          16          2.4         416.7       1.0X
Parquet Vectorized (Pushdown)                                      290            301           8         54.3          18.4      22.6X
Native ORC Vectorized                                             4668           4680          16          3.4         296.8       1.4X
Native ORC Vectorized (Pushdown)                                   308            316           6         51.0          19.6      21.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                6560           6603          26          2.4         417.1       1.0X
Parquet Vectorized (Pushdown)                                      294            297           2         53.6          18.7      22.3X
Native ORC Vectorized                                             4661           4675          19          3.4         296.4       1.4X
Native ORC Vectorized (Pushdown)                                   304            317          21         51.7          19.4      21.5X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                6787           6807          21          2.3         431.5       1.0X
Parquet Vectorized (Pushdown)                                      930            937           6         16.9          59.1       7.3X
Native ORC Vectorized                                             4919           4939          21          3.2         312.8       1.4X
Native ORC Vectorized (Pushdown)                                   416            419           3         37.8          26.5      16.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                6778           6800          23          2.3         431.0       1.0X
Parquet Vectorized (Pushdown)                                     3344           3354           6          4.7         212.6       2.0X
Native ORC Vectorized                                             4900           4915          31          3.2         311.5       1.4X
Native ORC Vectorized (Pushdown)                                   427            438           9         36.9          27.1      15.9X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                6795           6810          13          2.3         432.0       1.0X
Parquet Vectorized (Pushdown)                                     6123           6154          20          2.6         389.3       1.1X
Native ORC Vectorized                                             4895           4916          23          3.2         311.2       1.4X
Native ORC Vectorized (Pushdown)                                   430            439          11         36.6          27.3      15.8X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                 6749           6771          18          2.3         429.1       1.0X
Parquet Vectorized (Pushdown)                                       923            926           3         17.0          58.7       7.3X
Native ORC Vectorized                                              4872           4915          76          3.2         309.8       1.4X
Native ORC Vectorized (Pushdown)                                    514            521          11         30.6          32.7      13.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                 6797           6816          31          2.3         432.1       1.0X
Parquet Vectorized (Pushdown)                                      3543           3567          26          4.4         225.3       1.9X
Native ORC Vectorized                                              4874           4890          16          3.2         309.9       1.4X
Native ORC Vectorized (Pushdown)                                    561            564           3         28.0          35.7      12.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                 6765           6776          10          2.3         430.1       1.0X
Parquet Vectorized (Pushdown)                                      6079           6099          18          2.6         386.5       1.1X
Native ORC Vectorized                                              4919           4934          11          3.2         312.7       1.4X
Native ORC Vectorized (Pushdown)                                    598            603           5         26.3          38.0      11.3X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                           2984           3030          38          5.3         189.7       1.0X
Parquet Vectorized (Pushdown)                                 111            137          22        141.9           7.0      26.9X
Native ORC Vectorized                                        2136           2183          30          7.4         135.8       1.4X
Native ORC Vectorized (Pushdown)                              120            146          25        130.6           7.7      24.8X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                              3552           3627          75          4.4         225.9       1.0X
Parquet Vectorized (Pushdown)                                    976            991          18         16.1          62.0       3.6X
Native ORC Vectorized                                           2599           2613          11          6.1         165.3       1.4X
Native ORC Vectorized (Pushdown)                                 812            818           6         19.4          51.6       4.4X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                              6073           6111          46          2.6         386.1       1.0X
Parquet Vectorized (Pushdown)                                   4642           4679          36          3.4         295.1       1.3X
Native ORC Vectorized                                           4749           4767          15          3.3         301.9       1.3X
Native ORC Vectorized (Pushdown)                                3775           3786          17          4.2         240.0       1.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                               8513           8529          21          1.8         541.2       1.0X
Parquet Vectorized (Pushdown)                                    8239           8282          30          1.9         523.8       1.0X
Native ORC Vectorized                                            6959           6983          16          2.3         442.5       1.2X
Native ORC Vectorized (Pushdown)                                 6778           6811          28          2.3         431.0       1.3X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                    3158           3174          12          5.0         200.8       1.0X
Parquet Vectorized (Pushdown)                                                         3157           3168          10          5.0         200.7       1.0X
Native ORC Vectorized                                                                 2027           2045          15          7.8         128.9       1.6X
Native ORC Vectorized (Pushdown)                                                        41             46           6        381.6           2.6      76.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                       3798           3814          15          4.1         241.5       1.0X
Parquet Vectorized (Pushdown)                                                            3793           3821          27          4.1         241.2       1.0X
Native ORC Vectorized                                                                    2624           2637          17          6.0         166.8       1.4X
Native ORC Vectorized (Pushdown)                                                          818            823           5         19.2          52.0       4.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                       6519           6539          14          2.4         414.4       1.0X
Parquet Vectorized (Pushdown)                                                            6506           6526          15          2.4         413.7       1.0X
Native ORC Vectorized                                                                    4991           5008          22          3.2         317.3       1.3X
Native ORC Vectorized (Pushdown)                                                         3909           3921           9          4.0         248.5       1.7X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                        9148           9173          25          1.7         581.6       1.0X
Parquet Vectorized (Pushdown)                                                             9177           9196          15          1.7         583.5       1.0X
Native ORC Vectorized                                                                     7252           7277          21          2.2         461.1       1.3X
Native ORC Vectorized (Pushdown)                                                          7043           7090          36          2.2         447.8       1.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                               2803           2825          17          5.6         178.2       1.0X
Parquet Vectorized (Pushdown)                                                                      66             70           4        238.0           4.2      42.4X
Native ORC Vectorized                                                                            2026           2036          14          7.8         128.8       1.4X
Native ORC Vectorized (Pushdown)                                                                   41             45           5        383.6           2.6      68.4X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                                  3466           3499          59          4.5         220.4       1.0X
Parquet Vectorized (Pushdown)                                                                       1004           1009           4         15.7          63.9       3.5X
Native ORC Vectorized                                                                               2622           2623           2          6.0         166.7       1.3X
Native ORC Vectorized (Pushdown)                                                                     814            817           2         19.3          51.8       4.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                                  6137           6158          28          2.6         390.2       1.0X
Parquet Vectorized (Pushdown)                                                                       4796           4815          26          3.3         304.9       1.3X
Native ORC Vectorized                                                                               4998           5028          25          3.1         317.8       1.2X
Native ORC Vectorized (Pushdown)                                                                    3917           3930          18          4.0         249.0       1.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                                   8808           8835          26          1.8         560.0       1.0X
Parquet Vectorized (Pushdown)                                                                        8563           8572          11          1.8         544.4       1.0X
Native ORC Vectorized                                                                                7259           7290          27          2.2         461.5       1.2X
Native ORC Vectorized (Pushdown)                                                                     7059           7072          11          2.2         448.8       1.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                               2815           2827          14          5.6         179.0       1.0X
Parquet Vectorized (Pushdown)                                                                      66             68           2        238.5           4.2      42.7X
Native ORC Vectorized                                                                            2028           2037          17          7.8         128.9       1.4X
Native ORC Vectorized (Pushdown)                                                                   41             47           6        386.2           2.6      69.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                                  3444           3471          23          4.6         219.0       1.0X
Parquet Vectorized (Pushdown)                                                                       1007           1013           7         15.6          64.0       3.4X
Native ORC Vectorized                                                                               2625           2627           3          6.0         166.9       1.3X
Native ORC Vectorized (Pushdown)                                                                     814            817           2         19.3          51.8       4.2X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                                  6149           6166          13          2.6         391.0       1.0X
Parquet Vectorized (Pushdown)                                                                       4792           4830          45          3.3         304.6       1.3X
Native ORC Vectorized                                                                               5005           5024          31          3.1         318.2       1.2X
Native ORC Vectorized (Pushdown)                                                                    3926           3938          10          4.0         249.6       1.6X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                                                                   8816           8840          32          1.8         560.5       1.0X
Parquet Vectorized (Pushdown)                                                                        8565           8571           7          1.8         544.5       1.0X
Native ORC Vectorized                                                                                7247           7267          14          2.2         460.8       1.2X
Native ORC Vectorized (Pushdown)                                                                     7059           7090          40          2.2         448.8       1.2X


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

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                   51             53           3          0.0    50579716.0       1.0X
Parquet Vectorized (Pushdown)                        52             56           2          0.0    52077696.0       1.0X
Native ORC Vectorized                                47             49           3          0.0    46783386.0       1.1X
Native ORC Vectorized (Pushdown)                     53             57           5          0.0    52662772.0       1.0X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                  203            211           6          0.0   202550988.0       1.0X
Parquet Vectorized (Pushdown)                       208            212           5          0.0   207595423.0       1.0X
Native ORC Vectorized                               195            202           4          0.0   195152818.0       1.0X
Native ORC Vectorized (Pushdown)                    201            207           5          0.0   201071829.0       1.0X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 9V74 80-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                                  617            628          12          0.0   616762615.0       1.0X
Parquet Vectorized (Pushdown)                       638            652          11          0.0   638051011.0       1.0X
Native ORC Vectorized                               625            634           7          0.0   625318935.0       1.0X
Native ORC Vectorized (Pushdown)                    628            639          11          0.0   627786587.0       1.0X


