[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 25522 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% decimal(9, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                        5075           5309         154          3.1         322.7       1.0X
[info] Parquet Vectorized (Pushdown)                             4943           5105         121          3.2         314.2       1.0X
[info] Running benchmark: Select 50% decimal(9, 2) rows (value < 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 51448 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 52535 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% decimal(9, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                       10168          10290          94          1.5         646.5       1.0X
[info] Parquet Vectorized (Pushdown)                            10386          10507          96          1.5         660.3       1.0X
[info] Running benchmark: Select 90% decimal(9, 2) rows (value < 14155776)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 59845 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 59254 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% decimal(9, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                        11815          11969         240          1.3         751.2       1.0X
[info] Parquet Vectorized (Pushdown)                             11655          11851         209          1.3         741.0       1.0X
[info] Running benchmark: Select 1 decimal(18, 2) row (value = 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 18282 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 6164 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 decimal(18, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                      3597           3657          59          4.4         228.7       1.0X
[info] Parquet Vectorized (Pushdown)                           1219           1233          14         12.9          77.5       3.0X
[info] Running benchmark: Select 10% decimal(18, 2) rows (value < 1572864)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 22746 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 10375 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% decimal(18, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         4484           4549          67          3.5         285.1       1.0X
[info] Parquet Vectorized (Pushdown)                              2023           2075          57          7.8         128.6       2.2X
[info] Running benchmark: Select 50% decimal(18, 2) rows (value < 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 39274 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 33687 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% decimal(18, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         7792           7855          48          2.0         495.4       1.0X
[info] Parquet Vectorized (Pushdown)                              6498           6738         150          2.4         413.2       1.2X
[info] Running benchmark: Select 90% decimal(18, 2) rows (value < 14155776)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 56243 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 55540 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% decimal(18, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         11127          11249         167          1.4         707.5       1.0X
[info] Parquet Vectorized (Pushdown)                              10841          11108         225          1.5         689.3       1.0X
[info] Running benchmark: Select 1 decimal(38, 2) row (value = 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 29521 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 9333 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 decimal(38, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                      5766           5904          94          2.7         366.6       1.0X
[info] Parquet Vectorized (Pushdown)                           1836           1867          53          8.6         116.8       3.1X
[info] Running benchmark: Select 10% decimal(38, 2) rows (value < 1572864)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 34386 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 14350 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% decimal(38, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         6746           6877         122          2.3         428.9       1.0X
[info] Parquet Vectorized (Pushdown)                              2807           2870          75          5.6         178.5       2.4X
[info] Running benchmark: Select 50% decimal(38, 2) rows (value < 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 54192 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43783 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% decimal(38, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                        10681          10839         142          1.5         679.1       1.0X
[info] Parquet Vectorized (Pushdown)                              8550           8757         162          1.8         543.6       1.2X
[info] Running benchmark: Select 90% decimal(38, 2) rows (value < 14155776)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 74674 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 72033 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% decimal(38, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         14675          14935         295          1.1         933.0       1.0X
[info] Parquet Vectorized (Pushdown)                              14171          14407         158          1.1         901.0       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 5, distribution: 10)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41729 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4213 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 5, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                               8288           8346          44          1.9         526.9       1.0X
[info] Parquet Vectorized (Pushdown)                                     838            843           6         18.8          53.3       9.9X
[info] Running benchmark: InSet -> InFilters (values count: 5, distribution: 50)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41750 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 15555 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 5, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                               8273           8350          55          1.9         526.0       1.0X
[info] Parquet Vectorized (Pushdown)                                    3101           3111          14          5.1         197.1       2.7X
[info] Running benchmark: InSet -> InFilters (values count: 5, distribution: 90)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41873 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 11725 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 5, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                               8303           8375          94          1.9         527.9       1.0X
[info] Parquet Vectorized (Pushdown)                                    2307           2345          24          6.8         146.7       3.6X
[info] Running benchmark: InSet -> InFilters (values count: 10, distribution: 10)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41760 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 8029 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 10, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8307           8352          47          1.9         528.1       1.0X
[info] Parquet Vectorized (Pushdown)                                     1588           1606          15          9.9         100.9       5.2X
[info] Running benchmark: InSet -> InFilters (values count: 10, distribution: 50)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41862 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 19294 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 10, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8258           8373          77          1.9         525.0       1.0X
[info] Parquet Vectorized (Pushdown)                                     3814           3859          32          4.1         242.5       2.2X
[info] Running benchmark: InSet -> InFilters (values count: 10, distribution: 90)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41883 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 27256 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 10, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8270           8377          74          1.9         525.8       1.0X
[info] Parquet Vectorized (Pushdown)                                     5332           5451         165          3.0         339.0       1.6X
[info] Running benchmark: InSet -> InFilters (values count: 50, distribution: 10)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43408 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43478 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 50, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8632           8682          35          1.8         548.8       1.0X
[info] Parquet Vectorized (Pushdown)                                     8647           8696          48          1.8         549.8       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 50, distribution: 50)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43469 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43325 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 50, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8653           8694          28          1.8         550.2       1.0X
[info] Parquet Vectorized (Pushdown)                                     8627           8665          39          1.8         548.5       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 50, distribution: 90)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43451 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 44043 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 50, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8622           8690          81          1.8         548.2       1.0X
[info] Parquet Vectorized (Pushdown)                                     8597           8809         208          1.8         546.6       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 100, distribution: 10)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43363 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43095 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 100, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                 8579           8673          98          1.8         545.5       1.0X
[info] Parquet Vectorized (Pushdown)                                      8566           8619          39          1.8         544.6       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 100, distribution: 50)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43184 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43077 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 100, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                 8582           8637          61          1.8         545.6       1.0X
[info] Parquet Vectorized (Pushdown)                                      8530           8615          67          1.8         542.3       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 100, distribution: 90)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 42947 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43033 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 100, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                 8487           8590          98          1.9         539.6       1.0X
[info] Parquet Vectorized (Pushdown)                                      8463           8607         220          1.9         538.1       1.0X
[info] Running benchmark: Select 1 tinyint row (value = CAST(63 AS tinyint))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 19742 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 5910 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 tinyint row (value = CAST(63 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                           3891           3949          70          4.0         247.4       1.0X
[info] Parquet Vectorized (Pushdown)                                1174           1182          16         13.4          74.6       3.3X
[info] Running benchmark: Select 10% tinyint rows (value < CAST(12 AS tinyint))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 23622 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 9787 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% tinyint rows (value < CAST(12 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                              4615           4724         100          3.4         293.4       1.0X
[info] Parquet Vectorized (Pushdown)                                   1924           1958          64          8.2         122.3       2.4X
[info] Running benchmark: Select 50% tinyint rows (value < CAST(63 AS tinyint))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 38379 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 30411 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% tinyint rows (value < CAST(63 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                              7557           7676         108          2.1         480.5       1.0X
[info] Parquet Vectorized (Pushdown)                                   6011           6082          60          2.6         382.2       1.3X
[info] Running benchmark: Select 90% tinyint rows (value < CAST(114 AS tinyint))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 54810 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 54362 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% tinyint rows (value < CAST(114 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                              10670          10962         361          1.5         678.4       1.0X
[info] Parquet Vectorized (Pushdown)                                   10693          10872         224          1.5         679.8       1.0X
[info] Running benchmark: Select 1 timestamp stored as INT96 row (value = timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 21078 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 21416 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -----------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                    4156           4216          67          3.8         264.2       1.0X
[info] Parquet Vectorized (Pushdown)                                                         4151           4283          89          3.8         263.9       1.0X
[info] Running benchmark: Select 10% timestamp stored as INT96 rows (value < timestamp_seconds(1572864))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 25197 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 25234 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] --------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                       4931           5039          71          3.2         313.5       1.0X
[info] Parquet Vectorized (Pushdown)                                                            4923           5047          73          3.2         313.0       1.0X
[info] Running benchmark: Select 50% timestamp stored as INT96 rows (value < timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 40851 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 40816 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] --------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                       7972           8170         127          2.0         506.8       1.0X
[info] Parquet Vectorized (Pushdown)                                                            8056           8163          92          2.0         512.2       1.0X
[info] Running benchmark: Select 90% timestamp stored as INT96 rows (value < timestamp_seconds(14155776))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 56489 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 55908 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] ---------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                       11111          11298         238          1.4         706.4       1.0X
[info] Parquet Vectorized (Pushdown)                                                            11086          11182          66          1.4         704.8       1.0X
[info] Running benchmark: Select 1 timestamp stored as TIMESTAMP_MICROS row (value = timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 17925 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 5612 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                               3504           3585          69          4.5         222.8       1.0X
[info] Parquet Vectorized (Pushdown)                                                                    1119           1123           4         14.1          71.1       3.1X
[info] Running benchmark: Select 10% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(1572864))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 22303 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 9942 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                4365           4461          84          3.6         277.5       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       1905           1988         101          8.3         121.1       2.3X
[info] Running benchmark: Select 50% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 38138 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 30971 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                7534           7628         101          2.1         479.0       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       6010           6194         189          2.6         382.1       1.3X
[info] Running benchmark: Select 90% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(14155776))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 54005 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 52469 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                10649          10801         149          1.5         677.0       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       10307          10494         310          1.5         655.3       1.0X
[info] Running benchmark: Select 1 timestamp stored as TIMESTAMP_MILLIS row (value = timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 18819 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 6081 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                               3738           3764          28          4.2         237.6       1.0X
[info] Parquet Vectorized (Pushdown)                                                                    1190           1216          26         13.2          75.7       3.1X
[info] Running benchmark: Select 10% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(1572864))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 23198 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 10525 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                4586           4640          52          3.4         291.6       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       2009           2105          70          7.8         127.7       2.3X
[info] Running benchmark: Select 50% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 39337 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 33023 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                7766           7868          82          2.0         493.8       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       6404           6605         187          2.5         407.1       1.2X
[info] Running benchmark: Select 90% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(14155776))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 54512 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 53224 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                10833          10902          55          1.5         688.8       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       10499          10645         102          1.5         667.5       1.0X
[info] 00:27:18.540 WARN org.apache.spark.sql.catalyst.util.package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.
[info] Running benchmark: Select 1 row with 1 filters
[info]   Running case: Parquet Vectorized
[info]   Stopped after 12 iterations, 2032 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 12 iterations, 2021 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 row with 1 filters:              Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                  163            169           6          0.0   162707158.0       1.0X
[info] Parquet Vectorized (Pushdown)                       162            168           5          0.0   162184547.0       1.0X
[info] Running benchmark: Select 1 row with 250 filters
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 3930 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4599 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 row with 250 filters:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                  777            786          15          0.0   776511925.0       1.0X
[info] Parquet Vectorized (Pushdown)                       903            920          23          0.0   902964783.0       0.9X
[info] Running benchmark: Select 1 row with 500 filters
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 14782 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 16974 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 row with 500 filters:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 2921           2956          28          0.0<PHONE_NUMBER>.0       1.0X
[info] Parquet Vectorized (Pushdown)                      3383           3395          10          0.0<PHONE_NUMBER>.0       0.9X
[success] Total time: 6276 s (01:44:36), completed Jan 20, 2021 12:28:23 AM

Benchmark code and benchmark result:
/*
 * Licensed to the Apache Software Foundation (ASF) under one or more
 * contributor license agreements.  See the NOTICE file distributed with
 * this work for additional information regarding copyright ownership.
 * The ASF licenses this file to You under the Apache License, Version 2.0
 * (the "License"); you may not use this file except in compliance with
 * the License.  You may obtain a copy of the License at
 *
 *    http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package org.apache.spark.sql.execution.benchmark

import java.io.File

import scala.util.Random

import org.apache.spark.SparkConf
import org.apache.spark.benchmark.Benchmark
import org.apache.spark.sql.{DataFrame, SparkSession}
import org.apache.spark.sql.functions.{monotonically_increasing_id, timestamp_seconds}
import org.apache.spark.sql.internal.SQLConf
import org.apache.spark.sql.internal.SQLConf.ParquetOutputTimestampType
import org.apache.spark.sql.types.{ByteType, Decimal, DecimalType}

object ParquetFilterPushdownBenchmark extends SqlBasedBenchmark {

  override def getSparkSession: SparkSession = {
    val conf = new SparkConf()
      .setAppName(this.getClass.getSimpleName)
      // Since `spark.master` always exists, overrides this value
      .set("spark.master", "local[1]")
      .setIfMissing("spark.driver.memory", "3g")
      .setIfMissing("spark.executor.memory", "3g")
      .setIfMissing("orc.compression", "snappy")
      .setIfMissing("spark.sql.parquet.compression.codec", "snappy")

    SparkSession.builder().config(conf).getOrCreate()
  }

  private val numRows = 1024 * 1024 * 15
  private val width = 5
  private val mid = numRows / 2

  def withTempTable(tableNames: String*)(f: => Unit): Unit = {
    try f finally tableNames.foreach(spark.catalog.dropTempView)
  }

  private def prepareTable(
      dir: File, numRows: Int, width: Int, useStringForValue: Boolean): Unit = {
    import spark.implicits._
    val selectExpr = (1 to width).map(i => s"CAST(value AS STRING) c$i")
    val valueCol = if (useStringForValue) {
      monotonically_increasing_id().cast("string")
    } else {
      monotonically_increasing_id()
    }
    val df = spark.range(numRows).map(_ => Random.nextLong).selectExpr(selectExpr: _*)
      .withColumn("value", valueCol)
      .sort("value")

    saveAsTable(df, dir)
  }

  private def prepareStringDictTable(
      dir: File, numRows: Int, numDistinctValues: Int, width: Int): Unit = {
    val selectExpr = (0 to width).map {
      case 0 => s"CAST(id % $numDistinctValues AS STRING) AS value"
      case i => s"CAST(rand() AS STRING) c$i"
    }
    val df = spark.range(numRows).selectExpr(selectExpr: _*).sort("value")

    saveAsTable(df, dir)
  }

  private def saveAsTable(df: DataFrame, dir: File): Unit = {
    val parquetPath = dir.getCanonicalPath + "/parquet"
    df.write.mode("overwrite").parquet(parquetPath)
    spark.read.parquet(parquetPath).createOrReplaceTempView("parquetTable")
  }

  def filterPushDownBenchmark(
     values: Int,
     title: String,
     whereExpr: String,
     selectExpr: String = "*"): Unit = {
    val benchmark = new Benchmark(title, values, minNumIters = 5, output = output)

    Seq(false, true).foreach { pushDownEnabled =>
      val name = s"Parquet Vectorized ${if (pushDownEnabled) s"(Pushdown)" else ""}"
      benchmark.addCase(name) { _ =>
        withSQLConf(SQLConf.PARQUET_FILTER_PUSHDOWN_ENABLED.key -> s"$pushDownEnabled") {
          spark.sql(s"SELECT $selectExpr FROM parquetTable WHERE $whereExpr").noop()
        }
      }
    }

    benchmark.run()
  }

  private def runIntBenchmark(numRows: Int, width: Int, mid: Int): Unit = {
    Seq("value IS NULL", s"$mid < value AND value < $mid").foreach { whereExpr =>
      val title = s"Select 0 int row ($whereExpr)".replace("value AND value", "value")
      filterPushDownBenchmark(numRows, title, whereExpr)
    }

    Seq(
      s"value = $mid",
      s"value <=> $mid",
      s"$mid <= value AND value <= $mid",
      s"${mid - 1} < value AND value < ${mid + 1}"
    ).foreach { whereExpr =>
      val title = s"Select 1 int row ($whereExpr)".replace("value AND value", "value")
      filterPushDownBenchmark(numRows, title, whereExpr)
    }

    val selectExpr = (1 to width).map(i => s"MAX(c$i)").mkString("", ",", ", MAX(value)")

    Seq(10, 50, 90).foreach { percent =>
      filterPushDownBenchmark(
        numRows,
        s"Select $percent% int rows (value < ${numRows * percent / 100})",
        s"value < ${numRows * percent / 100}",
        selectExpr
      )
    }

    Seq("value IS NOT NULL", "value > -1", "value != -1").foreach { whereExpr =>
      filterPushDownBenchmark(
        numRows,
        s"Select all int rows ($whereExpr)",
        whereExpr,
        selectExpr)
    }
  }

  private def runStringBenchmark(
      numRows: Int, width: Int, searchValue: Int, colType: String): Unit = {
    Seq("value IS NULL", s"'$searchValue' < value AND value < '$searchValue'")
      .foreach { whereExpr =>
        val title = s"Select 0 $colType row ($whereExpr)".replace("value AND value", "value")
        filterPushDownBenchmark(numRows, title, whereExpr)
      }

    Seq(
      s"value = '$searchValue'",
      s"value <=> '$searchValue'",
      s"'$searchValue' <= value AND value <= '$searchValue'"
    ).foreach { whereExpr =>
      val title = s"Select 1 $colType row ($whereExpr)".replace("value AND value", "value")
      filterPushDownBenchmark(numRows, title, whereExpr)
    }

    val selectExpr = (1 to width).map(i => s"MAX(c$i)").mkString("", ",", ", MAX(value)")

    Seq("value IS NOT NULL").foreach { whereExpr =>
      filterPushDownBenchmark(
        numRows,
        s"Select all $colType rows ($whereExpr)",
        whereExpr,
        selectExpr)
    }
  }

  override def runBenchmarkSuite(mainArgs: Array[String]): Unit = {
    runBenchmark("Pushdown for many distinct value case") {
      withTempPath { dir =>
        withTempTable("parquetTable") {
          Seq(true, false).foreach { useStringForValue =>
            prepareTable(dir, numRows, width, useStringForValue)
            if (useStringForValue) {
              runStringBenchmark(numRows, width, mid, "string")
            } else {
              runIntBenchmark(numRows, width, mid)
            }
          }
        }
      }
    }

    runBenchmark("Pushdown for few distinct value case (use dictionary encoding)") {
      withTempPath { dir =>
        val numDistinctValues = 200

        withTempTable("parquetTable") {
          prepareStringDictTable(dir, numRows, numDistinctValues, width)
          runStringBenchmark(numRows, width, numDistinctValues / 2, "distinct string")
        }
      }
    }

    runBenchmark("Pushdown benchmark for StringStartsWith") {
      withTempPath { dir =>
        withTempTable("parquetTable") {
          prepareTable(dir, numRows, width, true)
          Seq(
            "value like '10%'",
            "value like '1000%'",
            s"value like '${mid.toString.substring(0, mid.toString.length - 1)}%'"
          ).foreach { whereExpr =>
            val title = s"StringStartsWith filter: ($whereExpr)"
            filterPushDownBenchmark(numRows, title, whereExpr)
          }
        }
      }
    }

    runBenchmark(s"Pushdown benchmark for ${DecimalType.simpleString}") {
      withTempPath { dir =>
        Seq(
          s"decimal(${Decimal.MAX_INT_DIGITS}, 2)",
          s"decimal(${Decimal.MAX_LONG_DIGITS}, 2)",
          s"decimal(${DecimalType.MAX_PRECISION}, 2)"
        ).foreach { dt =>
          val columns = (1 to width).map(i => s"CAST(id AS string) c$i")
          val valueCol = if (dt.equalsIgnoreCase(s"decimal(${Decimal.MAX_INT_DIGITS}, 2)")) {
            monotonically_increasing_id() % 9999999
          } else {
            monotonically_increasing_id()
          }
          val df = spark.range(numRows)
            .selectExpr(columns: _*).withColumn("value", valueCol.cast(dt))
          withTempTable("parquetTable") {
            saveAsTable(df, dir)

            Seq(s"value = $mid").foreach { whereExpr =>
              val title = s"Select 1 $dt row ($whereExpr)".replace("value AND value", "value")
              filterPushDownBenchmark(numRows, title, whereExpr)
            }

            val selectExpr = (1 to width).map(i => s"MAX(c$i)").mkString("", ",", ", MAX(value)")
            Seq(10, 50, 90).foreach { percent =>
              filterPushDownBenchmark(
                numRows,
                s"Select $percent% $dt rows (value < ${numRows * percent / 100})",
                s"value < ${numRows * percent / 100}",
                selectExpr
              )
            }
          }
        }
      }
    }

    runBenchmark("Pushdown benchmark for InSet -> InFilters") {
      withTempPath { dir =>
        withTempTable("parquetTable") {
          prepareTable(dir, numRows, width, false)
          Seq(5, 10, 50, 100).foreach { count =>
            Seq(10, 50, 90).foreach { distribution =>
              val filter =
                Range(0, count).map(r => scala.util.Random.nextInt(numRows * distribution / 100))
              val whereExpr = s"value in(${filter.mkString(",")})"
              val title = s"InSet -> InFilters (values count: $count, distribution: $distribution)"
              filterPushDownBenchmark(numRows, title, whereExpr)
            }
          }
        }
      }
    }

    runBenchmark(s"Pushdown benchmark for ${ByteType.simpleString}") {
      withTempPath { dir =>
        val columns = (1 to width).map(i => s"CAST(id AS string) c$i")
        val df = spark.range(numRows).selectExpr(columns: _*)
          .withColumn("value", (monotonically_increasing_id() % Byte.MaxValue).cast(ByteType))
          .orderBy("value")
        withTempTable("parquetTable") {
          saveAsTable(df, dir)

          Seq(s"value = CAST(${Byte.MaxValue / 2} AS ${ByteType.simpleString})")
            .foreach { whereExpr =>
              val title = s"Select 1 ${ByteType.simpleString} row ($whereExpr)"
                .replace("value AND value", "value")
              filterPushDownBenchmark(numRows, title, whereExpr)
            }

          val selectExpr = (1 to width).map(i => s"MAX(c$i)").mkString("", ",", ", MAX(value)")
          Seq(10, 50, 90).foreach { percent =>
            filterPushDownBenchmark(
              numRows,
              s"Select $percent% ${ByteType.simpleString} rows " +
                s"(value < CAST(${Byte.MaxValue * percent / 100} AS ${ByteType.simpleString}))",
              s"value < CAST(${Byte.MaxValue * percent / 100} AS ${ByteType.simpleString})",
              selectExpr
            )
          }
        }
      }
    }

    runBenchmark(s"Pushdown benchmark for Timestamp") {
      withTempPath { dir =>
        withSQLConf(SQLConf.PARQUET_FILTER_PUSHDOWN_TIMESTAMP_ENABLED.key -> true.toString) {
          ParquetOutputTimestampType.values.toSeq.map(_.toString).foreach { fileType =>
            withSQLConf(SQLConf.PARQUET_OUTPUT_TIMESTAMP_TYPE.key -> fileType) {
              val columns = (1 to width).map(i => s"CAST(id AS string) c$i")
              val df = spark.range(numRows).selectExpr(columns: _*)
                .withColumn("value", timestamp_seconds(monotonically_increasing_id()))
              withTempTable("parquetTable") {
                saveAsTable(df, dir)

                Seq(s"value = timestamp_seconds($mid)").foreach { whereExpr =>
                  val title = s"Select 1 timestamp stored as $fileType row ($whereExpr)"
                    .replace("value AND value", "value")
                  filterPushDownBenchmark(numRows, title, whereExpr)
                }

                val selectExpr = (1 to width)
                  .map(i => s"MAX(c$i)").mkString("", ",", ", MAX(value)")
                Seq(10, 50, 90).foreach { percent =>
                  filterPushDownBenchmark(
                    numRows,
                    s"Select $percent% timestamp stored as $fileType rows " +
                      s"(value < timestamp_seconds(${numRows * percent / 100}))",
                    s"value < timestamp_seconds(${numRows * percent / 100})",
                    selectExpr
                  )
                }
              }
            }
          }
        }
      }
    }

    runBenchmark(s"Pushdown benchmark with many filters") {
      val numRows = 1
      val width = 500

      withTempPath { dir =>
        val columns = (1 to width).map(i => s"id c$i")
        val df = spark.range(1).selectExpr(columns: _*)
        withTempTable("parquetTable") {
          saveAsTable(df, dir)
          Seq(1, 250, 500).foreach { numFilter =>
            val whereExpr = (1 to numFilter).map(i => s"c$i = 0").mkString(" and ")
            // Note: InferFiltersFromConstraints will add more filters to this given filters
            filterPushDownBenchmark(numRows, s"Select 1 row with $numFilter filters", whereExpr)
          }
        }
      }
    }
  }
}

Parquet 1.10.1:
[info] 18:42:20.840 WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[info] Running benchmark: Select 0 string row (value IS NULL)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43822 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 20 iterations, 2066 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 0 string row (value IS NULL):      Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 8669           8765          94          1.8         551.1       1.0X
[info] Parquet Vectorized (Pushdown)                        87            103          10        180.0           5.6      99.2X
[info] Running benchmark: Select 0 string row ('7864320' < value < '7864320')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 44140 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4492 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 0 string row ('7864320' < value < '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -----------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                            8729           8828          88          1.8         555.0       1.0X
[info] Parquet Vectorized (Pushdown)                                  888            898          12         17.7          56.5       9.8X
[info] Running benchmark: Select 1 string row (value = '7864320')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43788 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4415 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 string row (value = '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 8679           8758          69          1.8         551.8       1.0X
[info] Parquet Vectorized (Pushdown)                       868            883          13         18.1          55.2      10.0X
[info] Running benchmark: Select 1 string row (value <=> '7864320')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43544 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4352 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 string row (value <=> '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                  8648           8709          54          1.8         549.8       1.0X
[info] Parquet Vectorized (Pushdown)                        861            870           8         18.3          54.7      10.0X
[info] Running benchmark: Select 1 string row ('7864320' <= value <= '7864320')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43898 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4415 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 string row ('7864320' <= value <= '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                              8711           8780          94          1.8         553.8       1.0X
[info] Parquet Vectorized (Pushdown)                                    870            883           8         18.1          55.3      10.0X
[info] Running benchmark: Select all string rows (value IS NOT NULL)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 85779 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 85130 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select all string rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                  17006          17156         139          0.9        1081.2       1.0X
[info] Parquet Vectorized (Pushdown)                       16922          17026         112          0.9        1075.9       1.0X
[info] Running benchmark: Select 0 int row (value IS NULL)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41677 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 26 iterations, 2042 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 0 int row (value IS NULL):         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 8277           8336          58          1.9         526.2       1.0X
[info] Parquet Vectorized (Pushdown)                        74             79           5        213.9           4.7     112.5X
[info] Running benchmark: Select 0 int row (7864320 < value < 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41824 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4201 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 0 int row (7864320 < value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                     8274           8365          82          1.9         526.1       1.0X
[info] Parquet Vectorized (Pushdown)                           813            840          18         19.3          51.7      10.2X
[info] Running benchmark: Select 1 int row (value = 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41763 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4392 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 int row (value = 7864320):       Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 8218           8353          90          1.9         522.5       1.0X
[info] Parquet Vectorized (Pushdown)                       857            879          18         18.4          54.5       9.6X
[info] Running benchmark: Select 1 int row (value <=> 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41937 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4133 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 int row (value <=> 7864320):     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 8275           8387         112          1.9         526.1       1.0X
[info] Parquet Vectorized (Pushdown)                       816            827          11         19.3          51.9      10.1X
[info] Running benchmark: Select 1 int row (7864320 <= value <= 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41648 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4247 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 int row (7864320 <= value <= 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                       8299           8330          26          1.9         527.6       1.0X
[info] Parquet Vectorized (Pushdown)                             818            849          22         19.2          52.0      10.1X
[info] Running benchmark: Select 1 int row (7864319 < value < 7864321)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41604 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4159 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 int row (7864319 < value < 7864321):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                     8228           8321          74          1.9         523.1       1.0X
[info] Parquet Vectorized (Pushdown)                           814            832          11         19.3          51.7      10.1X
[info] Running benchmark: Select 10% int rows (value < 1572864)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 45888 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 12000 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% int rows (value < 1572864):    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 9131           9178          41          1.7         580.6       1.0X
[info] Parquet Vectorized (Pushdown)                      2377           2400          17          6.6         151.1       3.8X
[info] Running benchmark: Select 50% int rows (value < 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 61875 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 42681 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% int rows (value < 7864320):    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                12166          12375         226          1.3         773.5       1.0X
[info] Parquet Vectorized (Pushdown)                      8408           8536         106          1.9         534.6       1.4X
[info] Running benchmark: Select 90% int rows (value < 14155776)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 76034 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 72997 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% int rows (value < 14155776):   Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                15098          15207          74          1.0         959.9       1.0X
[info] Parquet Vectorized (Pushdown)                     14390          14599         127          1.1         914.9       1.0X
[info] Running benchmark: Select all int rows (value IS NOT NULL)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 80290 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 81014 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select all int rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                15749          16058         199          1.0        1001.3       1.0X
[info] Parquet Vectorized (Pushdown)                     16147          16203          69          1.0        1026.6       1.0X
[info] Running benchmark: Select all int rows (value > -1)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 81133 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 81411 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select all int rows (value > -1):         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                16103          16227         111          1.0        1023.8       1.0X
[info] Parquet Vectorized (Pushdown)                     16125          16282         142          1.0        1025.2       1.0X
[info] Running benchmark: Select all int rows (value != -1)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 81013 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 80343 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select all int rows (value != -1):        Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                16073          16203         117          1.0        1021.9       1.0X
[info] Parquet Vectorized (Pushdown)                     15942          16069          84          1.0        1013.6       1.0X
[info] Running benchmark: Select 0 distinct string row (value IS NULL)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 40258 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 31 iterations, 2054 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 0 distinct string row (value IS NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                     7953           8052          84          2.0         505.7       1.0X
[info] Parquet Vectorized (Pushdown)                            62             66           6        253.5           3.9     128.2X
[info] Running benchmark: Select 0 distinct string row ('100' < value < '100')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 40734 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4731 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 0 distinct string row ('100' < value < '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                             8026           8147          73          2.0         510.3       1.0X
[info] Parquet Vectorized (Pushdown)                                   939            946           6         16.8          59.7       8.5X
[info] Running benchmark: Select 1 distinct string row (value = '100')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 40674 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4874 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 distinct string row (value = '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                     8034           8135          87          2.0         510.8       1.0X
[info] Parquet Vectorized (Pushdown)                           957            975          27         16.4          60.9       8.4X
[info] Running benchmark: Select 1 distinct string row (value <=> '100')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 40781 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4698 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 distinct string row (value <=> '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                       8112           8156          39          1.9         515.7       1.0X
[info] Parquet Vectorized (Pushdown)                             926            940           9         17.0          58.9       8.8X
[info] Running benchmark: Select 1 distinct string row ('100' <= value <= '100')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41005 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 5174 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 distinct string row ('100' <= value <= '100'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                               8151           8201          42          1.9         518.2       1.0X
[info] Parquet Vectorized (Pushdown)                                    1014           1035          32         15.5          64.5       8.0X
[info] Running benchmark: Select all distinct string rows (value IS NOT NULL)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 89835 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 90269 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select all distinct string rows (value IS NOT NULL):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -----------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                           17886          17967          56          0.9        1137.2       1.0X
[info] Parquet Vectorized (Pushdown)                                17979          18054         100          0.9        1143.0       1.0X
[info] Running benchmark: StringStartsWith filter: (value like '10%')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 46786 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 5455 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] StringStartsWith filter: (value like '10%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                    9191           9357         168          1.7         584.4       1.0X
[info] Parquet Vectorized (Pushdown)                         1075           1091          11         14.6          68.4       8.5X
[info] Running benchmark: StringStartsWith filter: (value like '1000%')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 45468 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4483 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] StringStartsWith filter: (value like '1000%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                      9017           9094         116          1.7         573.3       1.0X
[info] Parquet Vectorized (Pushdown)                            888            897           7         17.7          56.5      10.1X
[info] Running benchmark: StringStartsWith filter: (value like '786432%')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 45429 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4428 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] StringStartsWith filter: (value like '786432%'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                        9037           9086          55          1.7         574.6       1.0X
[info] Parquet Vectorized (Pushdown)                              864            886          17         18.2          55.0      10.5X
[info] Running benchmark: Select 1 decimal(9, 2) row (value = 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 17614 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 5788 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 decimal(9, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                     3488           3523          27          4.5         221.8       1.0X
[info] Parquet Vectorized (Pushdown)                          1148           1158          11         13.7          73.0       3.0X
[info] Running benchmark: Select 10% decimal(9, 2) rows (value < 1572864)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 25815 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 25522 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% decimal(9, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                        5117           5163          63          3.1         325.3       1.0X
[info] Parquet Vectorized (Pushdown)                             5044           5104          55          3.1         320.7       1.0X
[info] Running benchmark: Select 50% decimal(9, 2) rows (value < 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 52939 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 52691 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% decimal(9, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                       10443          10588         116          1.5         663.9       1.0X
[info] Parquet Vectorized (Pushdown)                            10388          10538         173          1.5         660.5       1.0X
[info] Running benchmark: Select 90% decimal(9, 2) rows (value < 14155776)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 58989 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 59164 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% decimal(9, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                        11676          11798          96          1.3         742.3       1.0X
[info] Parquet Vectorized (Pushdown)                             11718          11833         112          1.3         745.0       1.0X
[info] Running benchmark: Select 1 decimal(18, 2) row (value = 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 18284 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 5992 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 decimal(18, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                      3583           3657          49          4.4         227.8       1.0X
[info] Parquet Vectorized (Pushdown)                           1187           1198           7         13.2          75.5       3.0X
[info] Running benchmark: Select 10% decimal(18, 2) rows (value < 1572864)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 23432 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 10519 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% decimal(18, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         4603           4686          77          3.4         292.7       1.0X
[info] Parquet Vectorized (Pushdown)                              2058           2104          92          7.6         130.8       2.2X
[info] Running benchmark: Select 50% decimal(18, 2) rows (value < 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 39380 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 32688 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% decimal(18, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         7805           7876          86          2.0         496.2       1.0X
[info] Parquet Vectorized (Pushdown)                              6475           6538          68          2.4         411.6       1.2X
[info] Running benchmark: Select 90% decimal(18, 2) rows (value < 14155776)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 55690 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 54683 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% decimal(18, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         11000          11138         112          1.4         699.3       1.0X
[info] Parquet Vectorized (Pushdown)                              10764          10937         125          1.5         684.4       1.0X
[info] Running benchmark: Select 1 decimal(38, 2) row (value = 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 29479 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 9146 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 decimal(38, 2) row (value = 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -----------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                      5655           5896         242          2.8         359.6       1.0X
[info] Parquet Vectorized (Pushdown)                           1808           1829          18          8.7         115.0       3.1X
[info] Running benchmark: Select 10% decimal(38, 2) rows (value < 1572864)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 34809 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 14529 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% decimal(38, 2) rows (value < 1572864):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         6878           6962          62          2.3         437.3       1.0X
[info] Parquet Vectorized (Pushdown)                              2861           2906          69          5.5         181.9       2.4X
[info] Running benchmark: Select 50% decimal(38, 2) rows (value < 7864320)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 55777 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 44400 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% decimal(38, 2) rows (value < 7864320):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                        10967          11155         151          1.4         697.3       1.0X
[info] Parquet Vectorized (Pushdown)                              8769           8880         111          1.8         557.5       1.3X
[info] Running benchmark: Select 90% decimal(38, 2) rows (value < 14155776)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 75507 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 73697 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% decimal(38, 2) rows (value < 14155776):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                         14916          15101         115          1.1         948.3       1.0X
[info] Parquet Vectorized (Pushdown)                              14623          14740         103          1.1         929.7       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 5, distribution: 10)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 42201 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4194 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 5, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                               8280           8440          93          1.9         526.4       1.0X
[info] Parquet Vectorized (Pushdown)                                     813            839          19         19.4          51.7      10.2X
[info] Running benchmark: InSet -> InFilters (values count: 5, distribution: 50)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41743 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 15602 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 5, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                               8263           8349          87          1.9         525.3       1.0X
[info] Parquet Vectorized (Pushdown)                                    3108           3120          10          5.1         197.6       2.7X
[info] Running benchmark: InSet -> InFilters (values count: 5, distribution: 90)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 42229 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 15575 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 5, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                               8356           8446          89          1.9         531.2       1.0X
[info] Parquet Vectorized (Pushdown)                                    3062           3115          64          5.1         194.7       2.7X
[info] Running benchmark: InSet -> InFilters (values count: 10, distribution: 10)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 42041 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 8012 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 10, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8317           8408          77          1.9         528.7       1.0X
[info] Parquet Vectorized (Pushdown)                                     1577           1603          21         10.0         100.2       5.3X
[info] Running benchmark: InSet -> InFilters (values count: 10, distribution: 50)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 41870 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 15558 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 10, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8321           8374          43          1.9         529.0       1.0X
[info] Parquet Vectorized (Pushdown)                                     3069           3112          40          5.1         195.1       2.7X
[info] Running benchmark: InSet -> InFilters (values count: 10, distribution: 90)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 42102 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 19401 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 10, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8382           8420          46          1.9         532.9       1.0X
[info] Parquet Vectorized (Pushdown)                                     3865           3880          17          4.1         245.7       2.2X
[info] Running benchmark: InSet -> InFilters (values count: 50, distribution: 10)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43390 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 44089 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 50, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8594           8678          85          1.8         546.4       1.0X
[info] Parquet Vectorized (Pushdown)                                     8710           8818         141          1.8         553.7       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 50, distribution: 50)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43434 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43449 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 50, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8643           8687          32          1.8         549.5       1.0X
[info] Parquet Vectorized (Pushdown)                                     8537           8690         142          1.8         542.8       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 50, distribution: 90)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43472 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43329 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 50, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ---------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                8633           8695          65          1.8         548.9       1.0X
[info] Parquet Vectorized (Pushdown)                                     8635           8666          29          1.8         549.0       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 100, distribution: 10)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 42939 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43868 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 100, distribution: 10):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                 8486           8588          81          1.9         539.6       1.0X
[info] Parquet Vectorized (Pushdown)                                      8663           8774         175          1.8         550.8       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 100, distribution: 50)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43116 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43589 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 100, distribution: 50):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                 8566           8623          46          1.8         544.6       1.0X
[info] Parquet Vectorized (Pushdown)                                      8646           8718          84          1.8         549.7       1.0X
[info] Running benchmark: InSet -> InFilters (values count: 100, distribution: 90)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 43544 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 43485 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] InSet -> InFilters (values count: 100, distribution: 90):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                 8639           8709          56          1.8         549.3       1.0X
[info] Parquet Vectorized (Pushdown)                                      8638           8697          53          1.8         549.2       1.0X
[info] Running benchmark: Select 1 tinyint row (value = CAST(63 AS tinyint))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 19550 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 6223 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 tinyint row (value = CAST(63 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ----------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                           3749           3910         147          4.2         238.3       1.0X
[info] Parquet Vectorized (Pushdown)                                1184           1245          44         13.3          75.3       3.2X
[info] Running benchmark: Select 10% tinyint rows (value < CAST(12 AS tinyint))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 23026 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 9723 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 10% tinyint rows (value < CAST(12 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                              4552           4605          46          3.5         289.4       1.0X
[info] Parquet Vectorized (Pushdown)                                   1906           1945          52          8.3         121.2       2.4X
[info] Running benchmark: Select 50% tinyint rows (value < CAST(63 AS tinyint))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 38202 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 30731 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 50% tinyint rows (value < CAST(63 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                              7511           7641         103          2.1         477.6       1.0X
[info] Parquet Vectorized (Pushdown)                                   6108           6146          49          2.6         388.3       1.2X
[info] Running benchmark: Select 90% tinyint rows (value < CAST(114 AS tinyint))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 54038 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 53985 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 90% tinyint rows (value < CAST(114 AS tinyint)):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] --------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                              10695          10808          92          1.5         680.0       1.0X
[info] Parquet Vectorized (Pushdown)                                   10648          10797         137          1.5         677.0       1.0X
[info] Running benchmark: Select 1 timestamp stored as INT96 row (value = timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 21389 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 20900 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -----------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                    4173           4278          82          3.8         265.3       1.0X
[info] Parquet Vectorized (Pushdown)                                                         4130           4180          37          3.8         262.6       1.0X
[info] Running benchmark: Select 10% timestamp stored as INT96 rows (value < timestamp_seconds(1572864))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 25237 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 25245 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] --------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                       4985           5047          67          3.2         316.9       1.0X
[info] Parquet Vectorized (Pushdown)                                                            4968           5049          73          3.2         315.9       1.0X
[info] Running benchmark: Select 50% timestamp stored as INT96 rows (value < timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 40629 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 40929 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] --------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                       8005           8126         109          2.0         509.0       1.0X
[info] Parquet Vectorized (Pushdown)                                                            8087           8186          67          1.9         514.2       1.0X
[info] Running benchmark: Select 90% timestamp stored as INT96 rows (value < timestamp_seconds(14155776))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 55942 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 56599 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] ---------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                       10905          11189         178          1.4         693.3       1.0X
[info] Parquet Vectorized (Pushdown)                                                            11054          11320         203          1.4         702.8       1.0X
[info] Running benchmark: Select 1 timestamp stored as TIMESTAMP_MICROS row (value = timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 17659 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 5428 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                               3475           3532          43          4.5         220.9       1.0X
[info] Parquet Vectorized (Pushdown)                                                                    1072           1086           9         14.7          68.2       3.2X
[info] Running benchmark: Select 10% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(1572864))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 21779 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 9752 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                4344           4356           9          3.6         276.2       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       1874           1950          87          8.4         119.2       2.3X
[info] Running benchmark: Select 50% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 37830 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 30583 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                7478           7566         120          2.1         475.5       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       6034           6117          97          2.6         383.6       1.2X
[info] Running benchmark: Select 90% timestamp stored as TIMESTAMP_MICROS rows (value < timestamp_seconds(14155776))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 52857 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 53101 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                10443          10571         129          1.5         664.0       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       10491          10620         215          1.5         667.0       1.0X
[info] Running benchmark: Select 1 timestamp stored as TIMESTAMP_MILLIS row (value = timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 18656 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 5916 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] ----------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                               3718           3731          24          4.2         236.4       1.0X
[info] Parquet Vectorized (Pushdown)                                                                    1157           1183          17         13.6          73.6       3.2X
[info] Running benchmark: Select 10% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(1572864))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 22909 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 10248 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                4568           4582          16          3.4         290.4       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       2005           2050          51          7.8         127.5       2.3X
[info] Running benchmark: Select 50% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(7864320))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 38751 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 31321 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] -------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                7651           7750          89          2.1         486.4       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       6198           6264          94          2.5         394.1       1.2X
[info] Running benchmark: Select 90% timestamp stored as TIMESTAMP_MILLIS rows (value < timestamp_seconds(14155776))
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 53723 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 53353 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] 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
[info] --------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                                                                10563          10745         117          1.5         671.6       1.0X
[info] Parquet Vectorized (Pushdown)                                                                       10542          10671         147          1.5         670.2       1.0X
[info] 20:25:52.074 WARN org.apache.spark.sql.catalyst.util.package: Truncated the string representation of a plan since it was too large. This behavior can be adjusted by setting 'spark.sql.debug.maxToStringFields'.
[info] Running benchmark: Select 1 row with 1 filters
[info]   Running case: Parquet Vectorized
[info]   Stopped after 12 iterations, 2085 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 13 iterations, 2161 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 row with 1 filters:              Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                  163            174          13          0.0   162534801.0       1.0X
[info] Parquet Vectorized (Pushdown)                       161            166           5          0.0   161189323.0       1.0X
[info] Running benchmark: Select 1 row with 250 filters
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 4092 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4668 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 row with 250 filters:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                  806            819          19          0.0   806155381.0       1.0X
[info] Parquet Vectorized (Pushdown)                       910            934          17          0.0   909761809.0       0.9X
[info] Running benchmark: Select 1 row with 500 filters
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 15143 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 17252 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 row with 500 filters:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 2994           3029          23          0.0<PHONE_NUMBER>.0       1.0X
[info] Parquet Vectorized (Pushdown)                      3438           3451          12          0.0<PHONE_NUMBER>.0       0.9X
[success] Total time: 6320 s (01:45:20), completed Jan 19, 2021 8:26:57 PM

Parquet 1.11.1:
[info] 22:44:02.552 WARN org.apache.hadoop.util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
[info] Running benchmark: Select 0 string row (value IS NULL)
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 44098 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 20 iterations, 2028 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 0 string row (value IS NULL):      Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 8753           8820          84          1.8         556.5       1.0X
[info] Parquet Vectorized (Pushdown)                        89            101          10        177.7           5.6      98.9X
[info] Running benchmark: Select 0 string row ('7864320' < value < '7864320')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 44149 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4627 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 0 string row ('7864320' < value < '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -----------------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                            8774           8830          47          1.8         557.8       1.0X
[info] Parquet Vectorized (Pushdown)                                  906            926          15         17.4          57.6       9.7X
[info] Running benchmark: Select 1 string row (value = '7864320')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 44520 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4633 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 string row (value = '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] ------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                 8780           8904          82          1.8         558.2       1.0X
[info] Parquet Vectorized (Pushdown)                       901            927          22         17.5          57.3       9.7X
[info] Running benchmark: Select 1 string row (value <=> '7864320')
[info]   Running case: Parquet Vectorized
[info]   Stopped after 5 iterations, 44581 ms
[info]   Running case: Parquet Vectorized (Pushdown)
[info]   Stopped after 5 iterations, 4554 ms
[info] Java HotSpot(TM) 64-Bit Server VM 1.8.0_221-b11 on Linux 3.10.0-957.10.1.el7.x86_64
[info] Intel Core Processor (Broadwell, IBRS)
[info] Select 1 string row (value <=> '7864320'):  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
[info] -------------------------------------------------------------------------------------------------------------------------
[info] Parquet Vectorized                                  8899           8916          10          1.8         565.8       1.0X
[info] Parquet Vectorized (Pushdown)                        897            911          15         17.5          57.1       9.9X
[info] Running benchmark: Select 1 string row ('7864320' <= value <= '7864320')