Y8 grayscale image converted from all RGB24 colors (detail)

December 2019

Anomalies

One interesting anomaly I found is a large drop in performance of the tests under JDK 13 and 14 compared to the same tests under JDK 11 and 12.

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 13.686 ± 0.011 ops/s
UbuntuJDK11Old large thrpt 25 10.084 ± 0.085 ops/s
AdoptJDK11New large thrpt 25 13.659 ± 0.013 ops/s
AdoptJDK11Old large thrpt 25 10.122 ± 0.089 ops/s
AdoptJDK12New large thrpt 25 13.673 ± 0.012 ops/s
AdoptJDK12Old large thrpt 25 10.010 ± 0.026 ops/s
UbuntuJDK13New large thrpt 25 4.034 ± 0.005 ops/s
UbuntuJDK13Old large thrpt 25 3.386 ± 0.023 ops/s
AdoptJDK13New large thrpt 25 4.034 ± 0.004 ops/s
AdoptJDK13Old large thrpt 25 3.368 ± 0.031 ops/s
UbuntuJDK14New large thrpt 25 4.033 ± 0.004 ops/s
UbuntuJDK14Old large thrpt 25 3.596 ± 0.226 ops/s

QEMU ARM VM

Ubuntu 20.04

copyTo16New/Old

PNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
UbuntuJDK11New large thrpt 25 18.020 ± 0.244 ops/s
UbuntuJDK11Old large thrpt 25 12.939 ± 2.982 ops/s
AdoptJDK11New large thrpt 25 14.737 ± 3.608 ops/s
AdoptJDK11Old large thrpt 25 11.844 ± 2.490 ops/s
AdoptJDK12New large thrpt 25 17.904 ± 0.845 ops/s
AdoptJDK12Old large thrpt 25 11.286 ± 2.892 ops/s
UbuntuJDK13New large thrpt 25 4.226 ± 1.075 ops/s
UbuntuJDK13Old large thrpt 25 3.632 ± 0.857 ops/s
AdoptJDK13New large thrpt 25 5.393 ± 0.902 ops/s
AdoptJDK13Old large thrpt 25 4.152 ± 0.718 ops/s
UbuntuJDK14New large thrpt 25 5.991 ± 0.168 ops/s
UbuntuJDK14Old large thrpt 25 4.190 ± 0.787 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 on the ARM Cortex-A8 processor:

$ java -jar target/benchmarks.jar -p type=small

I ran the following command on the ARM Cortex-A9 processor and QEMU ARM virtual machine:

$ java -jar target/benchmarks.jar -p type=large

ARM Cortex-A8

Ubuntu 14.04

AdoptOpenJDK 13

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New small thrpt 25 2.662 ± 0.083 ops/s
copyTo16New small thrpt 25 4.365 ± 0.006 ops/s
copyTo16Old small thrpt 25 3.768 ± 0.006 ops/s
copyTo32New small thrpt 25 38.170 ± 0.463 ops/s
copyTo32Old small thrpt 25 38.058 ± 0.345 ops/s
writeTo08New small thrpt 25 2.557 ± 0.215 ops/s
writeTo16New small thrpt 25 6.896 ± 0.011 ops/s
writeTo16Old small thrpt 25 3.869 ± 0.004 ops/s
writeTo32New small thrpt 25 45.831 ± 0.171 ops/s
writeTo32Old small thrpt 25 45.685 ± 0.227 ops/s

ARM Cortex-A9

Ubuntu 18.04

