- JMH version: 1.37
- VM version: JDK 22.0.2, OpenJDK 64-Bit Server VM, 22.0.2+9-70
- VM invoker:
/Library/Java/JavaVirtualMachines/jdk-22.0.2.jdk/Contents/Home/bin/java - VM options:
-XX:+ShowCodeDetailsInExceptionMessages - Blackhole mode: compiler (auto-detected, use
-Djmh.blackhole.autoDetect=falseto disable)
- Warmup: 5 iterations, 5 seconds each
- Measurement: 10 iterations, 5 seconds each
- Timeout: 10 minutes per iteration
- Threads: 1 thread, will synchronize iterations
- Benchmark mode: Average time, time/op
- 0.869 ns/op
- 0.861 ns/op
- 0.860 ns/op
- 0.859 ns/op
- 0.860 ns/op
- 0.859 ns/op
- 0.859 ns/op
- 0.879 ns/op
- 0.885 ns/op
- 0.917 ns/op
- 0.859 ns/op
- 0.860 ns/op
- 0.859 ns/op
- 0.859 ns/op
- 0.859 ns/op
- 0.860 ns/op
- 0.860 ns/op
- 0.863 ns/op
- 0.897 ns/op
- 0.873 ns/op
- 0.869 ns/op
- 0.874 ns/op
- 0.860 ns/op
- 0.859 ns/op
- 0.860 ns/op
- 0.860 ns/op
- 0.860 ns/op
- 0.859 ns/op
- 0.859 ns/op
- 0.860 ns/op
- Average: 0.862 ±(99.9%) 0.008 ns/op
- (min, avg, max): (0.859, 0.862, 0.874)
- Standard Deviation: 0.005
- Confidence Interval (99.9%): [0.854, 0.870] (assumes normal distribution)
- 6.439 ns/op
- 6.399 ns/op
- 6.390 ns/op
- 6.865 ns/op
- 6.969 ns/op
- 6.800 ns/op
- 7.355 ns/op
- 6.466 ns/op
- 7.549 ns/op
- 7.218 ns/op
- 6.481 ns/op
- 6.448 ns/op
- 6.487 ns/op
- 6.457 ns/op
- 6.473 ns/op
- 7.119 ns/op
- 6.541 ns/op
- 6.420 ns/op
- 8.299 ns/op
- 7.651 ns/op
- 6.491 ns/op
- 6.450 ns/op
- 6.434 ns/op
- 7.843 ns/op
- 6.674 ns/op
- 6.400 ns/op
- 6.386 ns/op
- 7.117 ns/op
- 6.432 ns/op
- 7.549 ns/op
- Average: 6.778 ±(99.9%) 0.809 ns/op
- (min, avg, max): (6.386, 6.778, 7.843)
- Standard Deviation: 0.535
- Confidence Interval (99.9%): [5.968, 7.587] (assumes normal distribution)
- 7.744 ns/op
- 6.760 ns/op
- 6.493 ns/op
- 6.616 ns/op
- 6.696 ns/op
- 7.346 ns/op
- 7.940 ns/op
- 6.720 ns/op
- 6.972 ns/op
- 6.557 ns/op
- 6.565 ns/op
- 6.564 ns/op
- 7.648 ns/op
- 6.545 ns/op
- 6.740 ns/op
- 7.816 ns/op
- 6.876 ns/op
- 7.000 ns/op
- 6.621 ns/op
- 6.539 ns/op
- 6.531 ns/op
- 7.260 ns/op
- 7.343 ns/op
- 7.294 ns/op
- 7.301 ns/op
- 7.820 ns/op
- 7.424 ns/op
- 7.740 ns/op
- 7.356 ns/op
- 7.470 ns/op
- Average: 7.354 ±(99.9%) 0.523 ns/op
- (min, avg, max): (6.531, 7.354, 7.820)
- Standard Deviation: 0.346
- Confidence Interval (99.9%): [6.831, 7.877] (assumes normal distribution)
- 13.716 ns/op
- 14.103 ns/op
- 13.302 ns/op
- 13.800 ns/op
- 13.399 ns/op
- 13.274 ns/op
- 13.303 ns/op
- 13.354 ns/op
- 13.224 ns/op
- 13.149 ns/op
- 13.212 ns/op
- 13.224 ns/op
- 13.222 ns/op
- 13.202 ns/op
- 13.213 ns/op
- 17.654 ns/op
- 18.198 ns/op
- 17.235 ns/op
- 17.244 ns/op
- 17.261 ns/op
- 17.251 ns/op
- 17.185 ns/op
- 17.188 ns/op
- 17.163 ns/op
- 17.183 ns/op
- 17.184 ns/op
- 17.186 ns/op
- 17.186 ns/op
- 17.193 ns/op
- 17.208 ns/op
- Average: 17.193 ±(99.9%) 0.035 ns/op
- (min, avg, max): (17.163, 17.193, 17.251)
- Standard Deviation: 0.023
- Confidence Interval (99.9%): [17.157, 17.228] (assumes normal distribution)
| Benchmark | Mode | Cnt | Score | Error | Units |
|---|---|---|---|---|---|
| Main.directAccess | avgt | 10 | 0.862 | ± 0.008 | ns/op |
| Main.lambdaMetafactory | avgt | 10 | 6.778 | ± 0.809 | ns/op |
| Main.methodHandle | avgt | 10 | 7.354 | ± 0.523 | ns/op |
| Main.reflection | avgt | 10 | 17.193 | ± 0.035 | ns/op |
- The numbers 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. - Current JVM experimentally supports Compiler Blackholes, and they are in use. Please exercise extra caution when trusting the results, look into the generated code to check the benchmark still works, and factor in a small probability of new VM bugs. Additionally, while comparisons between different JVMs are already problematic, the performance difference caused by different Blackhole modes can be very significant. Please make sure you use the consistent Blackhole mode for comparisons.
- Total time: 00:11:30
Запуск линтеров:
mvn checkstyle:check modernizer:modernizer spotbugs:check pmd:check pmd:cpd-checkВывод дерева зависимостей проекта (полезно при отладке транзитивных зависимостей):
mvn dependency:treeВывод вспомогательной информации о любом плагине (вместо compiler можно
подставить интересующий вас плагин):
mvn help:describe -Dplugin=compiler- Документация по maven: https://maven.apache.org/guides/index.html
- Поиск зависимостей и их версий: https://central.sonatype.com/search
- Документация по процессу автоматизированной сборки в среде github: https://docs.github.com/en/actions
- Документация по git: https://git-scm.com/doc
- Javadoc для Java 22: https://docs.oracle.com/en/java/javase/22/docs/api/index.html