JMH 1.29

Aleksey Shipilev shade at
Wed Mar 24 10:43:26 UTC 2021


JMH 1.29 is released and available at Maven Central. This is a maintenance release, fixes a simple 
regression and does a few refactorings.

Regression fixes:

  *) JMH generated code should be passing lint checks again. This was found and fixed by Niels 
Basjes. This should not happen again, as we added the additional test cases to make sure JMH 
generated code is always passing lint.
    7902853: JMH: Fix lint and deprecation warnings

The rest are for maintenance issues found by static analysis with Sonar:

  *) Found a case where Pattern was continuously compiled; the fix should improve perfasm profiler 
parsing speed:
    7902863: JMH: Cache parsing patterns in profilers

  *) Found a case where ThreadLocals are left behind. For more precise benchmarking, the infra code 
was reworked to avoid ThreadLocals on those paths:
    7902839: JMH: Replace the use of ThreadLocal with explicitly managed thread map

  *) Found a case where lock file was not closed after JMH runner was done with it. This was 
reworked to be a bit more straightforward.
    7902841: JMH: Reflow JMH file locking code

  *) Found a case where URLClassloader is not closed with -Djmh.separateClassLoader.
    7902844: JMH: Clean up jmh.separateClassLoader support

  *) Found another issue with Statistics iterators:
    7902840: JMH: Fix *Statistics iterators to throw NoSuchElementException properly

  *) Found a samples bug that made the example much less effective
    7902834: JMHSample_25_API_GA selectToBreed selection bug


More information about the jmh-dev mailing list