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

OpenJDK 64-Bit Server VM 1.8.0_352-b08 on Linux 5.15.0-1023-azure
Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
Parsing quoted values:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
One quoted string                                 44770          44842          76          0.0      895400.1       1.0X

OpenJDK 64-Bit Server VM 1.8.0_352-b08 on Linux 5.15.0-1023-azure
Intel(R) Xeon(R) Platinum 8272CL 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                               88565          90470        1788          0.0       88564.7       1.0X
Select 100 columns                                33674          35482         NaN          0.0       33674.4       2.6X
Select one column                                 28132          28459         558          0.0       28132.1       3.1X
count()                                            8464          10402        1795          0.1        8463.5      10.5X
Select 100 columns, one bad input field           47477          49097         NaN          0.0       47477.1       1.9X
Select 100 columns, corrupt record field          56866          56946         132          0.0       56866.0       1.6X

OpenJDK 64-Bit Server VM 1.8.0_352-b08 on Linux 5.15.0-1023-azure
Intel(R) Xeon(R) Platinum 8272CL 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()                       13081          13103          31          0.8        1308.1       1.0X
Select 1 column + count()                          8198           8241          40          1.2         819.8       1.6X
count()                                            2951           2953           2          3.4         295.1       4.4X

OpenJDK 64-Bit Server VM 1.8.0_352-b08 on Linux 5.15.0-1023-azure
Intel(R) Xeon(R) Platinum 8272CL 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                     1188           1200          12          8.4         118.8       1.0X
to_csv(timestamp)                                 10680          10715          57          0.9        1068.0       0.1X
write timestamps to files                          9354           9356           3          1.1         935.4       0.1X
Create a dataset of dates                          1441           1444           3          6.9         144.1       0.8X
to_csv(date)                                       6891           6895           4          1.5         689.1       0.2X
write dates to files                               5473           5496          21          1.8         547.3       0.2X

OpenJDK 64-Bit Server VM 1.8.0_352-b08 on Linux 5.15.0-1023-azure
Intel(R) Xeon(R) Platinum 8272CL 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                     1828           1837          13          5.5         182.8       1.0X
read timestamps from files                        24222          24244          38          0.4        2422.2       0.1X
infer timestamps from files                       48575          48606          36          0.2        4857.5       0.0X
read date text from files                          1633           1639           6          6.1         163.3       1.1X
read date from files                              11356          11396          41          0.9        1135.6       0.2X
infer date from files                             23498          23574          92          0.4        2349.8       0.1X
timestamp strings                                  2624           2629           5          3.8         262.4       0.7X
parse timestamps from Dataset[String]             26439          26484          38          0.4        2643.9       0.1X
infer timestamps from Dataset[String]             51561          51636          68          0.2        5156.1       0.0X
date strings                                       2744           2753           9          3.6         274.4       0.7X
parse dates from Dataset[String]                  13468          13493          26          0.7        1346.8       0.1X
from_csv(timestamp)                               24980          25013          28          0.4        2498.0       0.1X
from_csv(date)                                    13050          13054           7          0.8        1305.0       0.1X

OpenJDK 64-Bit Server VM 1.8.0_352-b08 on Linux 5.15.0-1023-azure
Intel(R) Xeon(R) Platinum 8272CL CPU @ 2.60GHz
Filters pushdown:                         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
w/o filters                                       16574          16606          32          0.0      165735.5       1.0X
pushdown disabled                                 16585          16592          10          0.0      165852.0       1.0X
w/ filters                                         1184           1190           7          0.1       11844.2      14.0X


