JMH 1.3
Aleksey Shipilev
aleksey.shipilev at oracle.com
Fri Nov 14 19:55:25 UTC 2014
Hi,
JMH 1.3 is released and available at Maven Central (thanks to Evgeny
Mandrikov, as usual). This release changes a few performance
characteristics of the Blackhole, as well as improves the profilers and
prints a few more warnings.
Summary of changes:
* Blackhole.consume() methods are forced to be non-inlineable now. This
is to provide an additional defense against the smart compilers. We know
it does not affect x86 much since calls are cheap there, but it does
affect ARM quite significantly, be prepared.
https://bugs.openjdk.java.net/browse/CODETOOLS-7901097
* Blackhole.consume(reference) are now doing a volatile read to break
the unwanted memory effects, and to be more aligned with
Blackhole.consume(primitive):
https://bugs.openjdk.java.net/browse/CODETOOLS-7901095
* Blackhole.consume(primitive) are now doing a single volatile read
only. This improves BH performance on ARM for a little bit, and makes
the memory effects consistent with Blackhole.consume(reference):
https://bugs.openjdk.java.net/browse/CODETOOLS-7901096
* Another week, another user burned on believing --jvmArgs are
magically working when JMH is forced not to fork. We now print a warning
in cases like that:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901094
* "perfasm" now forces Linux perf to print the data in specific field
order. This makes perfasm more reliable in the face of perf updates,
e.g. the latest perf tip seems to work now with JMH:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901100
* "perfasm" sometimes prints "<name unparseable>" instead of Java
method name. This happens because sometimes the compiler output corrupts
the disassembly. The solution is to reduce the amount of compiler
information we print:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901102
* "perfasm" also has some expectation about the metadata format in
PrintAssembly output. It turns out it does not work with pre-Metaspace
JDKs, which includes many JDK 7 builds out there. Fixed:
https://bugs.openjdk.java.net/browse/CODETOOLS-7901103
Enjoy!
Thanks,
-Aleksey.
More information about the jmh-dev
mailing list