May 2020
JDK 13 Performance
The chart below shows the problem that caught my attention in December 2019:
The performance has since been restored in the latest release of JDK 14, as seen in the chart below from May 2020, but I still wanted to figure out what caused the drop in performance and why it remains in JDK 13.
The async-profiler tool helped me identify the source of the problem.
I ran the profiler for 30 seconds during iterations of the writeTo16New
benchmark test on an ARM Cortex-A9 device.
The three flame graphs below clearly show the difference between the faster JDK versions 11 and 14 and the slower JDK 13.
The bars in the graphs are colored as follows:
Color | Stack Frame |
---|---|
Green | Java methods |
Yellow | C++ functions |
Red | Other user-mode functions |
Orange | Kernel-mode functions |
Ubuntu JDK 11
See also the interactive flame graph in SVG format.
With JDK 11, almost all of the CPU usage is dedicated to the Java benchmark test:
$ top -H -b -n 3 | grep -A5 'PID USER'
...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30084 ubuntu 20 0 204132 35824 10716 R 98.0 7.0 0:24.08 com.sun.glass.u
...
Ubuntu JDK 13
See also the interactive flame graph in SVG format.
With JDK 13, the Java benchmark test is being crowded out by two threads labeled Service Thread
and is able to get only about a third of the CPU usage:
$ top -H -b -n 3 | grep -A5 'PID USER'
...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30113 ubuntu 20 0 199984 27488 10804 R 32.8 5.4 0:15.33 Service Thread
30130 ubuntu 20 0 204484 36508 10912 R 32.8 7.2 0:12.81 Service Thread
30136 ubuntu 20 0 204484 36508 10912 R 32.8 7.2 0:10.12 com.sun.glass.u
...
Searching for the two C++ classes in the flame graph, OopStorage
and ServiceThread
, lead me to the first bug in the list below, which then lead to the second related bug.
- JDK-8226366: Excessive ServiceThread wakeups for OopStorage cleanup
- JDK-8231612: 100% cpu on arm32 in Service Thread
I think it’s very likely that I’m seeing the second bug in my tests. Fortunately, the bug was fixed for JDK 15 by Aleksei Voitylov on December 13, 2019, and back-ported to JDK 14 on December 18, 2019.
Thank you, Aleksei!
Ubuntu JDK 14
See also the interactive flame graph in SVG format.
With JDK 14, as with JDK 11, almost all of the CPU usage is once again dedicated to the Java benchmark test:
$ top -H -b -n 3 | grep -A5 'PID USER'
...
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
30191 ubuntu 20 0 209256 38624 12412 R 98.0 7.6 0:30.30 com.sun.glass.u
...
VM Comparisons
ARM Cortex-A9
Ubuntu 20.04
copyTo16New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 12.812 | ± | 1.104 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 10.123 | ± | 0.090 | ops/s |
UbuntuJDK13New | large | thrpt | 25 | 4.038 | ± | 0.006 | ops/s |
UbuntuJDK13Old | large | thrpt | 25 | 3.355 | ± | 0.023 | ops/s |
UbuntuJDK14New | large | thrpt | 25 | 11.135 | ± | 0.009 | ops/s |
UbuntuJDK14Old | large | thrpt | 25 | 9.709 | ± | 0.186 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 12.092 | ± | 0.010 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 9.982 | ± | 0.013 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 4.273 | ± | 0.370 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 3.471 | ± | 0.188 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 11.125 | ± | 0.007 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 9.594 | ± | 0.152 | ops/s |
writeTo16New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 13.959 | ± | 0.014 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 9.881 | ± | 0.081 | ops/s |
UbuntuJDK13New | large | thrpt | 25 | 4.279 | ± | 0.009 | ops/s |
UbuntuJDK13Old | large | thrpt | 25 | 3.242 | ± | 0.024 | ops/s |
UbuntuJDK14New | large | thrpt | 25 | 11.325 | ± | 0.180 | ops/s |
UbuntuJDK14Old | large | thrpt | 25 | 9.893 | ± | 0.509 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 13.974 | ± | 0.020 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 9.859 | ± | 0.054 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 4.267 | ± | 0.006 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 3.269 | ± | 0.105 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 11.320 | ± | 0.179 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 9.785 | ± | 0.128 | ops/s |
copyTo32New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 98.220 | ± | 9.977 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 100.072 | ± | 8.332 | ops/s |
UbuntuJDK13New | large | thrpt | 25 | 33.591 | ± | 1.808 | ops/s |
UbuntuJDK13Old | large | thrpt | 25 | 34.138 | ± | 0.980 | ops/s |
UbuntuJDK14New | large | thrpt | 25 | 143.120 | ± | 1.853 | ops/s |
UbuntuJDK14Old | large | thrpt | 25 | 142.684 | ± | 1.996 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 96.734 | ± | 1.619 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 101.276 | ± | 7.805 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 34.342 | ± | 1.659 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 33.912 | ± | 1.256 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 143.885 | ± | 1.739 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 141.907 | ± | 1.721 | ops/s |
writeTo32New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 95.439 | ± | 0.256 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 95.157 | ± | 0.152 | ops/s |
UbuntuJDK13New | large | thrpt | 25 | 29.764 | ± | 0.136 | ops/s |
UbuntuJDK13Old | large | thrpt | 25 | 29.757 | ± | 0.171 | ops/s |
UbuntuJDK14New | large | thrpt | 25 | 90.001 | ± | 0.428 | ops/s |
UbuntuJDK14Old | large | thrpt | 25 | 90.389 | ± | 0.423 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 95.276 | ± | 0.251 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 94.355 | ± | 0.171 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 29.479 | ± | 0.234 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 29.612 | ± | 0.077 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 88.749 | ± | 0.245 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 88.825 | ± | 0.611 | ops/s |
Intel Xeon Processor
Ubuntu 20.04
copyTo16New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 132.579 | ± | 0.179 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 124.118 | ± | 0.025 | ops/s |
UbuntuJDK13New | large | thrpt | 25 | 133.275 | ± | 0.601 | ops/s |
UbuntuJDK13Old | large | thrpt | 25 | 125.466 | ± | 0.038 | ops/s |
UbuntuJDK14New | large | thrpt | 25 | 215.364 | ± | 2.893 | ops/s |
UbuntuJDK14Old | large | thrpt | 25 | 163.661 | ± | 0.313 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 132.343 | ± | 0.105 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 127.053 | ± | 0.036 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 133.072 | ± | 0.035 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 125.432 | ± | 0.024 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 209.250 | ± | 1.787 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 163.639 | ± | 0.276 | ops/s |
writeTo16New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 120.937 | ± | 2.814 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 114.866 | ± | 0.056 | ops/s |
UbuntuJDK13New | large | thrpt | 25 | 126.435 | ± | 1.560 | ops/s |
UbuntuJDK13Old | large | thrpt | 25 | 124.732 | ± | 0.092 | ops/s |
UbuntuJDK14New | large | thrpt | 25 | 201.719 | ± | 2.482 | ops/s |
UbuntuJDK14Old | large | thrpt | 25 | 159.975 | ± | 0.089 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 123.662 | ± | 0.079 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 116.604 | ± | 2.459 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 128.600 | ± | 1.937 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 124.779 | ± | 0.112 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 204.763 | ± | 2.130 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 158.198 | ± | 1.604 | ops/s |
copyTo32New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 1915.373 | ± | 15.819 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 1916.828 | ± | 9.533 | ops/s |
UbuntuJDK13New | large | thrpt | 25 | 1941.216 | ± | 15.477 | ops/s |
UbuntuJDK13Old | large | thrpt | 25 | 1963.908 | ± | 18.632 | ops/s |
UbuntuJDK14New | large | thrpt | 25 | 1963.695 | ± | 15.844 | ops/s |
UbuntuJDK14Old | large | thrpt | 25 | 1955.103 | ± | 12.448 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 1918.110 | ± | 13.702 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 1923.169 | ± | 8.961 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 1933.555 | ± | 10.372 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 1931.081 | ± | 17.454 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 1987.657 | ± | 19.127 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 1967.266 | ± | 13.645 | ops/s |
writeTo32New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 1330.322 | ± | 3.668 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 1326.890 | ± | 1.808 | ops/s |
UbuntuJDK13New | large | thrpt | 25 | 1648.580 | ± | 8.757 | ops/s |
UbuntuJDK13Old | large | thrpt | 25 | 1648.057 | ± | 17.525 | ops/s |
UbuntuJDK14New | large | thrpt | 25 | 1644.972 | ± | 14.523 | ops/s |
UbuntuJDK14Old | large | thrpt | 25 | 1626.741 | ± | 6.707 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 1326.044 | ± | 3.855 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 1326.774 | ± | 2.081 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 1621.717 | ± | 35.531 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 1662.707 | ± | 24.022 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 1638.625 | ± | 17.228 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 1642.738 | ± | 12.613 | ops/s |
Benchmarks
The results of the benchmark tests are grouped by the processor, operating system, and build of the Java Development Kit (JDK) on which they ran.
I ran the following command for the benchmark tests:
$ java -jar target/benchmarks.jar -p type=large
ARM Cortex-A9
Ubuntu 20.04
Ubuntu OpenJDK 11
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 9.656 | ± | 0.021 | ops/s |
copyTo16New | large | thrpt | 25 | 12.812 | ± | 1.104 | ops/s |
copyTo16Old | large | thrpt | 25 | 10.123 | ± | 0.090 | ops/s |
copyTo32New | large | thrpt | 25 | 98.220 | ± | 9.977 | ops/s |
copyTo32Old | large | thrpt | 25 | 100.072 | ± | 8.332 | ops/s |
writeTo08New | large | thrpt | 25 | 8.715 | ± | 0.006 | ops/s |
writeTo16New | large | thrpt | 25 | 13.959 | ± | 0.014 | ops/s |
writeTo16Old | large | thrpt | 25 | 9.881 | ± | 0.081 | ops/s |
writeTo32New | large | thrpt | 25 | 95.439 | ± | 0.256 | ops/s |
writeTo32Old | large | thrpt | 25 | 95.157 | ± | 0.152 | ops/s |
AdoptOpenJDK 11
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 9.113 | ± | 0.505 | ops/s |
copyTo16New | large | thrpt | 25 | 12.092 | ± | 0.010 | ops/s |
copyTo16Old | large | thrpt | 25 | 9.982 | ± | 0.013 | ops/s |
copyTo32New | large | thrpt | 25 | 96.734 | ± | 1.619 | ops/s |
copyTo32Old | large | thrpt | 25 | 101.276 | ± | 7.805 | ops/s |
writeTo08New | large | thrpt | 25 | 8.713 | ± | 0.007 | ops/s |
writeTo16New | large | thrpt | 25 | 13.974 | ± | 0.020 | ops/s |
writeTo16Old | large | thrpt | 25 | 9.859 | ± | 0.054 | ops/s |
writeTo32New | large | thrpt | 25 | 95.276 | ± | 0.251 | ops/s |
writeTo32Old | large | thrpt | 25 | 94.355 | ± | 0.171 | ops/s |
Ubuntu OpenJDK 13
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 3.135 | ± | 0.140 | ops/s |
copyTo16New | large | thrpt | 25 | 4.038 | ± | 0.006 | ops/s |
copyTo16Old | large | thrpt | 25 | 3.355 | ± | 0.023 | ops/s |
copyTo32New | large | thrpt | 25 | 33.591 | ± | 1.808 | ops/s |
copyTo32Old | large | thrpt | 25 | 34.138 | ± | 0.980 | ops/s |
writeTo08New | large | thrpt | 25 | 2.880 | ± | 0.003 | ops/s |
writeTo16New | large | thrpt | 25 | 4.279 | ± | 0.009 | ops/s |
writeTo16Old | large | thrpt | 25 | 3.242 | ± | 0.024 | ops/s |
writeTo32New | large | thrpt | 25 | 29.764 | ± | 0.136 | ops/s |
writeTo32Old | large | thrpt | 25 | 29.757 | ± | 0.171 | ops/s |
AdoptOpenJDK 13
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 3.039 | ± | 0.169 | ops/s |
copyTo16New | large | thrpt | 25 | 4.273 | ± | 0.370 | ops/s |
copyTo16Old | large | thrpt | 25 | 3.471 | ± | 0.188 | ops/s |
copyTo32New | large | thrpt | 25 | 34.342 | ± | 1.659 | ops/s |
copyTo32Old | large | thrpt | 25 | 33.912 | ± | 1.256 | ops/s |
writeTo08New | large | thrpt | 25 | 2.944 | ± | 0.108 | ops/s |
writeTo16New | large | thrpt | 25 | 4.267 | ± | 0.006 | ops/s |
writeTo16Old | large | thrpt | 25 | 3.269 | ± | 0.105 | ops/s |
writeTo32New | large | thrpt | 25 | 29.479 | ± | 0.234 | ops/s |
writeTo32Old | large | thrpt | 25 | 29.612 | ± | 0.077 | ops/s |
Ubuntu OpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 9.539 | ± | 0.108 | ops/s |
copyTo16New | large | thrpt | 25 | 11.135 | ± | 0.009 | ops/s |
copyTo16Old | large | thrpt | 25 | 9.709 | ± | 0.186 | ops/s |
copyTo32New | large | thrpt | 25 | 143.120 | ± | 1.853 | ops/s |
copyTo32Old | large | thrpt | 25 | 142.684 | ± | 1.996 | ops/s |
writeTo08New | large | thrpt | 25 | 9.381 | ± | 0.098 | ops/s |
writeTo16New | large | thrpt | 25 | 11.325 | ± | 0.180 | ops/s |
writeTo16Old | large | thrpt | 25 | 9.893 | ± | 0.509 | ops/s |
writeTo32New | large | thrpt | 25 | 90.001 | ± | 0.428 | ops/s |
writeTo32Old | large | thrpt | 25 | 90.389 | ± | 0.423 | ops/s |
AdoptOpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 9.644 | ± | 0.086 | ops/s |
copyTo16New | large | thrpt | 25 | 11.125 | ± | 0.007 | ops/s |
copyTo16Old | large | thrpt | 25 | 9.594 | ± | 0.152 | ops/s |
copyTo32New | large | thrpt | 25 | 143.885 | ± | 1.739 | ops/s |
copyTo32Old | large | thrpt | 25 | 141.907 | ± | 1.721 | ops/s |
writeTo08New | large | thrpt | 25 | 9.296 | ± | 0.151 | ops/s |
writeTo16New | large | thrpt | 25 | 11.320 | ± | 0.179 | ops/s |
writeTo16Old | large | thrpt | 25 | 9.785 | ± | 0.128 | ops/s |
writeTo32New | large | thrpt | 25 | 88.749 | ± | 0.245 | ops/s |
writeTo32Old | large | thrpt | 25 | 88.825 | ± | 0.611 | ops/s |
QEMU ARM VM
Ubuntu 20.04
Ubuntu OpenJDK 11
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 6.014 | ± | 0.032 | ops/s |
copyTo16New | large | thrpt | 25 | 12.890 | ± | 3.366 | ops/s |
copyTo16Old | large | thrpt | 25 | 14.408 | ± | 2.310 | ops/s |
copyTo32New | large | thrpt | 25 | 138.612 | ± | 3.228 | ops/s |
copyTo32Old | large | thrpt | 25 | 140.559 | ± | 3.459 | ops/s |
writeTo08New | large | thrpt | 25 | 4.820 | ± | 0.454 | ops/s |
writeTo16New | large | thrpt | 25 | 16.686 | ± | 0.335 | ops/s |
writeTo16Old | large | thrpt | 25 | 12.301 | ± | 2.246 | ops/s |
writeTo32New | large | thrpt | 25 | 82.871 | ± | 1.951 | ops/s |
writeTo32Old | large | thrpt | 25 | 81.872 | ± | 2.007 | ops/s |
AdoptOpenJDK 11
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 5.116 | ± | 0.559 | ops/s |
copyTo16New | large | thrpt | 25 | 17.416 | ± | 0.944 | ops/s |
copyTo16Old | large | thrpt | 25 | 11.184 | ± | 2.304 | ops/s |
copyTo32New | large | thrpt | 25 | 140.930 | ± | 3.175 | ops/s |
copyTo32Old | large | thrpt | 25 | 138.455 | ± | 2.760 | ops/s |
writeTo08New | large | thrpt | 25 | 5.392 | ± | 0.582 | ops/s |
writeTo16New | large | thrpt | 25 | 13.070 | ± | 2.685 | ops/s |
writeTo16Old | large | thrpt | 25 | 12.604 | ± | 2.144 | ops/s |
writeTo32New | large | thrpt | 25 | 79.317 | ± | 1.385 | ops/s |
writeTo32Old | large | thrpt | 25 | 84.514 | ± | 1.296 | ops/s |
Ubuntu OpenJDK 13
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 1.785 | ± | 0.184 | ops/s |
copyTo16New | large | thrpt | 25 | 4.236 | ± | 1.116 | ops/s |
copyTo16Old | large | thrpt | 25 | 4.000 | ± | 0.929 | ops/s |
copyTo32New | large | thrpt | 25 | 45.000 | ± | 0.301 | ops/s |
copyTo32Old | large | thrpt | 25 | 45.024 | ± | 0.459 | ops/s |
writeTo08New | large | thrpt | 25 | 1.846 | ± | 0.145 | ops/s |
writeTo16New | large | thrpt | 25 | 5.271 | ± | 0.062 | ops/s |
writeTo16Old | large | thrpt | 25 | 3.598 | ± | 0.776 | ops/s |
writeTo32New | large | thrpt | 25 | 24.241 | ± | 0.674 | ops/s |
writeTo32Old | large | thrpt | 25 | 22.952 | ± | 0.609 | ops/s |
AdoptOpenJDK 13
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 1.650 | ± | 0.211 | ops/s |
copyTo16New | large | thrpt | 25 | 5.392 | ± | 0.904 | ops/s |
copyTo16Old | large | thrpt | 25 | 3.912 | ± | 0.739 | ops/s |
copyTo32New | large | thrpt | 25 | 45.090 | ± | 0.873 | ops/s |
copyTo32Old | large | thrpt | 25 | 45.939 | ± | 0.449 | ops/s |
writeTo08New | large | thrpt | 25 | 1.945 | ± | 0.006 | ops/s |
writeTo16New | large | thrpt | 25 | 4.876 | ± | 0.564 | ops/s |
writeTo16Old | large | thrpt | 25 | 3.473 | ± | 0.802 | ops/s |
writeTo32New | large | thrpt | 25 | 22.795 | ± | 0.832 | ops/s |
writeTo32Old | large | thrpt | 25 | 22.063 | ± | 0.773 | ops/s |
Ubuntu OpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 6.365 | ± | 0.471 | ops/s |
copyTo16New | large | thrpt | 25 | 14.701 | ± | 2.139 | ops/s |
copyTo16Old | large | thrpt | 25 | 10.448 | ± | 1.938 | ops/s |
copyTo32New | large | thrpt | 25 | 138.573 | ± | 2.989 | ops/s |
copyTo32Old | large | thrpt | 25 | 140.630 | ± | 3.534 | ops/s |
writeTo08New | large | thrpt | 25 | 6.212 | ± | 0.435 | ops/s |
writeTo16New | large | thrpt | 25 | 14.477 | ± | 0.502 | ops/s |
writeTo16Old | large | thrpt | 25 | 10.521 | ± | 2.253 | ops/s |
writeTo32New | large | thrpt | 25 | 72.885 | ± | 2.437 | ops/s |
writeTo32Old | large | thrpt | 25 | 70.960 | ± | 3.240 | ops/s |
AdoptOpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 6.126 | ± | 0.446 | ops/s |
copyTo16New | large | thrpt | 25 | 15.463 | ± | 0.741 | ops/s |
copyTo16Old | large | thrpt | 25 | 11.304 | ± | 2.347 | ops/s |
copyTo32New | large | thrpt | 25 | 141.365 | ± | 3.515 | ops/s |
copyTo32Old | large | thrpt | 25 | 143.205 | ± | 2.666 | ops/s |
writeTo08New | large | thrpt | 25 | 6.433 | ± | 0.357 | ops/s |
writeTo16New | large | thrpt | 25 | 9.507 | ± | 1.942 | ops/s |
writeTo16Old | large | thrpt | 25 | 11.835 | ± | 2.305 | ops/s |
writeTo32New | large | thrpt | 25 | 72.945 | ± | 1.752 | ops/s |
writeTo32Old | large | thrpt | 25 | 71.789 | ± | 2.384 | ops/s |
Intel Xeon Processor
Ubuntu 20.04
Ubuntu OpenJDK 11
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 129.471 | ± | 0.494 | ops/s |
copyTo16New | large | thrpt | 25 | 132.579 | ± | 0.179 | ops/s |
copyTo16Old | large | thrpt | 25 | 124.118 | ± | 0.025 | ops/s |
copyTo32New | large | thrpt | 25 | 1915.373 | ± | 15.819 | ops/s |
copyTo32Old | large | thrpt | 25 | 1916.828 | ± | 9.533 | ops/s |
writeTo08New | large | thrpt | 25 | 94.722 | ± | 12.590 | ops/s |
writeTo16New | large | thrpt | 25 | 120.937 | ± | 2.814 | ops/s |
writeTo16Old | large | thrpt | 25 | 114.866 | ± | 0.056 | ops/s |
writeTo32New | large | thrpt | 25 | 1330.322 | ± | 3.668 | ops/s |
writeTo32Old | large | thrpt | 25 | 1326.890 | ± | 1.808 | ops/s |
AdoptOpenJDK 11
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 121.771 | ± | 3.936 | ops/s |
copyTo16New | large | thrpt | 25 | 132.343 | ± | 0.105 | ops/s |
copyTo16Old | large | thrpt | 25 | 127.053 | ± | 0.036 | ops/s |
copyTo32New | large | thrpt | 25 | 1918.110 | ± | 13.702 | ops/s |
copyTo32Old | large | thrpt | 25 | 1923.169 | ± | 8.961 | ops/s |
writeTo08New | large | thrpt | 25 | 80.790 | ± | 0.116 | ops/s |
writeTo16New | large | thrpt | 25 | 123.662 | ± | 0.079 | ops/s |
writeTo16Old | large | thrpt | 25 | 116.604 | ± | 2.459 | ops/s |
writeTo32New | large | thrpt | 25 | 1326.044 | ± | 3.855 | ops/s |
writeTo32Old | large | thrpt | 25 | 1326.774 | ± | 2.081 | ops/s |
Ubuntu OpenJDK 13
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 116.933 | ± | 0.063 | ops/s |
copyTo16New | large | thrpt | 25 | 133.275 | ± | 0.601 | ops/s |
copyTo16Old | large | thrpt | 25 | 125.466 | ± | 0.038 | ops/s |
copyTo32New | large | thrpt | 25 | 1941.216 | ± | 15.477 | ops/s |
copyTo32Old | large | thrpt | 25 | 1963.908 | ± | 18.632 | ops/s |
writeTo08New | large | thrpt | 25 | 122.101 | ± | 3.799 | ops/s |
writeTo16New | large | thrpt | 25 | 126.435 | ± | 1.560 | ops/s |
writeTo16Old | large | thrpt | 25 | 124.732 | ± | 0.092 | ops/s |
writeTo32New | large | thrpt | 25 | 1648.580 | ± | 8.757 | ops/s |
writeTo32Old | large | thrpt | 25 | 1648.057 | ± | 17.525 | ops/s |
AdoptOpenJDK 13
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 116.909 | ± | 0.060 | ops/s |
copyTo16New | large | thrpt | 25 | 133.072 | ± | 0.035 | ops/s |
copyTo16Old | large | thrpt | 25 | 125.432 | ± | 0.024 | ops/s |
copyTo32New | large | thrpt | 25 | 1933.555 | ± | 10.372 | ops/s |
copyTo32Old | large | thrpt | 25 | 1931.081 | ± | 17.454 | ops/s |
writeTo08New | large | thrpt | 25 | 117.682 | ± | 0.434 | ops/s |
writeTo16New | large | thrpt | 25 | 128.600 | ± | 1.937 | ops/s |
writeTo16Old | large | thrpt | 25 | 124.779 | ± | 0.112 | ops/s |
writeTo32New | large | thrpt | 25 | 1621.717 | ± | 35.531 | ops/s |
writeTo32Old | large | thrpt | 25 | 1662.707 | ± | 24.022 | ops/s |
Ubuntu OpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 108.497 | ± | 15.516 | ops/s |
copyTo16New | large | thrpt | 25 | 215.364 | ± | 2.893 | ops/s |
copyTo16Old | large | thrpt | 25 | 163.661 | ± | 0.313 | ops/s |
copyTo32New | large | thrpt | 25 | 1963.695 | ± | 15.844 | ops/s |
copyTo32Old | large | thrpt | 25 | 1955.103 | ± | 12.448 | ops/s |
writeTo08New | large | thrpt | 25 | 136.659 | ± | 14.833 | ops/s |
writeTo16New | large | thrpt | 25 | 201.719 | ± | 2.482 | ops/s |
writeTo16Old | large | thrpt | 25 | 159.975 | ± | 0.089 | ops/s |
writeTo32New | large | thrpt | 25 | 1644.972 | ± | 14.523 | ops/s |
writeTo32Old | large | thrpt | 25 | 1626.741 | ± | 6.707 | ops/s |
AdoptOpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 118.592 | ± | 19.012 | ops/s |
copyTo16New | large | thrpt | 25 | 209.250 | ± | 1.787 | ops/s |
copyTo16Old | large | thrpt | 25 | 163.639 | ± | 0.276 | ops/s |
copyTo32New | large | thrpt | 25 | 1987.657 | ± | 19.127 | ops/s |
copyTo32Old | large | thrpt | 25 | 1967.266 | ± | 13.645 | ops/s |
writeTo08New | large | thrpt | 25 | 135.623 | ± | 14.449 | ops/s |
writeTo16New | large | thrpt | 25 | 204.763 | ± | 2.130 | ops/s |
writeTo16Old | large | thrpt | 25 | 158.198 | ± | 1.604 | ops/s |
writeTo32New | large | thrpt | 25 | 1638.625 | ± | 17.228 | ops/s |
writeTo32Old | large | thrpt | 25 | 1642.738 | ± | 12.613 | ops/s |