================================================================================================
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                                        2253           2358         117          2.2         450.6       1.0X
UTF-8 is set                                       4846           4861          13          1.0         969.2       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                                        2105           2123          18          2.4         421.0       1.0X
UTF-8 is set                                       4657           4664          10          1.1         931.3       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                                        4551           4598          77          0.2        4550.7       1.0X
UTF-8 is set                                       4372           4379           8          0.2        4372.2       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                                        9258           9360         152          0.0      185154.2       1.0X
UTF-8 is set                                      10320          10346          23          0.0      206392.2       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                                  1712           1713           1          0.6        1712.4       1.0X
Select 1 column                                    1291           1298          10          0.8        1290.9       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                       647            649           4          1.5         647.0       1.0X
Short column with UTF-8                            1169           1180          10          0.9        1169.2       0.6X
Wide column without encoding                       5268           5293          27          0.2        5267.8       0.1X
Wide column with UTF-8                             6536           6557          20          0.2        6535.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 functions:                           Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Text read                                            57             65           7         17.5          57.2       1.0X
from_json                                          1080           1085           7          0.9        1079.9       0.1X
json_tuple                                         1010           1012           2          1.0        1010.4       0.1X
get_json_object wholestage off                     1033           1038           4          1.0        1033.4       0.1X
get_json_object wholestage on                       951            952           2          1.1         950.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
Dataset of json strings:                  Best Time(ms)   Avg Time(ms)   Stdev(ms)    Rate(M/s)   Per Row(ns)   Relative
------------------------------------------------------------------------------------------------------------------------
Text read                                           259            262           3         19.3          51.8       1.0X
schema inferring                                   1918           1934          15          2.6         383.5       0.1X
parsing                                            2804           2815          11          1.8         560.8       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                                           583            592           8          8.6         116.7       1.0X
Schema inferring                                   2412           2414           2          2.1         482.4       0.2X
Parsing without charset                            2962           2970           9          1.7         592.3       0.2X
Parsing with UTF-8                                 5458           5462           5          0.9        1091.7       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                      105            109           5          9.5         105.2       1.0X
to_json(timestamp)                                  550            551           2          1.8         549.9       0.2X
write timestamps to files                           582            586           3          1.7         582.4       0.2X
Create a dataset of dates                           113            114           2          8.9         112.8       0.9X
to_json(date)                                       417            419           3          2.4         416.8       0.3X
write dates to files                                390            392           2          2.6         390.2       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                                                   150            154           3          6.6         150.4       1.0X
read timestamps from files                                                      1131           1149          19          0.9        1130.9       0.1X
infer timestamps from files                                                     2155           2156           0          0.5        2155.3       0.1X
read date text from files                                                        138            143           4          7.2         138.3       1.1X
read date from files                                                             718            721           5          1.4         718.1       0.2X
timestamp strings                                                                142            143           1          7.0         142.4       1.1X
parse timestamps from Dataset[String]                                           1270           1272           3          0.8        1269.8       0.1X
infer timestamps from Dataset[String]                                           2224           2227           3          0.4        2224.4       0.1X
date strings                                                                     195            196           1          5.1         195.3       0.8X
parse dates from Dataset[String]                                                 972            973           1          1.0         972.4       0.2X
from_json(timestamp)                                                            1739           1742           3          0.6        1739.4       0.1X
from_json(date)                                                                 1400           1401           1          0.7        1400.2       0.1X
infer error timestamps from Dataset[String] with default format                 1433           1437           4          0.7        1433.0       0.1X
infer error timestamps from Dataset[String] with user-provided format           1439           1442           3          0.7        1439.0       0.1X
infer error timestamps from Dataset[String] with legacy format                  1475           1480           4          0.7        1475.3       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                                        6068           6076          11          0.0       60681.7       1.0X
pushdown disabled                                  5926           5934          10          0.0       59263.4       1.0X
w/ filters                                          650            654           4          0.2        6496.2       9.3X

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                                 2249           2258          14          0.0      224874.5       1.0X


