================================================================================================
Benchmark to measure CSV read/write performance
================================================================================================

OpenJDK 64-Bit Server VM 11.0.19+7 on Linux 5.15.0-1040-azure
Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Parsing quoted values:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
One quoted string                                 43871          44151         336          0.0      877415.7       1.0X

OpenJDK 64-Bit Server VM 11.0.19+7 on Linux 5.15.0-1040-azure
Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Wide rows with 1000 columns:              Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Select 1000 columns                              115001         115810        1382          0.0      115001.2       1.0X
Select 100 columns                                45575          45646          84          0.0       45575.5       2.5X
Select one column                                 38701          38744          67          0.0       38700.7       3.0X
count()                                            8544           8556          12          0.1        8544.0      13.5X
Select 100 columns, one bad input field           67789          67841          79          0.0       67788.5       1.7X
Select 100 columns, corrupt record field          74026          74050          26          0.0       74026.4       1.6X

OpenJDK 64-Bit Server VM 11.0.19+7 on Linux 5.15.0-1040-azure
Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Count a dataset with 10 columns:          Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Select 10 columns + count()                       16855          16980         179          0.6        1685.5       1.0X
Select 1 column + count()                         11053          11075          29          0.9        1105.3       1.5X
count()                                            3646           3664          17          2.7         364.6       4.6X

OpenJDK 64-Bit Server VM 11.0.19+7 on Linux 5.15.0-1040-azure
Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Write dates and timestamps:               Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Create a dataset of timestamps                     1864           1904          35          5.4         186.4       1.0X
to_csv(timestamp)                                 12050          12258         279          0.8        1205.0       0.2X
write timestamps to files                         12564          12586          22          0.8        1256.4       0.1X
Create a dataset of dates                          2093           2106          20          4.8         209.3       0.9X
to_csv(date)                                       7216           7236          33          1.4         721.6       0.3X
write dates to files                               7300           7382          71          1.4         730.0       0.3X

OpenJDK 64-Bit Server VM 11.0.19+7 on Linux 5.15.0-1040-azure
Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Read dates and timestamps:                                             Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------------------------------
read timestamp text from files                                                  2432           2458          40          4.1         243.2       1.0X
read timestamps from files                                                     31897          31950          79          0.3        3189.7       0.1X
infer timestamps from files                                                    65093          65196          90          0.2        6509.3       0.0X
read date text from files                                                       2201           2211          15          4.5         220.1       1.1X
read date from files                                                           16138          18869         NaN          0.6        1613.8       0.2X
infer date from files                                                          33633          33742         126          0.3        3363.3       0.1X
timestamp strings                                                               2909           2930          34          3.4         290.9       0.8X
parse timestamps from Dataset[String]                                          34951          34984          39          0.3        3495.1       0.1X
infer timestamps from Dataset[String]                                          68347          68448          92          0.1        6834.7       0.0X
date strings                                                                    3234           3256          24          3.1         323.4       0.8X
parse dates from Dataset[String]                                               18591          18657          96          0.5        1859.1       0.1X
from_csv(timestamp)                                                            32386          32476          78          0.3        3238.6       0.1X
from_csv(date)                                                                 17333          17402          67          0.6        1733.3       0.1X
infer error timestamps from Dataset[String] with default format                21486          21565          68          0.5        2148.6       0.1X
infer error timestamps from Dataset[String] with user-provided format          21683          21697          16          0.5        2168.3       0.1X
infer error timestamps from Dataset[String] with legacy format                 21327          21379          85          0.5        2132.7       0.1X

OpenJDK 64-Bit Server VM 11.0.19+7 on Linux 5.15.0-1040-azure
Intel(R) Xeon(R) Platinum 8171M CPU @ 2.60GHz
Filters pushdown:                         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
w/o filters                                       22031          22075          46          0.0      220305.7       1.0X
pushdown disabled                                 21935          21958          21          0.0      219353.1       1.0X
w/ filters                                         1466           1481          15          0.1       14662.5      15.0X


