JMH 1.28

Aleksey Shipilev shade at redhat.com
Mon Mar 1 13:01:42 UTC 2021


Hi,

JMH 1.28 is released and available at Maven Central.

It comes with the following features and bugfixes:

  *) JMH experimental support for compiler-assisted blackholes was reworked. The compiler blackhole 
support was reverted from JDK 16, and it would probably reappear in a slightly different form in JDK 
17. JMH code was future-proofed to match it. -Djmh.blackhole.mode=COMPILER can be used to enable it 
experimentally.
    7902813: Amend experimental compiler-assisted blackhole support

   Prospective JDK 17+ patch is here, if you want to build the JDK with it:
     https://github.com/openjdk/jdk/pull/2024

   Binaries at https://builds.shipilev.net are built with that patch (selected 11u and 8u binaries 
have the prospective backported patches as well). Use those with care, mostly to experiment with 
compiler-assisted blackholes and discover bugs.

  *) MacOS dtraceasm profiler reliability fixes: the profiler outputs used to be closed forcefully, 
which lost some (and maybe even all) collected samples:
   7902830: dtraceasm: do not Process.destroy the dtrace process

  *) org.openjdk.jmh.util.*Statistics had a wrong compareTo, which reversed the order of results.
   7902829: JMH Statistics implementations do not follow Comparable spec

  *) Binary reproducibility: internal benchmark list is now sorted
   7902825: Generated BenchmarkList file should be sorted for reproducibility

  *) JDK compatibility fixes: do not access inaccessible fields if that can be avoided, and do not 
touch MBeans profilers that need forceful break-in (those profilers are by-and-large replaced by JFR 
and other JMH profilers):
   7902695: JMH should not try to access inaccessible fields
   7902818: JMH: Remove Hotspot-specific MBeans profilers

Enjoy!

-- 
Thanks,
-Aleksey



More information about the jmh-dev mailing list