JMH 1.9
Bernd Eckenfels
ecki at zusammenkunft.net
Fri Apr 17 23:11:45 UTC 2015
Hello,
thanks for the release, it fixes the -prof gc related
NullPointerExceptions for me. However I have some hard time to "read"
the following representation:
Secondary result "·gc.time":
1144,000 ±(99.9%) 0,001 ms [Sum]
(min, avg, max) = (189,000, 286,000, 499,000), stdev = 143,937
CI (99.9%): [1144,000, 1144,000] (assumes normal distribution)
The avg. runtime is 286ms. I wonder why the error and CI is based on
the Sum? And where is the pretty narrow CI coming from when min and max
varry that much?
Gruss
Bernd
Am Sat, 18 Apr 2015 01:13:20 +0300
schrieb Aleksey Shipilev <aleksey.shipilev at oracle.com>:
> Hi,
>
> JMH 1.9 is released and available at Maven Central (props to Evgeny
> Mandrikov, as usual). This release includes new features, some
> important bugfixes, observable UI changes, significant improvements
> in the generated code, etc. -- all in all, something that warrants
> the minor version bump.
>
> Brief summary of changes:
>
> * -prof gc now reports the allocation rates! This was made possible
> by Vladimir Sitnikov's contribution, kudos!
>
> This profiler relies on getting the allocation statistics from
> ThreadMXBeans, and so it is lightweight. Known limitation of the
> profiler is that it cannot track the threads created/finished during
> the benchmark execution. Always cross-check the allocation rates with
> the GC churn rates and vice versa to catch possible measurement
> errors!
>
> Tracking:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901386
>
> * -prof gc had a serious bug that affected the measurement on
> iterations that take anything except 1 second. Tracking:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901390
>
> * JMH sometimes needs to arbitrate the worker threads' access to
> helper methods. To avoid blocking and subsequent descheduling, JMH
> does the spinlocks. More advanced version of spinlocks is done now to
> alleviate the excess time spent spinning, and hide the infrastructure
> from profilers. Our torture tests say new versions perform well. If
> you experience troubles after migrating to JMH 1.9, let us know.
>
> Tracking:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901393
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901394
>
> * -prof perfasm is now able to properly account the time for runtime
> StubRoutines, like StubRoutines::jshort_disjoint_arraycopy. Tracking:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901379
>
> * Result files are now unconditionally UTF-8 encoded, since we are
> using the Unicode symbols in secondary metric names. Tracking:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901382
>
> * -prof gc metric names contained curly braces that did not play well
> with export formats we are having. Instead of trying to special-case
> the export formats, the metric names were changed to more neutral:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901383
>
> * There are couple of places where we can accidentally get
> NullPointerExceptions when running with -prof gc. These places are
> fixed: https://bugs.openjdk.java.net/browse/CODETOOLS-7901374
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901384
>
> * LaTeX formatters are enabled to honor -Djmh.scorePrecision, and
> refreshed to fix a few presentation bugs:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901389
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901392
>
> * Some profilers are known to produce cryptic -1 values when
> something goes wrong. Fixed:
> https://bugs.openjdk.java.net/browse/CODETOOLS-7901388
>
> Thanks,
> -Aleksey.
>
More information about the jmh-dev
mailing list