Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stevenschlansker/c9baae77be3775868a88474074e04999 to your computer and use it in GitHub Desktop.
Save stevenschlansker/c9baae77be3775868a88474074e04999 to your computer and use it in GitHub Desktop.
WARNING: An illegal reflective access operation has occurred
WARNING: Illegal reflective access by org.openjdk.jmh.util.Utils (file:/home/steven/ot-code/jdbi3/benchmark/target/benchmarks.jar) to field java.io.Console.cs
WARNING: Please consider reporting this to the maintainers of org.openjdk.jmh.util.Utils
WARNING: Use --illegal-access=warn to enable warnings of further illegal reflective access operations
WARNING: All illegal access operations will be denied in a future release
# JMH version: 1.21
# VM version: JDK 11.0.1, OpenJDK 64-Bit Server VM, 11.0.1+13
# VM invoker: /usr/lib/jvm/java-11-openjdk-11.0.1.13-10.fc29.x86_64/bin/java
# VM options: <none>
# Warmup: 5 iterations, 2 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jdbi.v3.core.qualifier.EnumBenchmark.mapEnumCaseInsensitive
# Run progress: 0.00% complete, ETA 00:01:10
# Fork: 1 of 1
# Warmup Iteration 1: 227.858 ops/s
# Warmup Iteration 2: 301.892 ops/s
# Warmup Iteration 3: 293.938 ops/s
# Warmup Iteration 4: 314.745 ops/s
# Warmup Iteration 5: 309.866 ops/s
Iteration 1: 322.932 ops/s
·stack: <delayed till summary>
Iteration 2: 320.303 ops/s
·stack: <delayed till summary>
Iteration 3: 334.741 ops/s
·stack: <delayed till summary>
Iteration 4: 347.542 ops/s
·stack: <delayed till summary>
Iteration 5: 354.466 ops/s
·stack: <delayed till summary>
Result "org.jdbi.v3.core.qualifier.EnumBenchmark.mapEnumCaseInsensitive":
335.997 ±(99.9%) 57.533 ops/s [Average]
(min, avg, max) = (320.303, 335.997, 354.466), stdev = 14.941
CI (99.9%): [278.464, 393.530] (assumes normal distribution)
Secondary result "org.jdbi.v3.core.qualifier.EnumBenchmark.mapEnumCaseInsensitive:·stack":
Stack profiler:
....[Thread state distributions]....................................................................
66.7% TIMED_WAITING
33.3% RUNNABLE
....[Thread state: TIMED_WAITING]...................................................................
33.3% 50.0% java.lang.Object.wait
33.3% 50.0% jdk.internal.misc.Unsafe.park
....[Thread state: RUNNABLE]........................................................................
25.2% 75.6% java.lang.Throwable.fillInStackTrace
1.3% 3.8% java.util.stream.ReferencePipeline$2$1.accept
0.6% 1.7% java.lang.AbstractStringBuilder.ensureCapacityInternal
0.6% 1.7% org.jdbi.v3.core.result.ResultSetResultIterator.safeNext
0.5% 1.6% java.lang.AbstractStringBuilder.putStringAt
0.4% 1.1% java.util.Spliterators.spliterator
0.4% 1.1% java.util.stream.AbstractPipeline.<init>
0.3% 1.0% java.lang.String.length
0.3% 0.8% java.util.Iterator.forEachRemaining
0.3% 0.8% org.jdbi.v3.core.config.ConfigRegistry.get
3.6% 10.8% <other>
# JMH version: 1.21
# VM version: JDK 11.0.1, OpenJDK 64-Bit Server VM, 11.0.1+13
# VM invoker: /usr/lib/jvm/java-11-openjdk-11.0.1.13-10.fc29.x86_64/bin/java
# VM options: <none>
# Warmup: 5 iterations, 2 s each
# Measurement: 5 iterations, 5 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.jdbi.v3.core.qualifier.EnumBenchmark.mapEnumCaseSensitive
# Run progress: 50.00% complete, ETA 00:00:35
# Fork: 1 of 1
# Warmup Iteration 1: 3659.131 ops/s
# Warmup Iteration 2: 6106.717 ops/s
# Warmup Iteration 3: 6373.229 ops/s
# Warmup Iteration 4: 6436.993 ops/s
# Warmup Iteration 5: 6364.078 ops/s
Iteration 1: 6442.478 ops/s
·stack: <delayed till summary>
Iteration 2: 6421.471 ops/s
·stack: <delayed till summary>
Iteration 3: 6485.074 ops/s
·stack: <delayed till summary>
Iteration 4: 6405.171 ops/s
·stack: <delayed till summary>
Iteration 5: 6451.950 ops/s
·stack: <delayed till summary>
Result "org.jdbi.v3.core.qualifier.EnumBenchmark.mapEnumCaseSensitive":
6441.229 ±(99.9%) 117.578 ops/s [Average]
(min, avg, max) = (6405.171, 6441.229, 6485.074), stdev = 30.535
CI (99.9%): [6323.651, 6558.806] (assumes normal distribution)
Secondary result "org.jdbi.v3.core.qualifier.EnumBenchmark.mapEnumCaseSensitive:·stack":
Stack profiler:
....[Thread state distributions]....................................................................
66.7% TIMED_WAITING
33.3% RUNNABLE
....[Thread state: TIMED_WAITING]...................................................................
33.3% 50.0% java.lang.Object.wait
33.3% 50.0% jdk.internal.misc.Unsafe.park
....[Thread state: RUNNABLE]........................................................................
5.6% 16.7% java.util.Iterator.forEachRemaining
3.3% 9.9% org.h2.engine.Session.isReconnectNeeded
3.2% 9.7% org.jdbi.v3.core.statement.StatementContext.getConfig
2.6% 7.9% org.h2.jdbc.JdbcResultSet.get
2.4% 7.2% java.util.Arrays.hashCode
1.9% 5.7% org.jdbi.v3.core.mapper.ColumnMappers.findFor
1.7% 5.2% org.h2.message.Trace.isDebugEnabled
1.6% 4.8% java.util.Optional.map
1.5% 4.4% org.jdbi.v3.core.qualifier.QualifiedType.of
1.3% 3.8% org.h2.jdbc.JdbcConnection.checkClosed
8.2% 24.7% <other>
# Run complete. Total time: 00:01:11
REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
experiments, perform baseline and negative tests that provide experimental control, make sure
the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
Do not assume the numbers tell you what you want them to tell.
Benchmark Mode Cnt Score Error Units
EnumBenchmark.mapEnumCaseInsensitive thrpt 5 335.997 ± 57.533 ops/s
EnumBenchmark.mapEnumCaseInsensitive:·stack thrpt NaN ---
EnumBenchmark.mapEnumCaseSensitive thrpt 5 6441.229 ± 117.578 ops/s
EnumBenchmark.mapEnumCaseSensitive:·stack thrpt NaN ---
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment