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

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.0-1020-azure
AMD EPYC 7763 64-Core Processor
Parsing quoted values:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
One quoted string                                 24626          24670          43          0.0      492514.1       1.0X

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.0-1020-azure
AMD EPYC 7763 64-Core Processor
Wide rows with 1000 columns:              Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Select 1000 columns                               51490          52060         751          0.0       51489.8       1.0X
Select 100 columns                                22350          22409          52          0.0       22349.9       2.3X
Select one column                                 19397          19463         110          0.1       19397.4       2.7X
count()                                            3518           3521           4          0.3        3517.6      14.6X
Select 100 columns, one bad input field           27426          27460          48          0.0       27425.9       1.9X
Select 100 columns, corrupt record field          30873          30931          59          0.0       30872.7       1.7X

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.0-1020-azure
AMD EPYC 7763 64-Core Processor
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()                        9260           9278          26          1.1         926.0       1.0X
Select 1 column + count()                          6719           6732          15          1.5         671.9       1.4X
count()                                            1605           1606           1          6.2         160.5       5.8X

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.0-1020-azure
AMD EPYC 7763 64-Core Processor
Write dates and timestamps:               Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Create a dataset of timestamps                      853            872          30         11.7          85.3       1.0X
to_csv(timestamp)                                  6321           6364          37          1.6         632.1       0.1X
write timestamps to files                          6787           6802          14          1.5         678.7       0.1X
Create a dataset of dates                           972            978           9         10.3          97.2       0.9X
to_csv(date)                                       4729           4734           8          2.1         472.9       0.2X
write dates to files                               4759           4771          12          2.1         475.9       0.2X

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.0-1020-azure
AMD EPYC 7763 64-Core Processor
Read dates and timestamps:                                             Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------------------------------
read timestamp text from files                                                  1229           1242          19          8.1         122.9       1.0X
read timestamps from files                                                      9798           9822          20          1.0         979.8       0.1X
infer timestamps from files                                                    19462          19478          24          0.5        1946.2       0.1X
read date text from files                                                       1116           1119           2          9.0         111.6       1.1X
read date from files                                                            9909           9922          12          1.0         990.9       0.1X
infer date from files                                                          20206          20218          19          0.5        2020.6       0.1X
timestamp strings                                                               1240           1243           3          8.1         124.0       1.0X
parse timestamps from Dataset[String]                                          11635          11649          12          0.9        1163.5       0.1X
infer timestamps from Dataset[String]                                          21255          21265           9          0.5        2125.5       0.1X
date strings                                                                    1785           1787           3          5.6         178.5       0.7X
parse dates from Dataset[String]                                               11553          11571          17          0.9        1155.3       0.1X
from_csv(timestamp)                                                             9827           9833           5          1.0         982.7       0.1X
from_csv(date)                                                                 10621          10635          12          0.9        1062.1       0.1X
infer error timestamps from Dataset[String] with default format                12066          12074          12          0.8        1206.6       0.1X
infer error timestamps from Dataset[String] with user-provided format          12061          12066           6          0.8        1206.1       0.1X
infer error timestamps from Dataset[String] with legacy format                 12033          12042           9          0.8        1203.3       0.1X

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.0-1020-azure
AMD EPYC 7763 64-Core Processor
Filters pushdown:                         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
w/o filters                                        4092           4098           6          0.0       40917.6       1.0X
pushdown disabled                                  3990           4009          20          0.0       39897.7       1.0X
w/ filters                                          717            721           4          0.1        7170.8       5.7X

OpenJDK 64-Bit Server VM 17.0.14+7-LTS on Linux 6.8.0-1020-azure
AMD EPYC 7763 64-Core Processor
Interval:                                 Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Read as Intervals                                   699            705           6          0.4        2331.5       1.0X
Read Raw Strings                                    274            279           5          1.1         911.8       2.6X


