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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                 6883           6923          37          2.3         437.6       1.0X
Parquet Vectorized (Pushdown)                       335            349          11         46.9          21.3      20.5X
Native ORC Vectorized                              5462           5502          36          2.9         347.3       1.3X
Native ORC Vectorized (Pushdown)                    320            337          11         49.2          20.3      21.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                            6943           6965          22          2.3         441.4       1.0X
Parquet Vectorized (Pushdown)                                  335            359          18         46.9          21.3      20.7X
Native ORC Vectorized                                         5559           5582          17          2.8         353.4       1.2X
Native ORC Vectorized (Pushdown)                               327            335           6         48.1          20.8      21.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                 6928           6941          14          2.3         440.4       1.0X
Parquet Vectorized (Pushdown)                       317            327           7         49.6          20.1      21.9X
Native ORC Vectorized                              5571           5591          26          2.8         354.2       1.2X
Native ORC Vectorized (Pushdown)                    313            320           9         50.3          19.9      22.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                  6899           6914          12          2.3         438.6       1.0X
Parquet Vectorized (Pushdown)                        310            327          15         50.8          19.7      22.3X
Native ORC Vectorized                               5547           5557           6          2.8         352.7       1.2X
Native ORC Vectorized (Pushdown)                     303            309           4         51.9          19.3      22.8X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                              6944           6971          41          2.3         441.5       1.0X
Parquet Vectorized (Pushdown)                                    309            320          11         50.8          19.7      22.4X
Native ORC Vectorized                                           5534           5554          22          2.8         351.8       1.3X
Native ORC Vectorized (Pushdown)                                 307            326          16         51.2          19.5      22.6X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                  14452          14519          48          1.1         918.9       1.0X
Parquet Vectorized (Pushdown)                       14521          14546          19          1.1         923.2       1.0X
Native ORC Vectorized                               13001          13039          35          1.2         826.6       1.1X
Native ORC Vectorized (Pushdown)                    13112          13137          36          1.2         833.6       1.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                 6546           6562          15          2.4         416.2       1.0X
Parquet Vectorized (Pushdown)                       292            301           7         53.8          18.6      22.4X
Native ORC Vectorized                              5044           5050           7          3.1         320.7       1.3X
Native ORC Vectorized (Pushdown)                    288            297           5         54.6          18.3      22.7X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                     6530           6539          12          2.4         415.2       1.0X
Parquet Vectorized (Pushdown)                           301            306           4         52.2          19.1      21.7X
Native ORC Vectorized                                  5040           5057          15          3.1         320.4       1.3X
Native ORC Vectorized (Pushdown)                        294            304          11         53.5          18.7      22.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                 6543           6555          17          2.4         416.0       1.0X
Parquet Vectorized (Pushdown)                       298            305           7         52.8          18.9      22.0X
Native ORC Vectorized                              5084           5093           6          3.1         323.2       1.3X
Native ORC Vectorized (Pushdown)                    290            298          10         54.2          18.5      22.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                 6550           6583          46          2.4         416.5       1.0X
Parquet Vectorized (Pushdown)                       293            298           3         53.6          18.6      22.3X
Native ORC Vectorized                              5081           5093          12          3.1         323.0       1.3X
Native ORC Vectorized (Pushdown)                    285            298          12         55.2          18.1      23.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                       6546           6574          17          2.4         416.2       1.0X
Parquet Vectorized (Pushdown)                             297            302           3         52.9          18.9      22.0X
Native ORC Vectorized                                    5072           5079           4          3.1         322.5       1.3X
Native ORC Vectorized (Pushdown)                          289            296           6         54.4          18.4      22.6X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                     6535           6575          43          2.4         415.5       1.0X
Parquet Vectorized (Pushdown)                           295            299           3         53.4          18.7      22.2X
Native ORC Vectorized                                  5070           5074           2          3.1         322.3       1.3X
Native ORC Vectorized (Pushdown)                        289            294           3         54.4          18.4      22.6X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                 7234           7253          18          2.2         459.9       1.0X
Parquet Vectorized (Pushdown)                      1629           1633           5          9.7         103.6       4.4X
Native ORC Vectorized                              5766           5771           5          2.7         366.6       1.3X
Native ORC Vectorized (Pushdown)                   1467           1471           4         10.7          93.3       4.9X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                 9845           9864          22          1.6         626.0       1.0X
Parquet Vectorized (Pushdown)                      6755           6762          11          2.3         429.5       1.5X
Native ORC Vectorized                              8373           8380           8          1.9         532.4       1.2X
Native ORC Vectorized (Pushdown)                   6027           6041          15          2.6         383.2       1.6X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                12382          12396          13          1.3         787.2       1.0X
Parquet Vectorized (Pushdown)                     11785          11802          11          1.3         749.3       1.1X
Native ORC Vectorized                             10944          10975          25          1.4         695.8       1.1X
Native ORC Vectorized (Pushdown)                  10555          10561           9          1.5         671.1       1.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                13150          13174          22          1.2         836.1       1.0X
Parquet Vectorized (Pushdown)                     13194          13220          20          1.2         838.9       1.0X
Native ORC Vectorized                             11537          11552          14          1.4         733.5       1.1X
Native ORC Vectorized (Pushdown)                  11622          11639          15          1.4         738.9       1.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                13086          13099          11          1.2         832.0       1.0X
Parquet Vectorized (Pushdown)                     13137          13156          15          1.2         835.2       1.0X
Native ORC Vectorized                             11614          11630          20          1.4         738.4       1.1X
Native ORC Vectorized (Pushdown)                  11685          11702          18          1.3         742.9       1.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                13062          13077          11          1.2         830.5       1.0X
Parquet Vectorized (Pushdown)                     13127          13151          27          1.2         834.6       1.0X
Native ORC Vectorized                             11692          11786         192          1.3         743.4       1.1X
Native ORC Vectorized (Pushdown)                  11803          11846          41          1.3         750.4       1.1X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                     5890           5919          34          2.7         374.5       1.0X
Parquet Vectorized (Pushdown)                           240            244           3         65.5          15.3      24.5X
Native ORC Vectorized                                  6629           6641          12          2.4         421.5       0.9X
Native ORC Vectorized (Pushdown)                        952            962           8         16.5          60.5       6.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                             6043           6053          11          2.6         384.2       1.0X
Parquet Vectorized (Pushdown)                                   242            245           2         64.9          15.4      24.9X
Native ORC Vectorized                                          6856           6867           8          2.3         435.9       0.9X
Native ORC Vectorized (Pushdown)                                960            967           5         16.4          61.1       6.3X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                     5951           5984          19          2.6         378.4       1.0X
Parquet Vectorized (Pushdown)                           292            296           4         53.8          18.6      20.4X
Native ORC Vectorized                                  6823           7080         199          2.3         433.8       0.9X
Native ORC Vectorized (Pushdown)                       1008           1042          26         15.6          64.1       5.9X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                       5941           5958          11          2.6         377.7       1.0X
Parquet Vectorized (Pushdown)                             292            296           4         53.9          18.5      20.4X
Native ORC Vectorized                                    6766           7201         429          2.3         430.2       0.9X
Native ORC Vectorized (Pushdown)                         1333           1380          41         11.8          84.7       4.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                               6076           6112          22          2.6         386.3       1.0X
Parquet Vectorized (Pushdown)                                     301            312           8         52.3          19.1      20.2X
Native ORC Vectorized                                            8039           8099          56          2.0         511.1       0.8X
Native ORC Vectorized (Pushdown)                                 1339           1380          50         11.7          85.2       4.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                           14721          14761          24          1.1         935.9       1.0X
Parquet Vectorized (Pushdown)                                14796          14846          70          1.1         940.7       1.0X
Native ORC Vectorized                                        16834          17184         208          0.9        1070.3       0.9X
Native ORC Vectorized (Pushdown)                             17994          18093         111          0.9        1144.0       0.8X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                    7173           7238          68          2.2         456.1       1.0X
Parquet Vectorized (Pushdown)                          942            946           3         16.7          59.9       7.6X
Native ORC Vectorized                                 5658           5672           9          2.8         359.7       1.3X
Native ORC Vectorized (Pushdown)                      5758           5774          20          2.7         366.1       1.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                      7001           7010          11          2.2         445.1       1.0X
Parquet Vectorized (Pushdown)                            283            286           3         55.6          18.0      24.7X
Native ORC Vectorized                                   5551           5686         146          2.8         352.9       1.3X
Native ORC Vectorized (Pushdown)                        5627           5640          16          2.8         357.7       1.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                        6988           7047          59          2.3         444.3       1.0X
Parquet Vectorized (Pushdown)                              277            284           6         56.7          17.6      25.2X
Native ORC Vectorized                                     5540           5572          25          2.8         352.2       1.3X
Native ORC Vectorized (Pushdown)                          5590           5668         138          2.8         355.4       1.2X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                  5945           5962          14          2.6         378.0       1.0X
Parquet Vectorized (Pushdown)                        366            372           5         42.9          23.3      16.2X
Native ORC Vectorized                               6752           6760           8          2.3         429.3       0.9X
Native ORC Vectorized (Pushdown)                    6960           6970          10          2.3         442.5       0.9X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                    5870           5880           8          2.7         373.2       1.0X
Parquet Vectorized (Pushdown)                          270            274           3         58.2          17.2      21.7X
Native ORC Vectorized                                 6702           6714           7          2.3         426.1       0.9X
Native ORC Vectorized (Pushdown)                      6889           6899           7          2.3         438.0       0.9X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                      5875           5884           9          2.7         373.5       1.0X
Parquet Vectorized (Pushdown)                            273            275           2         57.7          17.3      21.6X
Native ORC Vectorized                                   6701           6719          15          2.3         426.0       0.9X
Native ORC Vectorized (Pushdown)                        6898           6907          14          2.3         438.5       0.9X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                   6133           6149          15          2.6         390.0       1.0X
Parquet Vectorized (Pushdown)                         800            804           2         19.7          50.9       7.7X
Native ORC Vectorized                                6956           6979          21          2.3         442.3       0.9X
Native ORC Vectorized (Pushdown)                     7151           7176          30          2.2         454.6       0.9X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                     5890           5907          30          2.7         374.5       1.0X
Parquet Vectorized (Pushdown)                           273            275           2         57.6          17.4      21.6X
Native ORC Vectorized                                  6734           6755          18          2.3         428.2       0.9X
Native ORC Vectorized (Pushdown)                       6939           6969          40          2.3         441.2       0.8X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                       5903           5912           7          2.7         375.3       1.0X
Parquet Vectorized (Pushdown)                             272            277           7         57.8          17.3      21.7X
Native ORC Vectorized                                    6750           6754           5          2.3         429.2       0.9X
Native ORC Vectorized (Pushdown)                         6959           6964           3          2.3         442.4       0.8X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                     2841           2858          10          5.5         180.6       1.0X
Parquet Vectorized (Pushdown)                            72             75           3        218.2           4.6      39.4X
Native ORC Vectorized                                  3436           3446          11          4.6         218.5       0.8X
Native ORC Vectorized (Pushdown)                         60             63           5        261.1           3.8      47.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                        4213           4222           9          3.7         267.9       1.0X
Parquet Vectorized (Pushdown)                             1983           1995          12          7.9         126.1       2.1X
Native ORC Vectorized                                     4828           4877          49          3.3         307.0       0.9X
Native ORC Vectorized (Pushdown)                          2110           2113           2          7.5         134.2       2.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                        8728           8781          48          1.8         554.9       1.0X
Parquet Vectorized (Pushdown)                             8352           8367          10          1.9         531.0       1.0X
Native ORC Vectorized                                     9324           9363          72          1.7         592.8       0.9X
Native ORC Vectorized (Pushdown)                          8880           8907          21          1.8         564.6       1.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                         9920           9933          13          1.6         630.7       1.0X
Parquet Vectorized (Pushdown)                              9939           9967          37          1.6         631.9       1.0X
Native ORC Vectorized                                     10375          10402          31          1.5         659.7       1.0X
Native ORC Vectorized (Pushdown)                          10399          10412          12          1.5         661.2       1.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                      3006           3036          18          5.2         191.1       1.0X
Parquet Vectorized (Pushdown)                             70             71           3        226.0           4.4      43.2X
Native ORC Vectorized                                   3412           3426          18          4.6         216.9       0.9X
Native ORC Vectorized (Pushdown)                          57             61           4        273.9           3.7      52.3X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                         3776           3787           9          4.2         240.1       1.0X
Parquet Vectorized (Pushdown)                              1081           1089           5         14.5          68.7       3.5X
Native ORC Vectorized                                      4137           4149          20          3.8         263.0       0.9X
Native ORC Vectorized (Pushdown)                           1103           1106           4         14.3          70.1       3.4X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                         6676           6690          11          2.4         424.5       1.0X
Parquet Vectorized (Pushdown)                              5195           5201           5          3.0         330.3       1.3X
Native ORC Vectorized                                      6988           6997           8          2.3         444.3       1.0X
Native ORC Vectorized (Pushdown)                           5310           5313           3          3.0         337.6       1.3X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                          9514           9520           9          1.7         604.9       1.0X
Parquet Vectorized (Pushdown)                               9238           9281          48          1.7         587.3       1.0X
Native ORC Vectorized                                       9832           9868          23          1.6         625.1       1.0X
Native ORC Vectorized (Pushdown)                            9492           9499           5          1.7         603.5       1.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                      4281           4291           8          3.7         272.2       1.0X
Parquet Vectorized (Pushdown)                             76             79           3        206.4           4.8      56.2X
Native ORC Vectorized                                   3458           3474          17          4.5         219.8       1.2X
Native ORC Vectorized (Pushdown)                          58             60           3        273.4           3.7      74.4X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                         5238           5246           8          3.0         333.0       1.0X
Parquet Vectorized (Pushdown)                              1422           1424           1         11.1          90.4       3.7X
Native ORC Vectorized                                      4308           4321          15          3.7         273.9       1.2X
Native ORC Vectorized (Pushdown)                           1227           1230           3         12.8          78.0       4.3X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                         8951           8969          18          1.8         569.1       1.0X
Parquet Vectorized (Pushdown)                              6863           6900          29          2.3         436.4       1.3X
Native ORC Vectorized                                      7606           7620          10          2.1         483.6       1.2X
Native ORC Vectorized (Pushdown)                           5900           5906           7          2.7         375.1       1.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                         12623          12678          67          1.2         802.5       1.0X
Parquet Vectorized (Pushdown)                              12207          12224          16          1.3         776.1       1.0X
Native ORC Vectorized                                      10898          10906           5          1.4         692.9       1.2X
Native ORC Vectorized (Pushdown)                           10575          10588          11          1.5         672.3       1.2X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                               6516           6546          29          2.4         414.3       1.0X
Parquet Vectorized (Pushdown)                                     289            292           4         54.5          18.4      22.6X
Native ORC Vectorized                                            4902           4907           4          3.2         311.7       1.3X
Native ORC Vectorized (Pushdown)                                  296            304          10         53.2          18.8      22.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                               6532           6549          13          2.4         415.3       1.0X
Parquet Vectorized (Pushdown)                                     285            287           2         55.2          18.1      22.9X
Native ORC Vectorized                                            4884           4887           3          3.2         310.5       1.3X
Native ORC Vectorized (Pushdown)                                  292            300           8         53.8          18.6      22.3X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                               6524           6531           7          2.4         414.8       1.0X
Parquet Vectorized (Pushdown)                                     287            291           5         54.8          18.2      22.7X
Native ORC Vectorized                                            4897           4912          16          3.2         311.3       1.3X
Native ORC Vectorized (Pushdown)                                  294            300           7         53.5          18.7      22.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                6534           6553          12          2.4         415.4       1.0X
Parquet Vectorized (Pushdown)                                      302            306           3         52.1          19.2      21.6X
Native ORC Vectorized                                             4889           4900          13          3.2         310.9       1.3X
Native ORC Vectorized (Pushdown)                                   310            314           6         50.8          19.7      21.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                6521           6537          15          2.4         414.6       1.0X
Parquet Vectorized (Pushdown)                                      303            306           2         51.9          19.3      21.5X
Native ORC Vectorized                                             4892           4897           4          3.2         311.0       1.3X
Native ORC Vectorized (Pushdown)                                   310            319          13         50.8          19.7      21.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                6517           6526          10          2.4         414.4       1.0X
Parquet Vectorized (Pushdown)                                      304            309           4         51.8          19.3      21.5X
Native ORC Vectorized                                             4891           4898           9          3.2         310.9       1.3X
Native ORC Vectorized (Pushdown)                                   310            315           5         50.8          19.7      21.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                6739           6750           7          2.3         428.5       1.0X
Parquet Vectorized (Pushdown)                                      886            889           2         17.8          56.3       7.6X
Native ORC Vectorized                                             5109           5115           3          3.1         324.8       1.3X
Native ORC Vectorized (Pushdown)                                   417            425           9         37.7          26.5      16.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                6742           6750           7          2.3         428.6       1.0X
Parquet Vectorized (Pushdown)                                     3390           3412          37          4.6         215.5       2.0X
Native ORC Vectorized                                             5124           5127           5          3.1         325.8       1.3X
Native ORC Vectorized (Pushdown)                                   443            448           3         35.5          28.2      15.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                6737           6741           3          2.3         428.3       1.0X
Parquet Vectorized (Pushdown)                                     6038           6051          12          2.6         383.9       1.1X
Native ORC Vectorized                                             5095           5110          15          3.1         323.9       1.3X
Native ORC Vectorized (Pushdown)                                   444            448           5         35.5          28.2      15.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                 6679           6694          13          2.4         424.7       1.0X
Parquet Vectorized (Pushdown)                                       894            898           3         17.6          56.9       7.5X
Native ORC Vectorized                                              5069           5087          30          3.1         322.3       1.3X
Native ORC Vectorized (Pushdown)                                    514            521           6         30.6          32.7      13.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                 6685           6698           9          2.4         425.1       1.0X
Parquet Vectorized (Pushdown)                                      3472           3482           8          4.5         220.7       1.9X
Native ORC Vectorized                                              5078           5084           4          3.1         322.8       1.3X
Native ORC Vectorized (Pushdown)                                    589            593           4         26.7          37.4      11.4X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                 6685           6710          28          2.4         425.1       1.0X
Parquet Vectorized (Pushdown)                                      6014           6035          30          2.6         382.4       1.1X
Native ORC Vectorized                                              5078           5086           8          3.1         322.8       1.3X
Native ORC Vectorized (Pushdown)                                    607            612           7         25.9          38.6      11.0X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                           3186           3197          20          4.9         202.6       1.0X
Parquet Vectorized (Pushdown)                                 110            113           3        142.6           7.0      28.9X
Native ORC Vectorized                                        2375           2386           9          6.6         151.0       1.3X
Native ORC Vectorized (Pushdown)                              119            122           3        131.8           7.6      26.7X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                              3763           3770           8          4.2         239.3       1.0X
Parquet Vectorized (Pushdown)                                   1006           1011           5         15.6          64.0       3.7X
Native ORC Vectorized                                           2942           2982          46          5.3         187.1       1.3X
Native ORC Vectorized (Pushdown)                                 874            877           3         18.0          55.6       4.3X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                              6306           6312           7          2.5         400.9       1.0X
Parquet Vectorized (Pushdown)                                   4795           4802           6          3.3         304.8       1.3X
Native ORC Vectorized                                           5414           5423           6          2.9         344.2       1.2X
Native ORC Vectorized (Pushdown)                                4282           4284           3          3.7         272.2       1.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                               9069           9075           5          1.7         576.6       1.0X
Parquet Vectorized (Pushdown)                                    8806           8818           9          1.8         559.9       1.0X
Native ORC Vectorized                                            7795           7800           5          2.0         495.6       1.2X
Native ORC Vectorized (Pushdown)                                 7586           7605          16          2.1         482.3       1.2X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                    3221           3224           3          4.9         204.8       1.0X
Parquet Vectorized (Pushdown)                                                         3228           3235           8          4.9         205.3       1.0X
Native ORC Vectorized                                                                 2229           2241          15          7.1         141.7       1.4X
Native ORC Vectorized (Pushdown)                                                        43             45           3        369.5           2.7      75.7X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                       3932           3953          18          4.0         250.0       1.0X
Parquet Vectorized (Pushdown)                                                            3926           3932           4          4.0         249.6       1.0X
Native ORC Vectorized                                                                    2893           2902          13          5.4         183.9       1.4X
Native ORC Vectorized (Pushdown)                                                          914            922           8         17.2          58.1       4.3X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                       6853           6857           3          2.3         435.7       1.0X
Parquet Vectorized (Pushdown)                                                            6848           6857          14          2.3         435.4       1.0X
Native ORC Vectorized                                                                    5512           5540          37          2.9         350.4       1.2X
Native ORC Vectorized (Pushdown)                                                         4361           4386          27          3.6         277.3       1.6X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                        9465           9534          92          1.7         601.7       1.0X
Parquet Vectorized (Pushdown)                                                             9532           9575          45          1.7         606.1       1.0X
Native ORC Vectorized                                                                     8097           8146          39          1.9         514.8       1.2X
Native ORC Vectorized (Pushdown)                                                          8029           8064          27          2.0         510.5       1.2X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                               2994           3008          15          5.3         190.3       1.0X
Parquet Vectorized (Pushdown)                                                                      70             75           3        223.8           4.5      42.6X
Native ORC Vectorized                                                                            2247           2257          12          7.0         142.8       1.3X
Native ORC Vectorized (Pushdown)                                                                   44             51           5        354.7           2.8      67.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                                  3719           3796          54          4.2         236.4       1.0X
Parquet Vectorized (Pushdown)                                                                       1074           1091          12         14.6          68.3       3.5X
Native ORC Vectorized                                                                               2922           2951          17          5.4         185.8       1.3X
Native ORC Vectorized (Pushdown)                                                                     926            944          13         17.0          58.9       4.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                                  6719           6753          25          2.3         427.2       1.0X
Parquet Vectorized (Pushdown)                                                                       5237           5278          27          3.0         333.0       1.3X
Native ORC Vectorized                                                                               5596           5604          10          2.8         355.8       1.2X
Native ORC Vectorized (Pushdown)                                                                    4331           4388          47          3.6         275.3       1.6X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                                   9216           9232          14          1.7         585.9       1.0X
Parquet Vectorized (Pushdown)                                                                        8949           8960          11          1.8         569.0       1.0X
Native ORC Vectorized                                                                                8266           8296          51          1.9         525.5       1.1X
Native ORC Vectorized (Pushdown)                                                                     8030           8045          16          2.0         510.6       1.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                               3022           3027           5          5.2         192.1       1.0X
Parquet Vectorized (Pushdown)                                                                      69             70           2        228.7           4.4      43.9X
Native ORC Vectorized                                                                            2225           2230           3          7.1         141.5       1.4X
Native ORC Vectorized (Pushdown)                                                                   42             44           3        377.3           2.7      72.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                                  3711           3727          14          4.2         236.0       1.0X
Parquet Vectorized (Pushdown)                                                                       1053           1056           3         14.9          66.9       3.5X
Native ORC Vectorized                                                                               2889           2917          54          5.4         183.7       1.3X
Native ORC Vectorized (Pushdown)                                                                     912            915           2         17.3          58.0       4.1X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                                  6607           6613          10          2.4         420.1       1.0X
Parquet Vectorized (Pushdown)                                                                       5149           5167          33          3.1         327.3       1.3X
Native ORC Vectorized                                                                               5498           5511           9          2.9         349.6       1.2X
Native ORC Vectorized (Pushdown)                                                                    4356           4368          10          3.6         276.9       1.5X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                                                                   9222           9225           2          1.7         586.3       1.0X
Parquet Vectorized (Pushdown)                                                                        8952           8972          19          1.8         569.2       1.0X
Native ORC Vectorized                                                                                8251           8266          16          1.9         524.6       1.1X
Native ORC Vectorized (Pushdown)                                                                     8030           8044          16          2.0         510.5       1.1X


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

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-azure
AMD EPYC 7763 64-Core Processor
Select 1 row with 1 filters:              Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Parquet Vectorized                                   47             49           5          0.0    46814687.0       1.0X
Parquet Vectorized (Pushdown)                        48             50           4          0.0    48049852.0       1.0X
Native ORC Vectorized                                42             44           4          0.0    41770894.0       1.1X
Native ORC Vectorized (Pushdown)                     45             47           4          0.0    44627062.0       1.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                  174            179           5          0.0   173730940.0       1.0X
Parquet Vectorized (Pushdown)                       177            183           6          0.0   177380451.0       1.0X
Native ORC Vectorized                               168            174           4          0.0   168397398.0       1.0X
Native ORC Vectorized (Pushdown)                    174            178           6          0.0   173527951.0       1.0X

OpenJDK 64-Bit Server VM 17.0.16+8-LTS on Linux 6.11.0-1018-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                                  545            556          11          0.0   544697398.0       1.0X
Parquet Vectorized (Pushdown)                       564            568           3          0.0   564247787.0       1.0X
Native ORC Vectorized                               536            549          11          0.0   536299871.0       1.0X
Native ORC Vectorized (Pushdown)                    545            548           3          0.0   544510520.0       1.0X


