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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                 6345           6437          61          2.5         403.4       1.0X
Parquet Vectorized (Pushdown)                       341            363          12         46.2          21.7      18.6X
Native ORC Vectorized                              5118           5274         131          3.1         325.4       1.2X
Native ORC Vectorized (Pushdown)                    318            323           5         49.5          20.2      20.0X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                            6333           6355          22          2.5         402.7       1.0X
Parquet Vectorized (Pushdown)                                  331            347           9         47.5          21.1      19.1X
Native ORC Vectorized                                         5259           5281          25          3.0         334.4       1.2X
Native ORC Vectorized (Pushdown)                               310            330          19         50.7          19.7      20.4X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                 6378           6405          21          2.5         405.5       1.0X
Parquet Vectorized (Pushdown)                       315            324          10         50.0          20.0      20.3X
Native ORC Vectorized                              5359           5364           5          2.9         340.7       1.2X
Native ORC Vectorized (Pushdown)                    301            308           5         52.2          19.2      21.2X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                  6371           6394          16          2.5         405.1       1.0X
Parquet Vectorized (Pushdown)                        310            315           7         50.7          19.7      20.5X
Native ORC Vectorized                               5354           5384          25          2.9         340.4       1.2X
Native ORC Vectorized (Pushdown)                     291            299           6         54.1          18.5      21.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                              6427           6456          19          2.4         408.6       1.0X
Parquet Vectorized (Pushdown)                                    310            312           1         50.7          19.7      20.7X
Native ORC Vectorized                                           5240           5253          10          3.0         333.2       1.2X
Native ORC Vectorized (Pushdown)                                 288            301          11         54.7          18.3      22.3X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                  13717          13822          93          1.1         872.1       1.0X
Parquet Vectorized (Pushdown)                       13817          13833          19          1.1         878.4       1.0X
Native ORC Vectorized                               12689          12724          34          1.2         806.7       1.1X
Native ORC Vectorized (Pushdown)                    12802          12812           9          1.2         813.9       1.1X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                 6152           6231          51          2.6         391.2       1.0X
Parquet Vectorized (Pushdown)                       306            315           9         51.4          19.5      20.1X
Native ORC Vectorized                              4694           4761         104          3.4         298.4       1.3X
Native ORC Vectorized (Pushdown)                    274            282           9         57.4          17.4      22.5X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                     5996           6015          14          2.6         381.2       1.0X
Parquet Vectorized (Pushdown)                           302            311           7         52.2          19.2      19.9X
Native ORC Vectorized                                  4684           4691           5          3.4         297.8       1.3X
Native ORC Vectorized (Pushdown)                        281            290           9         56.0          17.9      21.3X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                 6036           6049          10          2.6         383.8       1.0X
Parquet Vectorized (Pushdown)                       296            302           4         53.1          18.8      20.4X
Native ORC Vectorized                              4725           4753          22          3.3         300.4       1.3X
Native ORC Vectorized (Pushdown)                    276            286           6         56.9          17.6      21.8X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                 6041           6050           6          2.6         384.1       1.0X
Parquet Vectorized (Pushdown)                       292            302           7         53.8          18.6      20.7X
Native ORC Vectorized                              4711           4747          26          3.3         299.5       1.3X
Native ORC Vectorized (Pushdown)                    271            286           8         58.0          17.2      22.3X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                       6046           6067          22          2.6         384.4       1.0X
Parquet Vectorized (Pushdown)                             296            302           4         53.1          18.8      20.4X
Native ORC Vectorized                                    4767           4804          28          3.3         303.1       1.3X
Native ORC Vectorized (Pushdown)                          274            286           7         57.4          17.4      22.1X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                     6053           6060           6          2.6         384.9       1.0X
Parquet Vectorized (Pushdown)                           296            298           2         53.2          18.8      20.5X
Native ORC Vectorized                                  4792           4801           8          3.3         304.7       1.3X
Native ORC Vectorized (Pushdown)                        273            286           8         57.7          17.3      22.2X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                 6751           6789          38          2.3         429.2       1.0X
Parquet Vectorized (Pushdown)                      1591           1607          15          9.9         101.1       4.2X
Native ORC Vectorized                              5460           5476          19          2.9         347.1       1.2X
Native ORC Vectorized (Pushdown)                   1457           1469          11         10.8          92.7       4.6X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                 9467           9480          15          1.7         601.9       1.0X
Parquet Vectorized (Pushdown)                      6594           6601          10          2.4         419.2       1.4X
Native ORC Vectorized                              8160           8178          19          1.9         518.8       1.2X
Native ORC Vectorized (Pushdown)                   5978           5991          14          2.6         380.1       1.6X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                11963          11975          19          1.3         760.6       1.0X
Parquet Vectorized (Pushdown)                     11449          11464          16          1.4         727.9       1.0X
Native ORC Vectorized                             10773          10783          10          1.5         684.9       1.1X
Native ORC Vectorized (Pushdown)                  10394          10409          19          1.5         660.8       1.2X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                12713          12733          15          1.2         808.3       1.0X
Parquet Vectorized (Pushdown)                     12801          12815          14          1.2         813.9       1.0X
Native ORC Vectorized                             11367          11387          16          1.4         722.7       1.1X
Native ORC Vectorized (Pushdown)                  11474          11480          10          1.4         729.5       1.1X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                12741          12750           9          1.2         810.1       1.0X
Parquet Vectorized (Pushdown)                     12807          12836          31          1.2         814.2       1.0X
Native ORC Vectorized                             11501          11506           6          1.4         731.2       1.1X
Native ORC Vectorized (Pushdown)                  11585          11594           8          1.4         736.6       1.1X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                12572          12595          22          1.3         799.3       1.0X
Parquet Vectorized (Pushdown)                     12635          12654          28          1.2         803.3       1.0X
Native ORC Vectorized                             11466          11493          19          1.4         729.0       1.1X
Native ORC Vectorized (Pushdown)                  11548          11558          10          1.4         734.2       1.1X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                     5530           5572          29          2.8         351.6       1.0X
Parquet Vectorized (Pushdown)                           243            256          15         64.7          15.5      22.7X
Native ORC Vectorized                                  6173           6214          31          2.5         392.5       0.9X
Native ORC Vectorized (Pushdown)                        933            935           4         16.9          59.3       5.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                             5521           5537          14          2.8         351.0       1.0X
Parquet Vectorized (Pushdown)                                   245            257          11         64.2          15.6      22.5X
Native ORC Vectorized                                          6340           6348           5          2.5         403.1       0.9X
Native ORC Vectorized (Pushdown)                                931            935           4         16.9          59.2       5.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                     5476           5490          14          2.9         348.2       1.0X
Parquet Vectorized (Pushdown)                           288            298          12         54.7          18.3      19.0X
Native ORC Vectorized                                  6322           6341          11          2.5         401.9       0.9X
Native ORC Vectorized (Pushdown)                        964            971           7         16.3          61.3       5.7X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                       5477           5493          10          2.9         348.2       1.0X
Parquet Vectorized (Pushdown)                             286            302          20         55.0          18.2      19.2X
Native ORC Vectorized                                    6324           6340          17          2.5         402.1       0.9X
Native ORC Vectorized (Pushdown)                          966            975          11         16.3          61.4       5.7X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                               5550           5561           9          2.8         352.8       1.0X
Parquet Vectorized (Pushdown)                                     288            296           8         54.6          18.3      19.3X
Native ORC Vectorized                                            6438           6452          10          2.4         409.3       0.9X
Native ORC Vectorized (Pushdown)                                  972            977           5         16.2          61.8       5.7X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                           13575          13632          39          1.2         863.1       1.0X
Parquet Vectorized (Pushdown)                                13578          13607          21          1.2         863.2       1.0X
Native ORC Vectorized                                        14550          14590          49          1.1         925.0       0.9X
Native ORC Vectorized (Pushdown)                             14664          14775          78          1.1         932.3       0.9X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                    6543           6644          84          2.4         416.0       1.0X
Parquet Vectorized (Pushdown)                          891            922          41         17.7          56.6       7.3X
Native ORC Vectorized                                 5543           5553          11          2.8         352.4       1.2X
Native ORC Vectorized (Pushdown)                      5605           5619           8          2.8         356.4       1.2X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                      6367           6383          16          2.5         404.8       1.0X
Parquet Vectorized (Pushdown)                            279            286           6         56.3          17.8      22.8X
Native ORC Vectorized                                   5367           5377           8          2.9         341.2       1.2X
Native ORC Vectorized (Pushdown)                        5436           5463          21          2.9         345.6       1.2X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                        6369           6386          15          2.5         404.9       1.0X
Parquet Vectorized (Pushdown)                              277            284           6         56.9          17.6      23.0X
Native ORC Vectorized                                     5341           5370          28          2.9         339.6       1.2X
Native ORC Vectorized (Pushdown)                          5435           5443          10          2.9         345.5       1.2X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                  5594           5712          85          2.8         355.6       1.0X
Parquet Vectorized (Pushdown)                        384            401          14         41.0          24.4      14.6X
Native ORC Vectorized                               6399           6440          49          2.5         406.8       0.9X
Native ORC Vectorized (Pushdown)                    6587           6606          15          2.4         418.8       0.8X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                    5518           5545          19          2.9         350.8       1.0X
Parquet Vectorized (Pushdown)                          294            324          50         53.5          18.7      18.8X
Native ORC Vectorized                                 6314           6348          27          2.5         401.5       0.9X
Native ORC Vectorized (Pushdown)                      6509           6530          20          2.4         413.8       0.8X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                      5527           5535           7          2.8         351.4       1.0X
Parquet Vectorized (Pushdown)                            284            296           9         55.3          18.1      19.4X
Native ORC Vectorized                                   6290           6301          10          2.5         399.9       0.9X
Native ORC Vectorized (Pushdown)                        6552           6565          13          2.4         416.6       0.8X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                   5855           6077         170          2.7         372.3       1.0X
Parquet Vectorized (Pushdown)                         922            952          40         17.1          58.6       6.4X
Native ORC Vectorized                                6452           6541          82          2.4         410.2       0.9X
Native ORC Vectorized (Pushdown)                     6639           6651          10          2.4         422.1       0.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                     5542           5550           8          2.8         352.3       1.0X
Parquet Vectorized (Pushdown)                           296            310           8         53.2          18.8      18.7X
Native ORC Vectorized                                  6214           6226          11          2.5         395.1       0.9X
Native ORC Vectorized (Pushdown)                       6419           6431          20          2.5         408.1       0.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                       5537           5552          17          2.8         352.0       1.0X
Parquet Vectorized (Pushdown)                             297            308          10         53.0          18.9      18.7X
Native ORC Vectorized                                    6232           6246          15          2.5         396.2       0.9X
Native ORC Vectorized (Pushdown)                         6407           6419          14          2.5         407.4       0.9X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                     2442           2459          21          6.4         155.3       1.0X
Parquet Vectorized (Pushdown)                            77             90          14        203.1           4.9      31.5X
Native ORC Vectorized                                  3128           3145          24          5.0         198.9       0.8X
Native ORC Vectorized (Pushdown)                         57             72           9        273.6           3.7      42.5X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                        3756           3808          31          4.2         238.8       1.0X
Parquet Vectorized (Pushdown)                             1912           1937          42          8.2         121.6       2.0X
Native ORC Vectorized                                     4593           4618          26          3.4         292.0       0.8X
Native ORC Vectorized (Pushdown)                          2069           2105          29          7.6         131.5       1.8X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                        8252           8270          22          1.9         524.6       1.0X
Parquet Vectorized (Pushdown)                             7939           7987          28          2.0         504.7       1.0X
Native ORC Vectorized                                     9304           9335          42          1.7         591.5       0.9X
Native ORC Vectorized (Pushdown)                          8912           8946          32          1.8         566.6       0.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                         9337           9380          67          1.7         593.6       1.0X
Parquet Vectorized (Pushdown)                              9347           9376          22          1.7         594.3       1.0X
Native ORC Vectorized                                     10538          10565          29          1.5         670.0       0.9X
Native ORC Vectorized (Pushdown)                          10533          10559          28          1.5         669.7       0.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                      2598           2612          15          6.1         165.2       1.0X
Parquet Vectorized (Pushdown)                             72             83          13        217.1           4.6      35.9X
Native ORC Vectorized                                   3113           3124          14          5.1         197.9       0.8X
Native ORC Vectorized (Pushdown)                          55             64          12        285.4           3.5      47.1X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                         3358           3379          34          4.7         213.5       1.0X
Parquet Vectorized (Pushdown)                              1080           1111          28         14.6          68.7       3.1X
Native ORC Vectorized                                      3874           3884          13          4.1         246.3       0.9X
Native ORC Vectorized (Pushdown)                           1111           1137          34         14.2          70.6       3.0X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                         6310           6332          17          2.5         401.2       1.0X
Parquet Vectorized (Pushdown)                              5049           5073          21          3.1         321.0       1.2X
Native ORC Vectorized                                      6975           6984           7          2.3         443.5       0.9X
Native ORC Vectorized (Pushdown)                           5396           5411          14          2.9         343.1       1.2X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                          9115           9121           4          1.7         579.5       1.0X
Parquet Vectorized (Pushdown)                               8907           8924          18          1.8         566.3       1.0X
Native ORC Vectorized                                       9981           9994           9          1.6         634.6       0.9X
Native ORC Vectorized (Pushdown)                            9656           9675          13          1.6         613.9       0.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                      3755           3781          23          4.2         238.7       1.0X
Parquet Vectorized (Pushdown)                             78             81           2        201.4           5.0      48.1X
Native ORC Vectorized                                   3131           3155          36          5.0         199.0       1.2X
Native ORC Vectorized (Pushdown)                          54             56           4        292.6           3.4      69.8X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                         4741           4755          18          3.3         301.4       1.0X
Parquet Vectorized (Pushdown)                              1415           1417           2         11.1          90.0       3.3X
Native ORC Vectorized                                      4049           4065          20          3.9         257.4       1.2X
Native ORC Vectorized (Pushdown)                           1220           1231          17         12.9          77.6       3.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                         8556           8564           9          1.8         543.9       1.0X
Parquet Vectorized (Pushdown)                              6743           6755           7          2.3         428.7       1.3X
Native ORC Vectorized                                      7513           7524           9          2.1         477.7       1.1X
Native ORC Vectorized (Pushdown)                           5906           5914           5          2.7         375.5       1.4X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                         12314          12332          16          1.3         782.9       1.0X
Parquet Vectorized (Pushdown)                              11976          11983           6          1.3         761.4       1.0X
Native ORC Vectorized                                      10898          10916          14          1.4         692.9       1.1X
Native ORC Vectorized (Pushdown)                           10605          10636          30          1.5         674.3       1.2X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                               6282           6318          39          2.5         399.4       1.0X
Parquet Vectorized (Pushdown)                                     329            370          54         47.8          20.9      19.1X
Native ORC Vectorized                                            4793           4843          35          3.3         304.7       1.3X
Native ORC Vectorized (Pushdown)                                  307            321          15         51.2          19.5      20.4X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                               6120           6135          12          2.6         389.1       1.0X
Parquet Vectorized (Pushdown)                                     294            304           8         53.5          18.7      20.8X
Native ORC Vectorized                                            4787           4815          38          3.3         304.4       1.3X
Native ORC Vectorized (Pushdown)                                  285            301          12         55.2          18.1      21.5X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                               6136           6151          20          2.6         390.1       1.0X
Parquet Vectorized (Pushdown)                                     297            304           9         53.0          18.9      20.7X
Native ORC Vectorized                                            4787           4802          26          3.3         304.3       1.3X
Native ORC Vectorized (Pushdown)                                  286            296           7         55.0          18.2      21.4X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                6143           6155          13          2.6         390.6       1.0X
Parquet Vectorized (Pushdown)                                      304            307           3         51.7          19.3      20.2X
Native ORC Vectorized                                             4811           4826          16          3.3         305.9       1.3X
Native ORC Vectorized (Pushdown)                                   294            301           5         53.5          18.7      20.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                6127           6133           6          2.6         389.5       1.0X
Parquet Vectorized (Pushdown)                                      307            312           6         51.3          19.5      20.0X
Native ORC Vectorized                                             4818           4845          35          3.3         306.3       1.3X
Native ORC Vectorized (Pushdown)                                   298            310           9         52.8          18.9      20.6X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                6122           6141          22          2.6         389.2       1.0X
Parquet Vectorized (Pushdown)                                      310            317           7         50.8          19.7      19.8X
Native ORC Vectorized                                             4813           4835          23          3.3         306.0       1.3X
Native ORC Vectorized (Pushdown)                                   300            307           6         52.4          19.1      20.4X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                6326           6331           5          2.5         402.2       1.0X
Parquet Vectorized (Pushdown)                                      893            901           9         17.6          56.7       7.1X
Native ORC Vectorized                                             5039           5049          12          3.1         320.3       1.3X
Native ORC Vectorized (Pushdown)                                   399            402           3         39.4          25.4      15.8X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                6309           6328          20          2.5         401.1       1.0X
Parquet Vectorized (Pushdown)                                     3291           3308          16          4.8         209.2       1.9X
Native ORC Vectorized                                             5019           5032          12          3.1         319.1       1.3X
Native ORC Vectorized (Pushdown)                                   429            433           3         36.6          27.3      14.7X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                6311           6335          22          2.5         401.3       1.0X
Parquet Vectorized (Pushdown)                                     5508           5519           9          2.9         350.2       1.1X
Native ORC Vectorized                                             5020           5036          13          3.1         319.2       1.3X
Native ORC Vectorized (Pushdown)                                   442            444           2         35.6          28.1      14.3X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                 6271           6290          14          2.5         398.7       1.0X
Parquet Vectorized (Pushdown)                                       872            877           4         18.0          55.4       7.2X
Native ORC Vectorized                                              4971           4981           9          3.2         316.0       1.3X
Native ORC Vectorized (Pushdown)                                    497            502           4         31.7          31.6      12.6X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                 6284           6295           8          2.5         399.5       1.0X
Parquet Vectorized (Pushdown)                                      3320           3340          13          4.7         211.1       1.9X
Native ORC Vectorized                                              4972           4984           8          3.2         316.1       1.3X
Native ORC Vectorized (Pushdown)                                    564            567           3         27.9          35.9      11.1X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                 6289           6307          12          2.5         399.8       1.0X
Parquet Vectorized (Pushdown)                                      5740           5750          11          2.7         365.0       1.1X
Native ORC Vectorized                                              4972           4982           6          3.2         316.1       1.3X
Native ORC Vectorized (Pushdown)                                    559            567          11         28.1          35.6      11.2X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                           2748           2766          16          5.7         174.7       1.0X
Parquet Vectorized (Pushdown)                                 107            114           8        146.5           6.8      25.6X
Native ORC Vectorized                                        2194           2203           9          7.2         139.5       1.3X
Native ORC Vectorized (Pushdown)                              112            121           9        140.3           7.1      24.5X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                              3325           3359          48          4.7         211.4       1.0X
Parquet Vectorized (Pushdown)                                    960            973          13         16.4          61.0       3.5X
Native ORC Vectorized                                           2691           2705          17          5.8         171.1       1.2X
Native ORC Vectorized (Pushdown)                                 840            846           3         18.7          53.4       4.0X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                              5896           5906           9          2.7         374.9       1.0X
Parquet Vectorized (Pushdown)                                   4608           4631          20          3.4         293.0       1.3X
Native ORC Vectorized                                           5059           5084          21          3.1         321.6       1.2X
Native ORC Vectorized (Pushdown)                                4014           4027           8          3.9         255.2       1.5X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                               8646           8666          24          1.8         549.7       1.0X
Parquet Vectorized (Pushdown)                                    8379           8396          11          1.9         532.7       1.0X
Native ORC Vectorized                                            7526           7539          14          2.1         478.5       1.1X
Native ORC Vectorized (Pushdown)                                 7319           7342          16          2.1         465.4       1.2X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                    3102           3122          23          5.1         197.2       1.0X
Parquet Vectorized (Pushdown)                                                         3096           3104           5          5.1         196.8       1.0X
Native ORC Vectorized                                                                 1983           1994          15          7.9         126.1       1.6X
Native ORC Vectorized (Pushdown)                                                        39             44           5        404.7           2.5      79.8X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                       3791           3820          27          4.1         241.0       1.0X
Parquet Vectorized (Pushdown)                                                            3755           3774          12          4.2         238.8       1.0X
Native ORC Vectorized                                                                    2618           2635          18          6.0         166.5       1.4X
Native ORC Vectorized (Pushdown)                                                          860            865           6         18.3          54.7       4.4X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                       6492           6500           8          2.4         412.8       1.0X
Parquet Vectorized (Pushdown)                                                            6485           6497          12          2.4         412.3       1.0X
Native ORC Vectorized                                                                    5272           5286          21          3.0         335.2       1.2X
Native ORC Vectorized (Pushdown)                                                         4245           4253           9          3.7         269.9       1.5X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                        9353           9362           9          1.7         594.7       1.0X
Parquet Vectorized (Pushdown)                                                             9335           9349          17          1.7         593.5       1.0X
Native ORC Vectorized                                                                     7781           7799          17          2.0         494.7       1.2X
Native ORC Vectorized (Pushdown)                                                          7598           7613           9          2.1         483.1       1.2X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                               2578           2590          12          6.1         163.9       1.0X
Parquet Vectorized (Pushdown)                                                                      70             77          11        223.4           4.5      36.6X
Native ORC Vectorized                                                                            1982           1987           8          7.9         126.0       1.3X
Native ORC Vectorized (Pushdown)                                                                   39             43           5        404.6           2.5      66.3X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                                  3228           3236           9          4.9         205.2       1.0X
Parquet Vectorized (Pushdown)                                                                        983            987           5         16.0          62.5       3.3X
Native ORC Vectorized                                                                               2607           2617           6          6.0         165.7       1.2X
Native ORC Vectorized (Pushdown)                                                                     859            864           4         18.3          54.6       3.8X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                                  5897           5908           9          2.7         374.9       1.0X
Parquet Vectorized (Pushdown)                                                                       4693           4705          13          3.4         298.3       1.3X
Native ORC Vectorized                                                                               5145           5195          75          3.1         327.1       1.1X
Native ORC Vectorized (Pushdown)                                                                    4134           4139           5          3.8         262.8       1.4X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                                   8540           8549           9          1.8         542.9       1.0X
Parquet Vectorized (Pushdown)                                                                        8330           8339          11          1.9         529.6       1.0X
Native ORC Vectorized                                                                                7638           7650          11          2.1         485.6       1.1X
Native ORC Vectorized (Pushdown)                                                                     7440           7448          11          2.1         473.0       1.1X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                               2748           2759          18          5.7         174.7       1.0X
Parquet Vectorized (Pushdown)                                                                      70             73           3        224.7           4.5      39.3X
Native ORC Vectorized                                                                            1986           1999          18          7.9         126.2       1.4X
Native ORC Vectorized (Pushdown)                                                                   39             42           5        407.9           2.5      71.3X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                                  3397           3403           7          4.6         216.0       1.0X
Parquet Vectorized (Pushdown)                                                                        999           1006           6         15.7          63.5       3.4X
Native ORC Vectorized                                                                               2612           2620          12          6.0         166.1       1.3X
Native ORC Vectorized (Pushdown)                                                                     876            879           2         18.0          55.7       3.9X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                                  6116           6123           9          2.6         388.8       1.0X
Parquet Vectorized (Pushdown)                                                                       4802           4813          11          3.3         305.3       1.3X
Native ORC Vectorized                                                                               5152           5160           7          3.1         327.6       1.2X
Native ORC Vectorized (Pushdown)                                                                    4126           4138           9          3.8         262.3       1.5X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                                                                   8692           8746          68          1.8         552.6       1.0X
Parquet Vectorized (Pushdown)                                                                        8481           8495          15          1.9         539.2       1.0X
Native ORC Vectorized                                                                                7644           7653          10          2.1         486.0       1.1X
Native ORC Vectorized (Pushdown)                                                                     7449           7462           9          2.1         473.6       1.2X


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

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                   58             72          19          0.0    57741888.0       1.0X
Parquet Vectorized (Pushdown)                        58             61           3          0.0    58429929.0       1.0X
Native ORC Vectorized                                51             53           2          0.0    51359839.0       1.1X
Native ORC Vectorized (Pushdown)                     53             55           3          0.0    53142981.0       1.1X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                  400            420          16          0.0   400224642.0       1.0X
Parquet Vectorized (Pushdown)                       399            417          11          0.0   399319343.0       1.0X
Native ORC Vectorized                               387            393           7          0.0   387215337.0       1.0X
Native ORC Vectorized (Pushdown)                    390            396           7          0.0   389851290.0       1.0X

OpenJDK 64-Bit Server VM 21.0.4+7-LTS on Linux 6.5.0-1025-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                                 2216           2266          67          0.0  2215862652.0       1.0X
Parquet Vectorized (Pushdown)                      2237           2281          47          0.0  2237304947.0       1.0X
Native ORC Vectorized                              2202           2257          58          0.0  2202335420.0       1.0X
Native ORC Vectorized (Pushdown)                   2219           2262          65          0.0  2219444511.0       1.0X


