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

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                        2372           2391          26          2.1         474.4       1.0X
UTF-8 is set                                       4939           4949          18          1.0         987.7       0.5X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                        2140           2153          16          2.3         428.1       1.0X
UTF-8 is set                                       4742           4744           3          1.1         948.5       0.5X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                        4545           4577          37          0.2        4545.4       1.0X
UTF-8 is set                                       4382           4398          22          0.2        4381.7       1.0X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                        9696           9787         137          0.0      193913.5       1.0X
UTF-8 is set                                      10729          10765          49          0.0      214572.0       0.9X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                  1676           1679           3          0.6        1676.2       1.0X
Select 1 column                                    1268           1272           5          0.8        1267.6       1.3X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                       628            632           5          1.6         627.5       1.0X
Short column with UTF-8                            1182           1212          31          0.8        1181.6       0.5X
Wide column without encoding                       5364           5412          57          0.2        5364.3       0.1X
Wide column with UTF-8                             6594           6617          29          0.2        6593.7       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                            57             62           5         17.7          56.6       1.0X
from_json                                          1055           1059           4          0.9        1054.8       0.1X
json_tuple                                         1011           1020           9          1.0        1011.1       0.1X
get_json_object wholestage off                     1042           1050           7          1.0        1041.7       0.1X
get_json_object wholestage on                       950            954           4          1.1         949.6       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                           261            263           2         19.1          52.2       1.0X
schema inferring                                   1826           1832          11          2.7         365.2       0.1X
parsing                                            2764           2772          13          1.8         552.9       0.1X

Preparing data for benchmarking ...
OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                           616            624          11          8.1         123.3       1.0X
Schema inferring                                   2299           2303           7          2.2         459.8       0.3X
Parsing without charset                            2967           2975           8          1.7         593.4       0.2X
Parsing with UTF-8                                 5696           5703           8          0.9        1139.1       0.1X

OpenJDK 64-Bit Server VM 21.0.6+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                      107            109           3          9.3         107.2       1.0X
to_json(timestamp)                                  539            543           4          1.9         539.1       0.2X
write timestamps to files                           580            586          10          1.7         580.5       0.2X
Create a dataset of dates                           114            116           2          8.8         114.2       0.9X
to_json(date)                                       402            404           3          2.5         401.6       0.3X
write dates to files                                398            402           3          2.5         398.3       0.3X

OpenJDK 64-Bit Server VM 21.0.6+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                                                   151            156           8          6.6         151.2       1.0X
read timestamps from files                                                      1106           1115           8          0.9        1106.3       0.1X
infer timestamps from files                                                     2068           2074           7          0.5        2067.9       0.1X
read date text from files                                                        150            152           3          6.7         149.6       1.0X
read date from files                                                             708            713           7          1.4         707.7       0.2X
timestamp strings                                                                138            144           6          7.2         138.0       1.1X
parse timestamps from Dataset[String]                                           1249           1252           3          0.8        1249.0       0.1X
infer timestamps from Dataset[String]                                           2185           2188           4          0.5        2184.6       0.1X
date strings                                                                     199            200           1          5.0         199.3       0.8X
parse dates from Dataset[String]                                                 954            957           3          1.0         954.1       0.2X
from_json(timestamp)                                                            1666           1667           2          0.6        1665.5       0.1X
from_json(date)                                                                 1376           1380           4          0.7        1376.1       0.1X
infer error timestamps from Dataset[String] with default format                 1390           1396           5          0.7        1390.4       0.1X
infer error timestamps from Dataset[String] with user-provided format           1380           1383           5          0.7        1379.7       0.1X
infer error timestamps from Dataset[String] with legacy format                  1425           1430           7          0.7        1424.6       0.1X

OpenJDK 64-Bit Server VM 21.0.6+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                                        5966           5969           4          0.0       59662.3       1.0X
pushdown disabled                                  5778           5793          14          0.0       57777.4       1.0X
w/ filters                                          619            623           4          0.2        6191.8       9.6X

OpenJDK 64-Bit Server VM 21.0.6+7-LTS on Linux 6.8.0-1020-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                                 2280           2293          22          0.0      227979.2       1.0X


