================================================================================================
Benchmark for performance of JSON parsing
================================================================================================

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
JSON schema inferring:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
No encoding                                        2081           2116          47          2.4         416.2       1.0X
UTF-8 is set                                       5253           5423         265          1.0        1050.6       0.4X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
count a short column:                     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
No encoding                                        1789           1809          31          2.8         357.9       1.0X
UTF-8 is set                                       4835           4838           2          1.0         967.0       0.4X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
count a wide column:                      Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
No encoding                                        4791           4805          14          0.2        4790.5       1.0X
UTF-8 is set                                       5038           5052          15          0.2        5038.0       1.0X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
select wide row:                          Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
No encoding                                       10203          10286          96          0.0      204060.2       1.0X
UTF-8 is set                                      10939          10969          40          0.0      218787.9       0.9X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
Select a subset of 10 columns:            Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Select 10 columns                                  1759           1767           7          0.6        1759.1       1.0X
Select 1 column                                    1157           1165           8          0.9        1156.7       1.5X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
creation of JSON parser per line:         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Short column without encoding                       583            591           8          1.7         583.0       1.0X
Short column with UTF-8                            1288           1291           4          0.8        1288.4       0.5X
Wide column without encoding                       5623           5632           8          0.2        5622.8       0.1X
Wide column with UTF-8                             7468           7483          17          0.1        7467.5       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
JSON functions:                           Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Text read                                            66             71           5         15.2          66.0       1.0X
from_json                                          1029           1034           5          1.0        1029.0       0.1X
json_tuple                                          971            974           3          1.0         971.0       0.1X
get_json_object wholestage off                      986            994          11          1.0         986.0       0.1X
get_json_object wholestage on                       886            894           7          1.1         885.5       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
Dataset of json strings:                  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Text read                                           260            261           2         19.2          52.0       1.0X
schema inferring                                   1594           1600           9          3.1         318.8       0.2X
parsing                                            2212           2216           4          2.3         442.4       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
Json files in the per-line mode:          Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Text read                                           605            612           7          8.3         121.1       1.0X
Schema inferring                                   2108           2113           8          2.4         421.5       0.3X
Parsing without charset                            2673           2683          13          1.9         534.6       0.2X
Parsing with UTF-8                                 5951           5955           4          0.8        1190.3       0.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-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                      111            114           2          9.0         110.8       1.0X
to_json(timestamp)                                  509            514           7          2.0         509.0       0.2X
write timestamps to files                           534            538           4          1.9         533.7       0.2X
Create a dataset of dates                           122            129           7          8.2         122.3       0.9X
to_json(date)                                       366            367           1          2.7         366.4       0.3X
write dates to files                                376            383           9          2.7         376.2       0.3X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-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                                                   160            161           1          6.2         160.1       1.0X
read timestamps from files                                                      1109           1117           8          0.9        1108.8       0.1X
infer timestamps from files                                                     2029           2030           2          0.5        2028.8       0.1X
read date text from files                                                        147            149           3          6.8         146.7       1.1X
read date from files                                                             692            701          14          1.4         691.5       0.2X
timestamp strings                                                                144            147           5          7.0         143.7       1.1X
parse timestamps from Dataset[String]                                           1309           1312           3          0.8        1309.5       0.1X
infer timestamps from Dataset[String]                                           2229           2231           3          0.4        2229.3       0.1X
date strings                                                                     206            208           2          4.9         205.8       0.8X
parse dates from Dataset[String]                                                 957            960           4          1.0         956.5       0.2X
from_json(timestamp)                                                            1744           1749           5          0.6        1744.0       0.1X
from_json(date)                                                                 1433           1437           4          0.7        1433.3       0.1X
infer error timestamps from Dataset[String] with default format                 1299           1302           4          0.8        1299.5       0.1X
infer error timestamps from Dataset[String] with user-provided format           1304           1307           4          0.8        1303.9       0.1X
infer error timestamps from Dataset[String] with legacy format                  1335           1337           3          0.7        1334.7       0.1X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
Filters pushdown:                         Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
w/o filters                                        5507           5528          35          0.0       55073.9       1.0X
pushdown disabled                                  5300           5309           8          0.0       52999.5       1.0X
w/ filters                                          744            747           3          0.1        7443.5       7.4X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
Partial JSON results:                     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
parse invalid JSON                                 2465           2468           3          0.0      246496.7       1.0X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
Top-level JSON array with 0-byte payloads:  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-------------------------------------------------------------------------------------------------------------------------
streaming enabled: false                              75             82           8          1.3         752.2       1.0X
streaming enabled: true                               74             78           3          1.3         741.4       1.0X

OpenJDK 64-Bit Server VM 21.0.12+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 9V74 80-Core Processor
Top-level JSON array with 65536-byte payloads:  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
-----------------------------------------------------------------------------------------------------------------------------
streaming enabled: false                                 136            139           3          0.0      135565.5       1.0X
streaming enabled: true                                  133            134           1          0.0      133383.2       1.0X


