April 2020
Anomalies
QEMU ARM VM
The anomalies in performance that I found in December 2019 on ARM processors seems to be fixed in the latest version 14.0.1 release of JDK 14.
Ubuntu 20.04
copyTo16New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
AdoptJDK11New | large | thrpt | 25 | 17.560 | ± | 1.040 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 12.954 | ± | 2.159 | ops/s |
AdoptJDK12New | large | thrpt | 25 | 9.160 | ± | 0.093 | ops/s |
AdoptJDK12Old | large | thrpt | 25 | 13.517 | ± | 2.277 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 5.255 | ± | 0.859 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 3.514 | ± | 0.536 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 15.437 | ± | 0.743 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 10.104 | ± | 2.602 | ops/s |
writeTo16New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
AdoptJDK11New | large | thrpt | 25 | 13.630 | ± | 2.928 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 12.992 | ± | 1.767 | ops/s |
AdoptJDK12New | large | thrpt | 25 | 16.015 | ± | 0.237 | ops/s |
AdoptJDK12Old | large | thrpt | 25 | 13.666 | ± | 1.150 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 5.264 | ± | 0.053 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 4.650 | ± | 0.443 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 13.229 | ± | 1.960 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 12.032 | ± | 2.366 | ops/s |
copyTo32New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
AdoptJDK11New | large | thrpt | 25 | 138.874 | ± | 3.664 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 139.008 | ± | 2.623 | ops/s |
AdoptJDK12New | large | thrpt | 25 | 108.964 | ± | 27.817 | ops/s |
AdoptJDK12Old | large | thrpt | 25 | 140.204 | ± | 2.641 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 45.148 | ± | 0.471 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 45.051 | ± | 0.680 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 137.526 | ± | 2.620 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 132.180 | ± | 14.018 | ops/s |
writeto32New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
AdoptJDK11New | large | thrpt | 25 | 78.634 | ± | 2.756 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 81.584 | ± | 1.849 | ops/s |
AdoptJDK12New | large | thrpt | 25 | 71.084 | ± | 3.792 | ops/s |
AdoptJDK12Old | large | thrpt | 25 | 69.309 | ± | 2.325 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 21.627 | ± | 0.480 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 22.955 | ± | 0.409 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 74.473 | ± | 2.142 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 72.930 | ± | 1.039 | ops/s |
Intel Xeon Processor
Notice that the performance on an Intel Xeon processor is very different from the performance of the same methods on an ARM processor.
Ubuntu 20.04
writeTo16New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 120.235 | ± | 1.867 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 116.574 | ± | 2.590 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 123.593 | ± | 0.026 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 118.291 | ± | 3.134 | ops/s |
AdoptJDK12New | large | thrpt | 25 | 126.926 | ± | 1.305 | ops/s |
AdoptJDK12Old | large | thrpt | 25 | 114.978 | ± | 0.030 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 127.613 | ± | 1.996 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 124.777 | ± | 0.120 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 202.643 | ± | 2.071 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 157.710 | ± | 1.590 | ops/s |
OracleJDK14New | large | thrpt | 25 | 205.134 | ± | 0.735 | ops/s |
OracleJDK14Old | large | thrpt | 25 | 160.339 | ± | 0.024 | ops/s |
writeTo32New/Old
PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
UbuntuJDK11New | large | thrpt | 25 | 1325.503 | ± | 2.539 | ops/s |
UbuntuJDK11Old | large | thrpt | 25 | 1324.506 | ± | 2.019 | ops/s |
AdoptJDK11New | large | thrpt | 25 | 1324.162 | ± | 3.198 | ops/s |
AdoptJDK11Old | large | thrpt | 25 | 1330.414 | ± | 3.178 | ops/s |
AdoptJDK12New | large | thrpt | 25 | 1648.862 | ± | 5.963 | ops/s |
AdoptJDK12Old | large | thrpt | 25 | 1659.928 | ± | 7.614 | ops/s |
AdoptJDK13New | large | thrpt | 25 | 1602.214 | ± | 35.980 | ops/s |
AdoptJDK13Old | large | thrpt | 25 | 1632.068 | ± | 21.254 | ops/s |
AdoptJDK14New | large | thrpt | 25 | 1657.546 | ± | 16.599 | ops/s |
AdoptJDK14Old | large | thrpt | 25 | 1655.515 | ± | 7.576 | ops/s |
OracleJDK14New | large | thrpt | 25 | 1655.789 | ± | 11.278 | ops/s |
OracleJDK14Old | large | thrpt | 25 | 1662.477 | ± | 7.200 | 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
QEMU ARM VM
Ubuntu 20.04
AdoptOpenJDK 11
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 5.730 | ± | 0.457 | ops/s |
copyTo16New | large | thrpt | 25 | 17.560 | ± | 1.040 | ops/s |
copyTo16Old | large | thrpt | 25 | 12.954 | ± | 2.159 | ops/s |
copyTo32New | large | thrpt | 25 | 138.874 | ± | 3.664 | ops/s |
copyTo32Old | large | thrpt | 25 | 139.008 | ± | 2.623 | ops/s |
writeTo08New | large | thrpt | 25 | 4.475 | ± | 0.018 | ops/s |
writeTo16New | large | thrpt | 25 | 13.630 | ± | 2.928 | ops/s |
writeTo16Old | large | thrpt | 25 | 12.992 | ± | 1.767 | ops/s |
writeTo32New | large | thrpt | 25 | 78.634 | ± | 2.756 | ops/s |
writeTo32Old | large | thrpt | 25 | 81.584 | ± | 1.849 | ops/s |
AdoptOpenJDK 12
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 6.027 | ± | 0.028 | ops/s |
copyTo16New | large | thrpt | 25 | 9.160 | ± | 0.093 | ops/s |
copyTo16Old | large | thrpt | 25 | 13.517 | ± | 2.277 | ops/s |
copyTo32New | large | thrpt | 25 | 108.964 | ± | 27.817 | ops/s |
copyTo32Old | large | thrpt | 25 | 140.204 | ± | 2.641 | ops/s |
writeTo08New | large | thrpt | 25 | 5.895 | ± | 0.034 | ops/s |
writeTo16New | large | thrpt | 25 | 16.015 | ± | 0.237 | ops/s |
writeTo16Old | large | thrpt | 25 | 13.666 | ± | 1.150 | ops/s |
writeTo32New | large | thrpt | 25 | 71.084 | ± | 3.792 | ops/s |
writeTo32Old | large | thrpt | 25 | 69.309 | ± | 2.325 | ops/s |
AdoptOpenJDK 13
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 1.880 | ± | 0.152 | ops/s |
copyTo16New | large | thrpt | 25 | 5.255 | ± | 0.859 | ops/s |
copyTo16Old | large | thrpt | 25 | 3.514 | ± | 0.536 | ops/s |
copyTo32New | large | thrpt | 25 | 45.148 | ± | 0.471 | ops/s |
copyTo32Old | large | thrpt | 25 | 45.051 | ± | 0.680 | ops/s |
writeTo08New | large | thrpt | 25 | 1.737 | ± | 0.181 | ops/s |
writeTo16New | large | thrpt | 25 | 5.264 | ± | 0.053 | ops/s |
writeTo16Old | large | thrpt | 25 | 4.650 | ± | 0.443 | ops/s |
writeTo32New | large | thrpt | 25 | 21.627 | ± | 0.480 | ops/s |
writeTo32Old | large | thrpt | 25 | 22.955 | ± | 0.409 | ops/s |
AdoptOpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 6.350 | ± | 0.486 | ops/s |
copyTo16New | large | thrpt | 25 | 15.437 | ± | 0.743 | ops/s |
copyTo16Old | large | thrpt | 25 | 10.104 | ± | 2.602 | ops/s |
copyTo32New | large | thrpt | 25 | 137.526 | ± | 2.620 | ops/s |
copyTo32Old | large | thrpt | 25 | 132.180 | ± | 14.018 | ops/s |
writeTo08New | large | thrpt | 25 | 5.919 | ± | 0.453 | ops/s |
writeTo16New | large | thrpt | 25 | 13.229 | ± | 1.960 | ops/s |
writeTo16Old | large | thrpt | 25 | 12.032 | ± | 2.366 | ops/s |
writeTo32New | large | thrpt | 25 | 74.473 | ± | 2.142 | ops/s |
writeTo32Old | large | thrpt | 25 | 72.930 | ± | 1.039 | 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 | 128.776 | ± | 0.040 | ops/s |
copyTo16New | large | thrpt | 25 | 132.601 | ± | 0.019 | ops/s |
copyTo16Old | large | thrpt | 25 | 124.149 | ± | 0.026 | ops/s |
copyTo32New | large | thrpt | 25 | 1935.874 | ± | 8.307 | ops/s |
copyTo32Old | large | thrpt | 25 | 1940.149 | ± | 11.499 | ops/s |
writeTo08New | large | thrpt | 25 | 81.268 | ± | 0.017 | ops/s |
writeTo16New | large | thrpt | 25 | 120.235 | ± | 1.867 | ops/s |
writeTo16Old | large | thrpt | 25 | 116.574 | ± | 2.590 | ops/s |
writeTo32New | large | thrpt | 25 | 1325.503 | ± | 2.539 | ops/s |
writeTo32Old | large | thrpt | 25 | 1324.506 | ± | 2.019 | ops/s |
AdoptOpenJDK 11
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 128.480 | ± | 0.052 | ops/s |
copyTo16New | large | thrpt | 25 | 132.232 | ± | 0.069 | ops/s |
copyTo16Old | large | thrpt | 25 | 127.023 | ± | 0.038 | ops/s |
copyTo32New | large | thrpt | 25 | 1935.017 | ± | 5.832 | ops/s |
copyTo32Old | large | thrpt | 25 | 1938.695 | ± | 5.612 | ops/s |
writeTo08New | large | thrpt | 25 | 80.755 | ± | 0.108 | ops/s |
writeTo16New | large | thrpt | 25 | 123.593 | ± | 0.026 | ops/s |
writeTo16Old | large | thrpt | 25 | 118.291 | ± | 3.134 | ops/s |
writeTo32New | large | thrpt | 25 | 1324.162 | ± | 3.198 | ops/s |
writeTo32Old | large | thrpt | 25 | 1330.414 | ± | 3.178 | ops/s |
AdoptOpenJDK 12
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 107.953 | ± | 3.839 | ops/s |
copyTo16New | large | thrpt | 25 | 132.420 | ± | 0.234 | ops/s |
copyTo16Old | large | thrpt | 25 | 124.656 | ± | 1.315 | ops/s |
copyTo32New | large | thrpt | 25 | 1975.502 | ± | 8.478 | ops/s |
copyTo32Old | large | thrpt | 25 | 1962.292 | ± | 11.733 | ops/s |
writeTo08New | large | thrpt | 25 | 117.210 | ± | 0.913 | ops/s |
writeTo16New | large | thrpt | 25 | 126.926 | ± | 1.305 | ops/s |
writeTo16Old | large | thrpt | 25 | 114.978 | ± | 0.030 | ops/s |
writeTo32New | large | thrpt | 25 | 1648.862 | ± | 5.963 | ops/s |
writeTo32Old | large | thrpt | 25 | 1659.928 | ± | 7.614 | ops/s |
AdoptOpenJDK 13
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 116.929 | ± | 0.236 | ops/s |
copyTo16New | large | thrpt | 25 | 133.420 | ± | 0.578 | ops/s |
copyTo16Old | large | thrpt | 25 | 125.451 | ± | 0.026 | ops/s |
copyTo32New | large | thrpt | 25 | 1958.416 | ± | 10.372 | ops/s |
copyTo32Old | large | thrpt | 25 | 1965.223 | ± | 8.344 | ops/s |
writeTo08New | large | thrpt | 25 | 120.104 | ± | 3.206 | ops/s |
writeTo16New | large | thrpt | 25 | 127.613 | ± | 1.996 | ops/s |
writeTo16Old | large | thrpt | 25 | 124.777 | ± | 0.120 | ops/s |
writeTo32New | large | thrpt | 25 | 1602.214 | ± | 35.980 | ops/s |
writeTo32Old | large | thrpt | 25 | 1632.068 | ± | 21.254 | ops/s |
AdoptOpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 118.639 | ± | 19.056 | ops/s |
copyTo16New | large | thrpt | 25 | 209.427 | ± | 1.714 | ops/s |
copyTo16Old | large | thrpt | 25 | 163.161 | ± | 0.023 | ops/s |
copyTo32New | large | thrpt | 25 | 1950.789 | ± | 9.100 | ops/s |
copyTo32Old | large | thrpt | 25 | 1962.293 | ± | 7.495 | ops/s |
writeTo08New | large | thrpt | 25 | 127.260 | ± | 18.339 | ops/s |
writeTo16New | large | thrpt | 25 | 202.643 | ± | 2.071 | ops/s |
writeTo16Old | large | thrpt | 25 | 157.710 | ± | 1.590 | ops/s |
writeTo32New | large | thrpt | 25 | 1657.546 | ± | 16.599 | ops/s |
writeTo32Old | large | thrpt | 25 | 1655.515 | ± | 7.576 | ops/s |
Oracle OpenJDK 14
Log File • PNG Chart • SVG Chart • PDF Chart
Benchmark | (type) | Mode | Cnt | Score | ± | Error | Units |
---|---|---|---|---|---|---|---|
copyTo08New | large | thrpt | 25 | 118.620 | ± | 18.934 | ops/s |
copyTo16New | large | thrpt | 25 | 210.229 | ± | 1.673 | ops/s |
copyTo16Old | large | thrpt | 25 | 163.468 | ± | 0.356 | ops/s |
copyTo32New | large | thrpt | 25 | 1960.571 | ± | 6.242 | ops/s |
copyTo32Old | large | thrpt | 25 | 1971.079 | ± | 11.276 | ops/s |
writeTo08New | large | thrpt | 25 | 126.536 | ± | 17.884 | ops/s |
writeTo16New | large | thrpt | 25 | 205.134 | ± | 0.735 | ops/s |
writeTo16Old | large | thrpt | 25 | 160.339 | ± | 0.024 | ops/s |
writeTo32New | large | thrpt | 25 | 1655.789 | ± | 11.278 | ops/s |
writeTo32Old | large | thrpt | 25 | 1662.477 | ± | 7.200 | ops/s |