JMH 1.20

Aleksey Shipilev shade at redhat.com
Tue Jan 23 09:20:57 UTC 2018


Hi,

JMH 1.20 is released and available on Maven Central. This release comes with the following features
and bugfixes:

*) dtraceasm profiler for Mac OS X, contributed by Vsevolod Tolstopyatov. This allows perfasm-like
functionality on Mac OS X. This requires functional dtrace, superuser privileges, and sometimes
additional system configuration. Try it out, and report problems at jmh-dev@!
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902097

*) jmh.separateClasspathJAR option to handle benchmarks with long classpath, base patch contributed
by David Karnok. This optionally handles the case of operating systems/environments that have limit
on the size of the command line.
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902106

*) Support enum params that override Object#toString(), contributed by Anuraag Agrawal. This fixes a
 nasty overlook in @Param handling for enums, that has the potential to break the benchmarks.
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902095	

*) The invocation order of @Setup/@TearDown methods on @State objects of different Scopes was messed
up, which may break benchmark assumptions.
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902096

*) External profilers should be called with before/afterTrial during warmup forks, for consistency
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902088

*) UX: Linux perf should not assume cycles/instructions counters are always available. This saves
some fatal errors on platforms that do not provide them (e.g. VMs without hardware performance
counters support). This also makes default perfasm profiler narrower, as we only report "cycles" by
default.
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902105

*) UX: Make sure only a single profiler of given type is used
  https://bugs.openjdk.java.net/browse/CODETOOLS-7901990

*) UX: perfasm provides better suggestions about PrintAssembly failures
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902107

*) UX: JMH Core Benchmarks includes more advanced timing tests
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902040

http://central.maven.org/maven2/org/openjdk/jmh/jmh-core-benchmarks/1.20/jmh-core-benchmarks-1.20-full.jar

*) Make sure JMH builds and runs with JDK 9 GA -- mostly build time fixes, but some internal API
changes, and fixes for regressions too:
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902041
  https://bugs.openjdk.java.net/browse/CODETOOLS-7902085

*) Typos and cleanups
  https://bugs.openjdk.java.net/browse/CODETOOLS-7901985
  https://bugs.openjdk.java.net/browse/CODETOOLS-7901984

Enjoy!

Thanks,
-Aleksey



More information about the jmh-dev mailing list