changeset 243:6f818942cdc3

More aggressive explanation for Level.Invocation.
author shade
date Mon, 18 Nov 2013 14:20:28 +0400
parents 0b919385c073
children 34c700cd00fe
files jmh-core/src/main/java/org/openjdk/jmh/annotations/Level.java jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_07_FixtureLevelInvocation.java
diffstat 2 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/jmh-core/src/main/java/org/openjdk/jmh/annotations/Level.java	Wed Nov 13 16:35:36 2013 +0100
+++ b/jmh-core/src/main/java/org/openjdk/jmh/annotations/Level.java	Mon Nov 18 14:20:28 2013 +0400
@@ -60,6 +60,12 @@
      * time, and inhibit workload scalability, introducing the artificial
      * scalability bottleneck.
      *
+     * Also, the hiccups in measurement can be hidden from these individual
+     * timing measurement, which can introduce inconsistent results. The largest
+     * caveat is measuring oversaturated system where the descheduling events
+     * will be missed, and the benchmark will perceive the fictionally large
+     * throughput.
+     *
      * <p>WARNING #2: In order to maintain the basic interference behavior
      * of other Levels (e.g. the State(Scope.Benchmark) should only fire the
      * helper method once per invocation, regardless of the thread count),
--- a/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_07_FixtureLevelInvocation.java	Wed Nov 13 16:35:36 2013 +0100
+++ b/jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_07_FixtureLevelInvocation.java	Mon Nov 18 14:20:28 2013 +0400
@@ -55,9 +55,10 @@
     /*
      * Fixtures have different Levels to control when they are about to run.
      * Level.Invocation is useful sometimes to do some per-invocation work,
-     * which should not count as payload. Note the timestamping and
+     * which should not count as payload. PLEASE NOTE the timestamping and
      * synchronization for Level.Invocation helpers might significantly
-     * offset the measurement, use with care.
+     * offset the measurement, use with care. See Level.Invocation javadoc
+     * for more discussion.
      *
      * Consider this sample:
      */