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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 0 string row (value IS NULL):      Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6328           6399          85          2.5         402.3       1.0X
Parquet Vectorized (Pushdown)                       300            314           9         52.4          19.1      21.1X
Native ORC Vectorized                              5167           5227          59          3.0         328.5       1.2X
Native ORC Vectorized (Pushdown)                    327            343          11         48.1          20.8      19.3X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 0 string row ('7864320' < value < '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                            7001           7017          24          2.2         445.1       1.0X
Parquet Vectorized (Pushdown)                                  290            298           5         54.3          18.4      24.2X
Native ORC Vectorized                                         5312           5325          15          3.0         337.7       1.3X
Native ORC Vectorized (Pushdown)                               320            334          11         49.1          20.4      21.9X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 string row (value = '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6971           6994          21          2.3         443.2       1.0X
Parquet Vectorized (Pushdown)                       274            281           4         57.4          17.4      25.4X
Native ORC Vectorized                              5276           5304          29          3.0         335.5       1.3X
Native ORC Vectorized (Pushdown)                    309            322          11         50.9          19.7      22.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 string row (value <=> '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  7059           7083          20          2.2         448.8       1.0X
Parquet Vectorized (Pushdown)                        267            274           6         58.9          17.0      26.4X
Native ORC Vectorized                               5267           5283          16          3.0         334.9       1.3X
Native ORC Vectorized (Pushdown)                     303            312           6         52.0          19.2      23.3X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 string row ('7864320' <= value <= '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                              6950           6984          25          2.3         441.9       1.0X
Parquet Vectorized (Pushdown)                                    270            279           9         58.3          17.2      25.8X
Native ORC Vectorized                                           5285           5300          16          3.0         336.0       1.3X
Native ORC Vectorized (Pushdown)                                 306            325          14         51.4          19.5      22.7X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select all string rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  14800          14928         114          1.1         941.0       1.0X
Parquet Vectorized (Pushdown)                       14949          14973          18          1.1         950.4       1.0X
Native ORC Vectorized                               13180          13196          19          1.2         837.9       1.1X
Native ORC Vectorized (Pushdown)                    13297          13309          15          1.2         845.4       1.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 0 int row (value IS NULL):         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6561           6617          34          2.4         417.2       1.0X
Parquet Vectorized (Pushdown)                       273            280           4         57.7          17.3      24.1X
Native ORC Vectorized                              4845           4860          13          3.2         308.0       1.4X
Native ORC Vectorized (Pushdown)                    298            307           8         52.7          19.0      22.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 0 int row (7864320 < value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     6590           6602          15          2.4         419.0       1.0X
Parquet Vectorized (Pushdown)                           278            282           3         56.7          17.6      23.7X
Native ORC Vectorized                                  4842           4854          15          3.2         307.8       1.4X
Native ORC Vectorized (Pushdown)                        309            321          11         50.8          19.7      21.3X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 int row (value = 7864320):       Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6626           6647          19          2.4         421.3       1.0X
Parquet Vectorized (Pushdown)                       275            279           5         57.3          17.5      24.1X
Native ORC Vectorized                              4881           4912          20          3.2         310.3       1.4X
Native ORC Vectorized (Pushdown)                    301            306           4         52.2          19.2      22.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 int row (value <=> 7864320):     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 6609           6638          33          2.4         420.2       1.0X
Parquet Vectorized (Pushdown)                       268            275           4         58.7          17.0      24.7X
Native ORC Vectorized                              4895           4906           8          3.2         311.2       1.4X
Native ORC Vectorized (Pushdown)                    303            306           2         52.0          19.2      21.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 int row (7864320 <= value <= 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                       6618           6642          15          2.4         420.7       1.0X
Parquet Vectorized (Pushdown)                             274            277           3         57.3          17.4      24.1X
Native ORC Vectorized                                    4902           4921          30          3.2         311.7       1.3X
Native ORC Vectorized (Pushdown)                          301            307           6         52.3          19.1      22.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 int row (7864319 < value < 7864321):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     6617           6627           9          2.4         420.7       1.0X
Parquet Vectorized (Pushdown)                           270            277           5         58.2          17.2      24.5X
Native ORC Vectorized                                  4896           4899           3          3.2         311.3       1.4X
Native ORC Vectorized (Pushdown)                        301            304           2         52.2          19.2      22.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 10% int rows (value < 1572864):    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 7290           7302          12          2.2         463.5       1.0X
Parquet Vectorized (Pushdown)                      1591           1603          11          9.9         101.2       4.6X
Native ORC Vectorized                              5556           5563           7          2.8         353.2       1.3X
Native ORC Vectorized (Pushdown)                   1429           1446          23         11.0          90.9       5.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 50% int rows (value < 7864320):    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                 9756           9774          15          1.6         620.3       1.0X
Parquet Vectorized (Pushdown)                      6618           6646          19          2.4         420.8       1.5X
Native ORC Vectorized                              8095           8103           6          1.9         514.7       1.2X
Native ORC Vectorized (Pushdown)                   5861           5875          15          2.7         372.6       1.7X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 90% int rows (value < 14155776):   Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                12309          12317           7          1.3         782.6       1.0X
Parquet Vectorized (Pushdown)                     11713          11732          13          1.3         744.7       1.1X
Native ORC Vectorized                             10435          10461          29          1.5         663.5       1.2X
Native ORC Vectorized (Pushdown)                  10122          10134          12          1.6         643.5       1.2X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select all int rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                12829          12852          19          1.2         815.6       1.0X
Parquet Vectorized (Pushdown)                     12881          12906          19          1.2         818.9       1.0X
Native ORC Vectorized                             10942          10949           7          1.4         695.7       1.2X
Native ORC Vectorized (Pushdown)                  11078          11087           8          1.4         704.3       1.2X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select all int rows (value > -1):         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                12834          12844           9          1.2         815.9       1.0X
Parquet Vectorized (Pushdown)                     12865          12887          15          1.2         818.0       1.0X
Native ORC Vectorized                             11180          11189          11          1.4         710.8       1.1X
Native ORC Vectorized (Pushdown)                  11280          11312          40          1.4         717.2       1.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select all int rows (value != -1):        Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                12835          12860          30          1.2         816.1       1.0X
Parquet Vectorized (Pushdown)                     12907          12926          12          1.2         820.6       1.0X
Native ORC Vectorized                             10773          10780           7          1.5         684.9       1.2X
Native ORC Vectorized (Pushdown)                  10930          10963          58          1.4         694.9       1.2X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 0 distinct string row (value IS NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     5972           5998          21          2.6         379.7       1.0X
Parquet Vectorized (Pushdown)                           230            233           3         68.5          14.6      26.0X
Native ORC Vectorized                                  6871           6885          13          2.3         436.8       0.9X
Native ORC Vectorized (Pushdown)                        972            983           8         16.2          61.8       6.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 0 distinct string row ('100' < value < '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                             6057           6069           7          2.6         385.1       1.0X
Parquet Vectorized (Pushdown)                                   228            233           3         69.0          14.5      26.6X
Native ORC Vectorized                                          7095           7103           7          2.2         451.1       0.9X
Native ORC Vectorized (Pushdown)                                989            991           3         15.9          62.9       6.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 distinct string row (value = '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     6054           6076          22          2.6         384.9       1.0X
Parquet Vectorized (Pushdown)                           278            284           5         56.7          17.6      21.8X
Native ORC Vectorized                                  7029           7040          11          2.2         446.9       0.9X
Native ORC Vectorized (Pushdown)                       1038           1041           3         15.1          66.0       5.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 distinct string row (value <=> '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                       6036           6049           9          2.6         383.7       1.0X
Parquet Vectorized (Pushdown)                             278            286           7         56.7          17.7      21.7X
Native ORC Vectorized                                    7037           7042           5          2.2         447.4       0.9X
Native ORC Vectorized (Pushdown)                         1038           1040           3         15.2          66.0       5.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 distinct string row ('100' <= value <= '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               6088           6106          14          2.6         387.1       1.0X
Parquet Vectorized (Pushdown)                                     278            283           4         56.7          17.6      21.9X
Native ORC Vectorized                                            7105           7115           6          2.2         451.7       0.9X
Native ORC Vectorized (Pushdown)                                 1038           1049          12         15.2          66.0       5.9X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select all distinct string rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                           14699          14737          28          1.1         934.6       1.0X
Parquet Vectorized (Pushdown)                                14808          14824          15          1.1         941.5       1.0X
Native ORC Vectorized                                        15161          15220          79          1.0         963.9       1.0X
Native ORC Vectorized (Pushdown)                             15571          15600          17          1.0         990.0       0.9X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringStartsWith filter: (value like '10%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                    7269           7284          14          2.2         462.2       1.0X
Parquet Vectorized (Pushdown)                          947            954           6         16.6          60.2       7.7X
Native ORC Vectorized                                 5466           5469           4          2.9         347.5       1.3X
Native ORC Vectorized (Pushdown)                      5590           5595           4          2.8         355.4       1.3X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringStartsWith filter: (value like '1000%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      7083           7094          12          2.2         450.3       1.0X
Parquet Vectorized (Pushdown)                            262            274           9         60.1          16.6      27.0X
Native ORC Vectorized                                   5328           5338           9          3.0         338.8       1.3X
Native ORC Vectorized (Pushdown)                        5437           5458          24          2.9         345.7       1.3X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringStartsWith filter: (value like '786432%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                        7084           7098          11          2.2         450.4       1.0X
Parquet Vectorized (Pushdown)                              259            268           7         60.7          16.5      27.3X
Native ORC Vectorized                                     5319           5322           3          3.0         338.2       1.3X
Native ORC Vectorized (Pushdown)                          5439           5456          14          2.9         345.8       1.3X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringEndsWith filter: (value like '%10'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  6043           6056          21          2.6         384.2       1.0X
Parquet Vectorized (Pushdown)                        358            364           3         43.9          22.8      16.9X
Native ORC Vectorized                               7037           7050          17          2.2         447.4       0.9X
Native ORC Vectorized (Pushdown)                    7454           7465          19          2.1         473.9       0.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringEndsWith filter: (value like '%1000'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                    5985           6002          22          2.6         380.5       1.0X
Parquet Vectorized (Pushdown)                          257            262           4         61.2          16.3      23.3X
Native ORC Vectorized                                 6988           7029          39          2.3         444.3       0.9X
Native ORC Vectorized (Pushdown)                      7387           7445          36          2.1         469.7       0.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringEndsWith filter: (value like '%786432'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      5982           6000          19          2.6         380.3       1.0X
Parquet Vectorized (Pushdown)                            259            263           4         60.6          16.5      23.1X
Native ORC Vectorized                                   6984           7005          19          2.3         444.0       0.9X
Native ORC Vectorized (Pushdown)                        7375           7410          27          2.1         468.9       0.8X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringContains filter: (value like '%10%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                   6289           6302          10          2.5         399.9       1.0X
Parquet Vectorized (Pushdown)                         817            821           7         19.3          51.9       7.7X
Native ORC Vectorized                                7207           7223          13          2.2         458.2       0.9X
Native ORC Vectorized (Pushdown)                     7577           7617          45          2.1         481.8       0.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringContains filter: (value like '%1000%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     5981           5999          11          2.6         380.2       1.0X
Parquet Vectorized (Pushdown)                           258            264           4         61.1          16.4      23.2X
Native ORC Vectorized                                  6983           6995          10          2.3         443.9       0.9X
Native ORC Vectorized (Pushdown)                       7352           7375          29          2.1         467.4       0.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
StringContains filter: (value like '%786432%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                       5990           6004          10          2.6         380.8       1.0X
Parquet Vectorized (Pushdown)                             261            265           3         60.2          16.6      22.9X
Native ORC Vectorized                                    6989           6998          10          2.3         444.3       0.9X
Native ORC Vectorized (Pushdown)                         7351           7384          56          2.1         467.3       0.8X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 decimal(9, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                     2906           2917          14          5.4         184.8       1.0X
Parquet Vectorized (Pushdown)                            70             74           5        223.5           4.5      41.3X
Native ORC Vectorized                                  4115           4123          10          3.8         261.6       0.7X
Native ORC Vectorized (Pushdown)                         64             67           3        245.8           4.1      45.4X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 10% decimal(9, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                        4402           4419          13          3.6         279.8       1.0X
Parquet Vectorized (Pushdown)                             2108           2117           8          7.5         134.0       2.1X
Native ORC Vectorized                                     5050           5100          40          3.1         321.1       0.9X
Native ORC Vectorized (Pushdown)                          2245           2250           6          7.0         142.7       2.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 50% decimal(9, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                        9345           9380          57          1.7         594.1       1.0X
Parquet Vectorized (Pushdown)                             8922           8939          26          1.8         567.3       1.0X
Native ORC Vectorized                                    10100          10110           9          1.6         642.1       0.9X
Native ORC Vectorized (Pushdown)                          9652           9676          39          1.6         613.6       1.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 90% decimal(9, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                        10506          10529          28          1.5         668.0       1.0X
Parquet Vectorized (Pushdown)                             10538          10554          20          1.5         670.0       1.0X
Native ORC Vectorized                                     11084          11095          14          1.4         704.7       0.9X
Native ORC Vectorized (Pushdown)                          11092          11100           5          1.4         705.2       0.9X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 decimal(18, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      3194           3203           9          4.9         203.1       1.0X
Parquet Vectorized (Pushdown)                             70             73           3        224.5           4.5      45.6X
Native ORC Vectorized                                   4115           4134          15          3.8         261.7       0.8X
Native ORC Vectorized (Pushdown)                          60             66           6        261.0           3.8      53.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 10% decimal(18, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         3926           3940          16          4.0         249.6       1.0X
Parquet Vectorized (Pushdown)                              1138           1141           3         13.8          72.4       3.4X
Native ORC Vectorized                                      4308           4320          16          3.7         273.9       0.9X
Native ORC Vectorized (Pushdown)                           1126           1127           1         14.0          71.6       3.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 50% decimal(18, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         7005           7016          17          2.2         445.4       1.0X
Parquet Vectorized (Pushdown)                              5475           5493          29          2.9         348.1       1.3X
Native ORC Vectorized                                      7191           7197           6          2.2         457.2       1.0X
Native ORC Vectorized (Pushdown)                           5422           5429           4          2.9         344.7       1.3X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 90% decimal(18, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         10050          10101          49          1.6         639.0       1.0X
Parquet Vectorized (Pushdown)                               9779           9803          21          1.6         621.8       1.0X
Native ORC Vectorized                                      10107          10124          18          1.6         642.6       1.0X
Native ORC Vectorized (Pushdown)                            9766           9802          33          1.6         620.9       1.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 decimal(38, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                      4388           4436          63          3.6         279.0       1.0X
Parquet Vectorized (Pushdown)                             75             79           4        209.9           4.8      58.6X
Native ORC Vectorized                                   4129           4133           3          3.8         262.5       1.1X
Native ORC Vectorized (Pushdown)                          61             64           4        259.8           3.8      72.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 10% decimal(38, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         5093           5120          38          3.1         323.8       1.0X
Parquet Vectorized (Pushdown)                              1426           1428           5         11.0          90.6       3.6X
Native ORC Vectorized                                      4413           4424          14          3.6         280.6       1.2X
Native ORC Vectorized (Pushdown)                           1231           1231           1         12.8          78.2       4.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 50% decimal(38, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         8859           8872          16          1.8         563.3       1.0X
Parquet Vectorized (Pushdown)                              6828           6840          13          2.3         434.1       1.3X
Native ORC Vectorized                                      7696           7715          17          2.0         489.3       1.2X
Native ORC Vectorized (Pushdown)                           5928           5934           7          2.7         376.9       1.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 90% decimal(38, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                         12567          12586          24          1.3         799.0       1.0X
Parquet Vectorized (Pushdown)                              12208          12226          18          1.3         776.2       1.0X
Native ORC Vectorized                                      10993          11005          11          1.4         698.9       1.1X
Native ORC Vectorized (Pushdown)                           10659          10670           9          1.5         677.7       1.2X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 5, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               6617           6680         112          2.4         420.7       1.0X
Parquet Vectorized (Pushdown)                                     271            278           6         58.0          17.3      24.4X
Native ORC Vectorized                                            5013           5052          57          3.1         318.7       1.3X
Native ORC Vectorized (Pushdown)                                  306            313           3         51.3          19.5      21.6X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 5, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               6583           6594           8          2.4         418.5       1.0X
Parquet Vectorized (Pushdown)                                     269            276           4         58.4          17.1      24.5X
Native ORC Vectorized                                            5012           5026          10          3.1         318.7       1.3X
Native ORC Vectorized (Pushdown)                                  306            311           5         51.4          19.5      21.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 5, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               6588           6603          15          2.4         418.8       1.0X
Parquet Vectorized (Pushdown)                                     271            276           3         58.0          17.2      24.3X
Native ORC Vectorized                                            5010           5018          10          3.1         318.5       1.3X
Native ORC Vectorized (Pushdown)                                  306            311           8         51.4          19.5      21.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 10, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6598           6610          11          2.4         419.5       1.0X
Parquet Vectorized (Pushdown)                                      286            289           2         55.0          18.2      23.1X
Native ORC Vectorized                                             5021           5028           7          3.1         319.2       1.3X
Native ORC Vectorized (Pushdown)                                   321            325           4         49.0          20.4      20.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 10, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6591           6607          16          2.4         419.0       1.0X
Parquet Vectorized (Pushdown)                                      288            295           6         54.7          18.3      22.9X
Native ORC Vectorized                                             5013           5025          12          3.1         318.7       1.3X
Native ORC Vectorized (Pushdown)                                   323            328           8         48.7          20.5      20.4X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 10, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6589           6608          23          2.4         418.9       1.0X
Parquet Vectorized (Pushdown)                                      290            294           3         54.2          18.5      22.7X
Native ORC Vectorized                                             5017           5025           7          3.1         319.0       1.3X
Native ORC Vectorized (Pushdown)                                   324            326           2         48.6          20.6      20.4X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 50, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6797           6814          12          2.3         432.1       1.0X
Parquet Vectorized (Pushdown)                                      917            924           5         17.2          58.3       7.4X
Native ORC Vectorized                                             5223           5238          12          3.0         332.1       1.3X
Native ORC Vectorized (Pushdown)                                   432            435           4         36.4          27.5      15.7X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 50, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6772           6791          22          2.3         430.5       1.0X
Parquet Vectorized (Pushdown)                                     3307           3313           6          4.8         210.3       2.0X
Native ORC Vectorized                                             5218           5226           7          3.0         331.8       1.3X
Native ORC Vectorized (Pushdown)                                   459            460           3         34.3          29.2      14.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 50, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                6778           6788           6          2.3         430.9       1.0X
Parquet Vectorized (Pushdown)                                     6003           6026          19          2.6         381.7       1.1X
Native ORC Vectorized                                             5230           5234           4          3.0         332.5       1.3X
Native ORC Vectorized (Pushdown)                                   461            468          10         34.1          29.3      14.7X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 100, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                 6754           6767          12          2.3         429.4       1.0X
Parquet Vectorized (Pushdown)                                       920            924           3         17.1          58.5       7.3X
Native ORC Vectorized                                              5179           5188           9          3.0         329.3       1.3X
Native ORC Vectorized (Pushdown)                                    526            532           7         29.9          33.5      12.8X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 100, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                 6742           6759          19          2.3         428.7       1.0X
Parquet Vectorized (Pushdown)                                      3530           3538          12          4.5         224.4       1.9X
Native ORC Vectorized                                              5177           5185           7          3.0         329.1       1.3X
Native ORC Vectorized (Pushdown)                                    607            616          14         25.9          38.6      11.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
InSet -> InFilters (values count: 100, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                 6727           6745          11          2.3         427.7       1.0X
Parquet Vectorized (Pushdown)                                      6054           6065           9          2.6         384.9       1.1X
Native ORC Vectorized                                              5173           5182           7          3.0         328.9       1.3X
Native ORC Vectorized (Pushdown)                                    606            607           2         26.0          38.5      11.1X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 tinyint row (value = CAST(63 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                           3210           3269          86          4.9         204.1       1.0X
Parquet Vectorized (Pushdown)                                 115            118           3        137.3           7.3      28.0X
Native ORC Vectorized                                        2491           2502          15          6.3         158.4       1.3X
Native ORC Vectorized (Pushdown)                              123            126           2        127.7           7.8      26.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 10% tinyint rows (value < CAST(12 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                              3866           3877           9          4.1         245.8       1.0X
Parquet Vectorized (Pushdown)                                   1040           1042           3         15.1          66.1       3.7X
Native ORC Vectorized                                           3107           3113           5          5.1         197.5       1.2X
Native ORC Vectorized (Pushdown)                                 947            949           2         16.6          60.2       4.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 50% tinyint rows (value < CAST(63 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                              6616           6632          18          2.4         420.6       1.0X
Parquet Vectorized (Pushdown)                                   5063           5082          16          3.1         321.9       1.3X
Native ORC Vectorized                                           5596           5599           4          2.8         355.8       1.2X
Native ORC Vectorized (Pushdown)                                4412           4418           5          3.6         280.5       1.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 90% tinyint rows (value < CAST(114 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                               9394           9457          46          1.7         597.3       1.0X
Parquet Vectorized (Pushdown)                                    9139           9188          35          1.7         581.1       1.0X
Native ORC Vectorized                                            8164           8171           6          1.9         519.1       1.2X
Native ORC Vectorized (Pushdown)                                 7945           7965          15          2.0         505.1       1.2X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 timestamp stored as INT96 row (value = timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                    3275           3287           9          4.8         208.2       1.0X
Parquet Vectorized (Pushdown)                                                         3276           3282           9          4.8         208.3       1.0X
Native ORC Vectorized                                                                 2411           2415           4          6.5         153.3       1.4X
Native ORC Vectorized (Pushdown)                                                        44             47           3        357.9           2.8      74.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 10% timestamp stored as INT96 rows (value < timestamp_seconds(1572864)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                       4036           4058          19          3.9         256.6       1.0X
Parquet Vectorized (Pushdown)                                                            4032           4044          18          3.9         256.3       1.0X
Native ORC Vectorized                                                                    3080           3091          18          5.1         195.8       1.3X
Native ORC Vectorized (Pushdown)                                                          927            930           2         17.0          58.9       4.4X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 50% timestamp stored as INT96 rows (value < timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                       6934           6942           5          2.3         440.8       1.0X
Parquet Vectorized (Pushdown)                                                            6939           6984          45          2.3         441.2       1.0X
Native ORC Vectorized                                                                    5756           5768          16          2.7         366.0       1.2X
Native ORC Vectorized (Pushdown)                                                         4557           4607          95          3.5         289.7       1.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 90% timestamp stored as INT96 rows (value < timestamp_seconds(14155776)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
---------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                        9704           9718          12          1.6         616.9       1.0X
Parquet Vectorized (Pushdown)                                                             9708           9723          16          1.6         617.2       1.0X
Native ORC Vectorized                                                                     8254           8270          25          1.9         524.8       1.2X
Native ORC Vectorized (Pushdown)                                                          8027           8042          11          2.0         510.3       1.2X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 timestamp stored as TIMESTAMP_MICROS row (value = timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                               3082           3101          21          5.1         196.0       1.0X
Parquet Vectorized (Pushdown)                                                                      68             70           3        232.8           4.3      45.6X
Native ORC Vectorized                                                                            2400           2412          18          6.6         152.6       1.3X
Native ORC Vectorized (Pushdown)                                                                   44             47           4        359.7           2.8      70.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 10% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(1572864)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                  3820           3837          16          4.1         242.9       1.0X
Parquet Vectorized (Pushdown)                                                                       1127           1129           1         14.0          71.6       3.4X
Native ORC Vectorized                                                                               3079           3084           7          5.1         195.8       1.2X
Native ORC Vectorized (Pushdown)                                                                     927            931           3         17.0          58.9       4.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 50% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                  6740           6763          15          2.3         428.5       1.0X
Parquet Vectorized (Pushdown)                                                                       5258           5309          80          3.0         334.3       1.3X
Native ORC Vectorized                                                                               5730           5741           8          2.7         364.3       1.2X
Native ORC Vectorized (Pushdown)                                                                    4534           4538           3          3.5         288.3       1.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 90% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(14155776)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                   9508           9569          49          1.7         604.5       1.0X
Parquet Vectorized (Pushdown)                                                                        9321           9382          69          1.7         592.6       1.0X
Native ORC Vectorized                                                                                8276           8289           8          1.9         526.2       1.1X
Native ORC Vectorized (Pushdown)                                                                     8048           8059          11          2.0         511.6       1.2X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 timestamp stored as TIMESTAMP_MILLIS row (value = timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
----------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                               3090           3101          11          5.1         196.5       1.0X
Parquet Vectorized (Pushdown)                                                                      67             71           4        233.7           4.3      45.9X
Native ORC Vectorized                                                                            2404           2408           4          6.5         152.8       1.3X
Native ORC Vectorized (Pushdown)                                                                   44             46           3        361.2           2.8      71.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 10% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(1572864)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                  3830           3844          15          4.1         243.5       1.0X
Parquet Vectorized (Pushdown)                                                                       1128           1137           6         13.9          71.7       3.4X
Native ORC Vectorized                                                                               3079           3083           4          5.1         195.8       1.2X
Native ORC Vectorized (Pushdown)                                                                     929            931           3         16.9          59.0       4.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 50% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(7864320)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                  6745           6760          12          2.3         428.8       1.0X
Parquet Vectorized (Pushdown)                                                                       5231           5237           6          3.0         332.6       1.3X
Native ORC Vectorized                                                                               5727           5737           6          2.7         364.1       1.2X
Native ORC Vectorized (Pushdown)                                                                    4545           4553           7          3.5         289.0       1.5X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 90% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(14155776)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                                                                   9528           9561          45          1.7         605.8       1.0X
Parquet Vectorized (Pushdown)                                                                        9248           9265          17          1.7         588.0       1.0X
Native ORC Vectorized                                                                                8266           8284          19          1.9         525.6       1.2X
Native ORC Vectorized (Pushdown)                                                                     8045           8060          15          2.0         511.5       1.2X


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

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 row with 1 filters:              Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                   51             53           2          0.0    51115363.0       1.0X
Parquet Vectorized (Pushdown)                        53             54           2          0.0    52552455.0       1.0X
Native ORC Vectorized                                48             50           3          0.0    47677147.0       1.1X
Native ORC Vectorized (Pushdown)                     54             55           2          0.0    53786029.0       1.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 row with 250 filters:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  203            213           8          0.0   202764780.0       1.0X
Parquet Vectorized (Pushdown)                       203            209           6          0.0   203283122.0       1.0X
Native ORC Vectorized                               197            201           4          0.0   196964885.0       1.0X
Native ORC Vectorized (Pushdown)                    207            212           4          0.0   206616094.0       1.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1020-azure
AMD EPYC 7763 64-Core Processor
Select 1 row with 500 filters:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                  643            648           7          0.0   643120398.0       1.0X
Parquet Vectorized (Pushdown)                       652            662          11          0.0   652489542.0       1.0X
Native ORC Vectorized                               637            644           6          0.0   637377990.0       1.0X
Native ORC Vectorized (Pushdown)                    653            656           6          0.0   652542741.0       1.0X


