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

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-Core Processor
JSON schema inferring:                    Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
No encoding                                        2438           2486          75          2.1         487.7       1.0X
UTF-8 is set                                       5905           5916          12          0.8        1180.9       0.4X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-Core Processor
count a short column:                     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
No encoding                                        2243           2289          51          2.2         448.6       1.0X
UTF-8 is set                                       4872           4892          18          1.0         974.4       0.5X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-Core Processor
count a wide column:                      Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
No encoding                                        3307           3333          22          0.3        3307.4       1.0X
UTF-8 is set                                       4700           4718          19          0.2        4699.9       0.7X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-Core Processor
select wide row:                          Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
No encoding                                        9262           9465         212          0.0      185247.3       1.0X
UTF-8 is set                                      10776          10800          29          0.0      215517.2       0.9X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-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                                  1714           1728          13          0.6        1713.9       1.0X
Select 1 column                                    1262           1266           3          0.8        1262.4       1.4X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-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                       666            669           3          1.5         665.7       1.0X
Short column with UTF-8                            1218           1221           2          0.8        1218.4       0.5X
Wide column without encoding                       6437           6459          19          0.2        6437.3       0.1X
Wide column with UTF-8                             7465           7476          11          0.1        7465.2       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-Core Processor
JSON functions:                           Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Text read                                            59             61           2         16.9          59.0       1.0X
from_json                                          1125           1143          17          0.9        1125.3       0.1X
json_tuple                                         1039           1041           3          1.0        1038.7       0.1X
get_json_object wholestage off                     1054           1066          11          0.9        1054.2       0.1X
get_json_object wholestage on                       971            972           1          1.0         971.4       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-Core Processor
Dataset of json strings:                  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Text read                                           234            267          56         21.4          46.8       1.0X
schema inferring                                   1908           1921          11          2.6         381.6       0.1X
parsing                                            2595           2596           1          1.9         518.9       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-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                                           577            580           4          8.7         115.4       1.0X
Schema inferring                                   2454           2468          13          2.0         490.8       0.2X
Parsing without charset                            2973           2978           9          1.7         594.7       0.2X
Parsing with UTF-8                                 5773           5776           2          0.9        1154.7       0.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-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                      103            106           3          9.7         102.7       1.0X
to_json(timestamp)                                  640            641           1          1.6         640.0       0.2X
write timestamps to files                           685            692           6          1.5         685.4       0.1X
Create a dataset of dates                           120            125           4          8.3         120.4       0.9X
to_json(date)                                       439            446           7          2.3         439.2       0.2X
write dates to files                                434            438           4          2.3         434.1       0.2X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-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                                                   148            153           8          6.7         148.3       1.0X
read timestamps from files                                                      1067           1068           1          0.9        1067.2       0.1X
infer timestamps from files                                                     2003           2013          15          0.5        2003.1       0.1X
read date text from files                                                        141            144           4          7.1         141.2       1.1X
read date from files                                                             750            752           2          1.3         750.4       0.2X
timestamp strings                                                                137            137           1          7.3         136.9       1.1X
parse timestamps from Dataset[String]                                           1195           1201           9          0.8        1194.8       0.1X
infer timestamps from Dataset[String]                                           2093           2097           4          0.5        2093.0       0.1X
date strings                                                                     198            198           1          5.1         197.8       0.7X
parse dates from Dataset[String]                                                 954            956           2          1.0         953.6       0.2X
from_json(timestamp)                                                            1659           1677          26          0.6        1659.5       0.1X
from_json(date)                                                                 1435           1448          19          0.7        1434.6       0.1X
infer error timestamps from Dataset[String] with default format                 1426           1435          12          0.7        1426.0       0.1X
infer error timestamps from Dataset[String] with user-provided format           1437           1448          19          0.7        1437.5       0.1X
infer error timestamps from Dataset[String] with legacy format                  1452           1455           2          0.7        1452.1       0.1X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-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                                        6016           6028          10          0.0       60158.9       1.0X
pushdown disabled                                  5833           5857          22          0.0       58329.5       1.0X
w/ filters                                          667            668           1          0.1        6667.9       9.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-Core Processor
Partial JSON results:                     Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
parse invalid JSON                                 2372           2465         149          0.0      237212.6       1.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-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                              77             83           6          1.3         772.6       1.0X
streaming enabled: true                               79             82           4          1.3         793.2       1.0X

OpenJDK 64-Bit Server VM 17.0.20+8-LTS on Linux 6.17.0-1022-azure
AMD EPYC 7763 64-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                                 160            168          13          0.0      159991.4       1.0X
streaming enabled: true                                  161            162           1          0.0      161295.1       1.0X


