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

OpenJDK 64-Bit Server VM 17.0.11+9-LTS on Linux 6.5.0-1018-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                                 24681          24724          74          0.0      493616.4       1.0X

OpenJDK 64-Bit Server VM 17.0.11+9-LTS on Linux 6.5.0-1018-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                               55362          55719         576          0.0       55361.6       1.0X
Select 100 columns                                22947          22975          36          0.0       22946.7       2.4X
Select one column                                 19695          19714          18          0.1       19694.7       2.8X
count()                                            3474           3514          54          0.3        3473.8      15.9X
Select 100 columns, one bad input field           32366          32417          47          0.0       32365.6       1.7X
Select 100 columns, corrupt record field          35921          35986          77          0.0       35921.3       1.5X

OpenJDK 64-Bit Server VM 17.0.11+9-LTS on Linux 6.5.0-1018-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()                        9523           9537          15          1.1         952.3       1.0X
Select 1 column + count()                          6868           6883          13          1.5         686.8       1.4X
count()                                            1820           1836          20          5.5         182.0       5.2X

OpenJDK 64-Bit Server VM 17.0.11+9-LTS on Linux 6.5.0-1018-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                      899            912          12         11.1          89.9       1.0X
to_csv(timestamp)                                  7355           7371          14          1.4         735.5       0.1X
write timestamps to files                          7751           7761          12          1.3         775.1       0.1X
Create a dataset of dates                          1171           1174           6          8.5         117.1       0.8X
to_csv(date)                                       5040           5044           4          2.0         504.0       0.2X
write dates to files                               5277           5292          24          1.9         527.7       0.2X

OpenJDK 64-Bit Server VM 17.0.11+9-LTS on Linux 6.5.0-1018-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                                                  1245           1251           7          8.0         124.5       1.0X
read timestamps from files                                                     10059          10074          23          1.0        1005.9       0.1X
infer timestamps from files                                                    20189          20223          36          0.5        2018.9       0.1X
read date text from files                                                       1151           1167          24          8.7         115.1       1.1X
read date from files                                                           10547          10568          25          0.9        1054.7       0.1X
infer date from files                                                          21527          21540          11          0.5        2152.7       0.1X
timestamp strings                                                               1355           1364          15          7.4         135.5       0.9X
parse timestamps from Dataset[String]                                          11522          11553          28          0.9        1152.2       0.1X
infer timestamps from Dataset[String]                                          21195          21203          10          0.5        2119.5       0.1X
date strings                                                                    1785           1788           5          5.6         178.5       0.7X
parse dates from Dataset[String]                                               12245          12288          44          0.8        1224.5       0.1X
from_csv(timestamp)                                                            10102          10144          51          1.0        1010.2       0.1X
from_csv(date)                                                                 11329          11353          29          0.9        1132.9       0.1X
infer error timestamps from Dataset[String] with default format                12067          12091          36          0.8        1206.7       0.1X
infer error timestamps from Dataset[String] with user-provided format          12077          12093          24          0.8        1207.7       0.1X
infer error timestamps from Dataset[String] with legacy format                 12047          12076          26          0.8        1204.7       0.1X

OpenJDK 64-Bit Server VM 17.0.11+9-LTS on Linux 6.5.0-1018-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                                        4119           4139          17          0.0       41191.2       1.0X
pushdown disabled                                  4092           4110          16          0.0       40922.3       1.0X
w/ filters                                          691            702          13          0.1        6911.5       6.0X