Ubuntu OpenJDK 11

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 9.940 ± 0.011 ops/s
copyTo16New large thrpt 25 13.683 ± 0.013 ops/s
copyTo16Old large thrpt 25 10.129 ± 0.086 ops/s
copyTo32New large thrpt 25 107.174 ± 10.068 ops/s
copyTo32Old large thrpt 25 105.480 ± 8.603 ops/s
writeTo08New large thrpt 25 8.947 ± 0.355 ops/s
writeTo16New large thrpt 25 13.983 ± 0.021 ops/s
writeTo16Old large thrpt 25 9.950 ± 0.093 ops/s
writeTo32New large thrpt 25 95.590 ± 0.164 ops/s
writeTo32Old large thrpt 25 94.621 ± 0.667 ops/s
AdoptOpenJDK 13

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 3.127 ± 0.136 ops/s
copyTo16New large thrpt 25 4.033 ± 0.004 ops/s
copyTo16Old large thrpt 25 3.379 ± 0.029 ops/s
copyTo32New large thrpt 25 34.385 ± 1.633 ops/s
copyTo32Old large thrpt 25 32.060 ± 0.936 ops/s
writeTo08New large thrpt 25 2.942 ± 0.108 ops/s
writeTo16New large thrpt 25 4.268 ± 0.005 ops/s
writeTo16Old large thrpt 25 3.226 ± 0.095 ops/s
writeTo32New large thrpt 25 29.513 ± 0.125 ops/s
writeTo32Old large thrpt 25 29.522 ± 0.118 ops/s

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.942 ± 0.008 ops/s
copyTo16New large thrpt 25 13.686 ± 0.011 ops/s
copyTo16Old large thrpt 25 10.084 ± 0.085 ops/s
copyTo32New large thrpt 25 100.353 ± 3.295 ops/s
copyTo32Old large thrpt 25 101.164 ± 2.290 ops/s
writeTo08New large thrpt 25 8.725 ± 0.006 ops/s
writeTo16New large thrpt 25 13.968 ± 0.016 ops/s
writeTo16Old large thrpt 25 9.834 ± 0.064 ops/s
writeTo32New large thrpt 25 95.030 ± 0.296 ops/s
writeTo32Old large thrpt 25 95.355 ± 0.643 ops/s
AdoptOpenJDK 11

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 9.927 ± 0.008 ops/s
copyTo16New large thrpt 25 13.659 ± 0.013 ops/s
copyTo16Old large thrpt 25 10.122 ± 0.089 ops/s
copyTo32New large thrpt 25 100.754 ± 3.756 ops/s
copyTo32Old large thrpt 25 108.632 ± 10.148 ops/s
writeTo08New large thrpt 25 8.712 ± 0.008 ops/s
writeTo16New large thrpt 25 13.973 ± 0.022 ops/s
writeTo16Old large thrpt 25 9.798 ± 0.011 ops/s
writeTo32New large thrpt 25 95.209 ± 0.598 ops/s
writeTo32Old large thrpt 25 95.742 ± 0.658 ops/s
AdoptOpenJDK 12

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 9.571 ± 0.558 ops/s
copyTo16New large thrpt 25 13.673 ± 0.012 ops/s
copyTo16Old large thrpt 25 10.010 ± 0.026 ops/s
copyTo32New large thrpt 25 100.413 ± 7.340 ops/s
copyTo32Old large thrpt 25 103.118 ± 8.428 ops/s
writeTo08New large thrpt 25 8.624 ± 0.008 ops/s
writeTo16New large thrpt 25 14.259 ± 0.017 ops/s
writeTo16Old large thrpt 25 9.944 ± 0.063 ops/s
writeTo32New large thrpt 25 88.766 ± 0.405 ops/s
writeTo32Old large thrpt 25 89.101 ± 0.582 ops/s
Ubuntu OpenJDK 13

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 3.127 ± 0.137 ops/s
copyTo16New large thrpt 25 4.034 ± 0.005 ops/s
copyTo16Old large thrpt 25 3.386 ± 0.023 ops/s
copyTo32New large thrpt 25 32.735 ± 1.214 ops/s
copyTo32Old large thrpt 25 34.853 ± 2.217 ops/s
writeTo08New large thrpt 25 2.878 ± 0.003 ops/s
writeTo16New large thrpt 25 4.277 ± 0.003 ops/s
writeTo16Old large thrpt 25 3.320 ± 0.021 ops/s
writeTo32New large thrpt 25 29.675 ± 0.136 ops/s
writeTo32Old large thrpt 25 29.808 ± 0.259 ops/s
AdoptOpenJDK 13

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 3.214 ± 0.004 ops/s
copyTo16New large thrpt 25 4.034 ± 0.004 ops/s
copyTo16Old large thrpt 25 3.368 ± 0.031 ops/s
copyTo32New large thrpt 25 33.297 ± 2.081 ops/s
copyTo32Old large thrpt 25 29.669 ± 0.739 ops/s
writeTo08New large thrpt 25 3.019 ± 0.133 ops/s
writeTo16New large thrpt 25 4.265 ± 0.005 ops/s
writeTo16Old large thrpt 25 3.167 ± 0.083 ops/s
writeTo32New large thrpt 25 29.577 ± 0.105 ops/s
writeTo32Old large thrpt 25 29.555 ± 0.179 ops/s
Ubuntu OpenJDK 14

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 2.951 ± 0.170 ops/s
copyTo16New large thrpt 25 4.033 ± 0.004 ops/s
copyTo16Old large thrpt 25 3.596 ± 0.226 ops/s
copyTo32New large thrpt 25 46.822 ± 2.818 ops/s
copyTo32Old large thrpt 25 48.062 ± 0.541 ops/s
writeTo08New large thrpt 25 3.093 ± 0.134 ops/s
writeTo16New large thrpt 25 4.279 ± 0.004 ops/s
writeTo16Old large thrpt 25 3.384 ± 0.169 ops/s
writeTo32New large thrpt 25 29.713 ± 0.170 ops/s
writeTo32Old large thrpt 25 29.722 ± 0.174 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 5.127 ± 0.564 ops/s
copyTo16New large thrpt 25 18.020 ± 0.244 ops/s
copyTo16Old large thrpt 25 12.939 ± 2.982 ops/s
copyTo32New large thrpt 25 137.360 ± 3.631 ops/s
copyTo32Old large thrpt 25 138.173 ± 3.022 ops/s
writeTo08New large thrpt 25 5.973 ± 0.020 ops/s
writeTo16New large thrpt 25 14.448 ± 2.651 ops/s
writeTo16Old large thrpt 25 13.042 ± 2.160 ops/s
writeTo32New large thrpt 25 79.773 ± 1.038 ops/s
writeTo32Old large thrpt 25 85.746 ± 1.941 ops/s
AdoptOpenJDK 11

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 5.602 ± 0.492 ops/s
copyTo16New large thrpt 25 14.737 ± 3.608 ops/s
copyTo16Old large thrpt 25 11.844 ± 2.490 ops/s
copyTo32New large thrpt 25 140.446 ± 3.476 ops/s
copyTo32Old large thrpt 25 138.769 ± 2.951 ops/s
writeTo08New large thrpt 25 5.992 ± 0.031 ops/s
writeTo16New large thrpt 25 13.959 ± 2.540 ops/s
writeTo16Old large thrpt 25 8.846 ± 1.553 ops/s
writeTo32New large thrpt 25 83.199 ± 1.738 ops/s
writeTo32Old large thrpt 25 81.432 ± 1.383 ops/s
AdoptOpenJDK 12

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 6.062 ± 0.029 ops/s
copyTo16New large thrpt 25 17.904 ± 0.845 ops/s
copyTo16Old large thrpt 25 11.286 ± 2.892 ops/s
copyTo32New large thrpt 25 139.635 ± 3.768 ops/s
copyTo32Old large thrpt 25 138.231 ± 2.540 ops/s
writeTo08New large thrpt 25 5.845 ± 0.069 ops/s
writeTo16New large thrpt 25 15.880 ± 0.200 ops/s
writeTo16Old large thrpt 25 9.377 ± 3.078 ops/s
writeTo32New large thrpt 25 68.567 ± 9.545 ops/s
writeTo32Old large thrpt 25 69.847 ± 3.513 ops/s
Ubuntu OpenJDK 13

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 1.899 ± 0.154 ops/s
copyTo16New large thrpt 25 4.226 ± 1.075 ops/s
copyTo16Old large thrpt 25 3.632 ± 0.857 ops/s
copyTo32New large thrpt 25 42.608 ± 2.769 ops/s
copyTo32Old large thrpt 25 44.853 ± 0.635 ops/s
writeTo08New large thrpt 25 1.701 ± 0.232 ops/s
writeTo16New large thrpt 25 4.307 ± 0.906 ops/s
writeTo16Old large thrpt 25 3.343 ± 0.865 ops/s
writeTo32New large thrpt 25 22.757 ± 0.439 ops/s
writeTo32Old large thrpt 25 23.865 ± 0.536 ops/s
AdoptOpenJDK 13

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 1.774 ± 0.187 ops/s
copyTo16New large thrpt 25 5.393 ± 0.902 ops/s
copyTo16Old large thrpt 25 4.152 ± 0.718 ops/s
copyTo32New large thrpt 25 45.505 ± 0.554 ops/s
copyTo32Old large thrpt 25 45.239 ± 0.676 ops/s
writeTo08New large thrpt 25 1.923 ± 0.008 ops/s
writeTo16New large thrpt 25 4.307 ± 0.913 ops/s
writeTo16Old large thrpt 25 3.855 ± 0.732 ops/s
writeTo32New large thrpt 25 22.746 ± 0.887 ops/s
writeTo32Old large thrpt 25 23.544 ± 0.956 ops/s
Ubuntu OpenJDK 14

Log FilePNG ChartSVG ChartPDF Chart

Bar Chart

Benchmark (type) Mode Cnt Score ± Error Units
copyTo08New large thrpt 25 1.974 ± 0.015 ops/s
copyTo16New large thrpt 25 5.991 ± 0.168 ops/s
copyTo16Old large thrpt 25 4.190 ± 0.787 ops/s
copyTo32New large thrpt 25 45.315 ± 0.935 ops/s
copyTo32Old large thrpt 25 45.415 ± 0.587 ops/s
writeTo08New large thrpt 25 1.846 ± 0.153 ops/s
writeTo16New large thrpt 25 5.174 ± 0.108 ops/s
writeTo16Old large thrpt 25 2.474 ± 0.361 ops/s
writeTo32New large thrpt 25 23.307 ± 0.307 ops/s
writeTo32Old large thrpt 25 23.507 ± 0.421 ops/s