Y8 grayscale image converted from all RGB24 colors (detail)

May 2020

JDK 13 Performance

The chart below shows the problem that caught my attention in December 2019:

Bar Chart

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.

Bar Chart

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.

Ubuntu JDK 11 Frame Graph

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.

Ubuntu JDK 13 Frame Graph

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.

  1. JDK-8226366: Excessive ServiceThread wakeups for OopStorage cleanup
  2. 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.

Ubuntu JDK 14 Frame Graph

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 ChartSVG ChartPDF Chart

Bar 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 ChartSVG ChartPDF Chart

Bar 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 ChartSVG ChartPDF Chart

Bar 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 ChartSVG ChartPDF Chart

Bar 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 ChartSVG ChartPDF Chart

Bar 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 ChartSVG ChartPDF Chart

Bar 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 ChartSVG ChartPDF Chart

Bar 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 ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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 FilePNG ChartSVG ChartPDF Chart

Bar 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