Skip to content

Instantly share code, notes, and snippets.

@mattwarren
Last active August 29, 2015 14:11
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 mattwarren/15d88da37c57a222dfd7 to your computer and use it in GitHub Desktop.
Save mattwarren/15d88da37c57a222dfd7 to your computer and use it in GitHub Desktop.
JMH Benchmark RESULTS - Reflection Method Call v. Regular Method Call (against the same function)
# JMH 1.4-SNAPSHOT (released 3 days ago)
# VM invoker: C:\Program Files\Java\jre7\bin\java.exe
# VM options: <none>
# Warmup: 10 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.sample.MyBenchmark.baseline
# Run progress: 0.00% complete, ETA 00:06:40
# Fork: 1 of 5
# Warmup Iteration 1: 0.282 ns/op
# Warmup Iteration 2: 0.279 ns/op
# Warmup Iteration 3: 0.281 ns/op
# Warmup Iteration 4: 0.278 ns/op
# Warmup Iteration 5: 0.279 ns/op
# Warmup Iteration 6: 0.277 ns/op
# Warmup Iteration 7: 0.277 ns/op
# Warmup Iteration 8: 0.277 ns/op
# Warmup Iteration 9: 0.276 ns/op
# Warmup Iteration 10: 0.279 ns/op
Iteration 1: 0.282 ns/op
Iteration 2: 0.291 ns/op
Iteration 3: 0.284 ns/op
Iteration 4: 0.288 ns/op
Iteration 5: 0.282 ns/op
Iteration 6: 0.283 ns/op
Iteration 7: 0.278 ns/op
Iteration 8: 0.282 ns/op
Iteration 9: 0.285 ns/op
Iteration 10: 0.284 ns/op
# Run progress: 5.00% complete, ETA 00:06:27
# Fork: 2 of 5
# Warmup Iteration 1: 0.282 ns/op
# Warmup Iteration 2: 0.281 ns/op
# Warmup Iteration 3: 0.281 ns/op
# Warmup Iteration 4: 0.288 ns/op
# Warmup Iteration 5: 0.289 ns/op
# Warmup Iteration 6: 0.301 ns/op
# Warmup Iteration 7: 0.287 ns/op
# Warmup Iteration 8: 0.286 ns/op
# Warmup Iteration 9: 0.278 ns/op
# Warmup Iteration 10: 0.280 ns/op
Iteration 1: 0.277 ns/op
Iteration 2: 0.281 ns/op
Iteration 3: 0.286 ns/op
Iteration 4: 0.279 ns/op
Iteration 5: 0.283 ns/op
Iteration 6: 0.280 ns/op
Iteration 7: 0.278 ns/op
Iteration 8: 0.278 ns/op
Iteration 9: 0.283 ns/op
Iteration 10: 0.276 ns/op
# Run progress: 10.00% complete, ETA 00:06:05
# Fork: 3 of 5
# Warmup Iteration 1: 0.278 ns/op
# Warmup Iteration 2: 0.278 ns/op
# Warmup Iteration 3: 0.277 ns/op
# Warmup Iteration 4: 0.277 ns/op
# Warmup Iteration 5: 0.290 ns/op
# Warmup Iteration 6: 0.286 ns/op
# Warmup Iteration 7: 0.280 ns/op
# Warmup Iteration 8: 0.278 ns/op
# Warmup Iteration 9: 0.278 ns/op
# Warmup Iteration 10: 0.278 ns/op
Iteration 1: 0.277 ns/op
Iteration 2: 0.288 ns/op
Iteration 3: 0.280 ns/op
Iteration 4: 0.291 ns/op
Iteration 5: 0.279 ns/op
Iteration 6: 0.289 ns/op
Iteration 7: 0.293 ns/op
Iteration 8: 0.293 ns/op
Iteration 9: 0.297 ns/op
Iteration 10: 0.314 ns/op
# Run progress: 15.00% complete, ETA 00:05:44
# Fork: 4 of 5
# Warmup Iteration 1: 0.295 ns/op
# Warmup Iteration 2: 0.283 ns/op
# Warmup Iteration 3: 0.277 ns/op
# Warmup Iteration 4: 0.277 ns/op
# Warmup Iteration 5: 0.277 ns/op
# Warmup Iteration 6: 0.282 ns/op
# Warmup Iteration 7: 0.288 ns/op
# Warmup Iteration 8: 0.277 ns/op
# Warmup Iteration 9: 0.278 ns/op
# Warmup Iteration 10: 0.279 ns/op
Iteration 1: 0.277 ns/op
Iteration 2: 0.280 ns/op
Iteration 3: 0.291 ns/op
Iteration 4: 0.277 ns/op
Iteration 5: 0.277 ns/op
Iteration 6: 0.278 ns/op
Iteration 7: 0.277 ns/op
Iteration 8: 0.285 ns/op
Iteration 9: 0.290 ns/op
Iteration 10: 0.281 ns/op
# Run progress: 20.00% complete, ETA 00:05:24
# Fork: 5 of 5
# Warmup Iteration 1: 0.277 ns/op
# Warmup Iteration 2: 0.285 ns/op
# Warmup Iteration 3: 0.306 ns/op
# Warmup Iteration 4: 0.296 ns/op
# Warmup Iteration 5: 0.307 ns/op
# Warmup Iteration 6: 0.290 ns/op
# Warmup Iteration 7: 0.290 ns/op
# Warmup Iteration 8: 0.283 ns/op
# Warmup Iteration 9: 0.319 ns/op
# Warmup Iteration 10: 0.293 ns/op
Iteration 1: 0.291 ns/op
Iteration 2: 0.296 ns/op
Iteration 3: 0.284 ns/op
Iteration 4: 0.278 ns/op
Iteration 5: 0.278 ns/op
Iteration 6: 0.281 ns/op
Iteration 7: 0.277 ns/op
Iteration 8: 0.278 ns/op
Iteration 9: 0.276 ns/op
Iteration 10: 0.275 ns/op
Result: 0.283 ±(99.9%) 0.004 ns/op [Average]
Statistics: (min, avg, max) = (0.275, 0.283, 0.314), stdev = 0.007
Confidence interval (99.9%): [0.280, 0.287]
# JMH 1.4-SNAPSHOT (released 3 days ago)
# VM invoker: C:\Program Files\Java\jre7\bin\java.exe
# VM options: <none>
# Warmup: 10 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.sample.MyBenchmark.reflectionMethodCall
# Run progress: 25.00% complete, ETA 00:05:04
# Fork: 1 of 5
# Warmup Iteration 1: 100.427 ns/op
# Warmup Iteration 2: 80.004 ns/op
# Warmup Iteration 3: 79.267 ns/op
# Warmup Iteration 4: 79.209 ns/op
# Warmup Iteration 5: 78.817 ns/op
# Warmup Iteration 6: 79.301 ns/op
# Warmup Iteration 7: 80.357 ns/op
# Warmup Iteration 8: 79.695 ns/op
# Warmup Iteration 9: 81.188 ns/op
# Warmup Iteration 10: 81.369 ns/op
Iteration 1: 81.231 ns/op
Iteration 2: 81.811 ns/op
Iteration 3: 82.036 ns/op
Iteration 4: 83.217 ns/op
Iteration 5: 84.226 ns/op
Iteration 6: 81.814 ns/op
Iteration 7: 79.457 ns/op
Iteration 8: 80.222 ns/op
Iteration 9: 80.233 ns/op
Iteration 10: 81.131 ns/op
# Run progress: 30.00% complete, ETA 00:04:44
# Fork: 2 of 5
# Warmup Iteration 1: 100.097 ns/op
# Warmup Iteration 2: 85.497 ns/op
# Warmup Iteration 3: 81.654 ns/op
# Warmup Iteration 4: 79.531 ns/op
# Warmup Iteration 5: 77.715 ns/op
# Warmup Iteration 6: 78.359 ns/op
# Warmup Iteration 7: 77.830 ns/op
# Warmup Iteration 8: 81.459 ns/op
# Warmup Iteration 9: 79.883 ns/op
# Warmup Iteration 10: 78.118 ns/op
Iteration 1: 77.246 ns/op
Iteration 2: 78.357 ns/op
Iteration 3: 78.713 ns/op
Iteration 4: 78.729 ns/op
Iteration 5: 78.523 ns/op
Iteration 6: 78.836 ns/op
Iteration 7: 79.443 ns/op
Iteration 8: 78.875 ns/op
Iteration 9: 79.157 ns/op
Iteration 10: 78.665 ns/op
# Run progress: 35.00% complete, ETA 00:04:23
# Fork: 3 of 5
# Warmup Iteration 1: 102.739 ns/op
# Warmup Iteration 2: 82.744 ns/op
# Warmup Iteration 3: 77.462 ns/op
# Warmup Iteration 4: 77.132 ns/op
# Warmup Iteration 5: 77.495 ns/op
# Warmup Iteration 6: 77.409 ns/op
# Warmup Iteration 7: 78.642 ns/op
# Warmup Iteration 8: 79.092 ns/op
# Warmup Iteration 9: 78.288 ns/op
# Warmup Iteration 10: 78.869 ns/op
Iteration 1: 78.490 ns/op
Iteration 2: 79.355 ns/op
Iteration 3: 78.532 ns/op
Iteration 4: 78.340 ns/op
Iteration 5: 78.078 ns/op
Iteration 6: 78.404 ns/op
Iteration 7: 78.542 ns/op
Iteration 8: 78.705 ns/op
Iteration 9: 78.943 ns/op
Iteration 10: 77.840 ns/op
# Run progress: 40.00% complete, ETA 00:04:03
# Fork: 4 of 5
# Warmup Iteration 1: 96.926 ns/op
# Warmup Iteration 2: 84.913 ns/op
# Warmup Iteration 3: 77.850 ns/op
# Warmup Iteration 4: 78.238 ns/op
# Warmup Iteration 5: 78.505 ns/op
# Warmup Iteration 6: 78.638 ns/op
# Warmup Iteration 7: 78.580 ns/op
# Warmup Iteration 8: 78.222 ns/op
# Warmup Iteration 9: 79.130 ns/op
# Warmup Iteration 10: 79.335 ns/op
Iteration 1: 78.922 ns/op
Iteration 2: 80.923 ns/op
Iteration 3: 77.788 ns/op
Iteration 4: 77.626 ns/op
Iteration 5: 78.239 ns/op
Iteration 6: 78.036 ns/op
Iteration 7: 79.182 ns/op
Iteration 8: 78.662 ns/op
Iteration 9: 80.103 ns/op
Iteration 10: 79.473 ns/op
# Run progress: 45.00% complete, ETA 00:03:43
# Fork: 5 of 5
# Warmup Iteration 1: 97.072 ns/op
# Warmup Iteration 2: 87.072 ns/op
# Warmup Iteration 3: 81.037 ns/op
# Warmup Iteration 4: 80.609 ns/op
# Warmup Iteration 5: 80.732 ns/op
# Warmup Iteration 6: 81.208 ns/op
# Warmup Iteration 7: 81.814 ns/op
# Warmup Iteration 8: 81.884 ns/op
# Warmup Iteration 9: 82.533 ns/op
# Warmup Iteration 10: 83.564 ns/op
Iteration 1: 84.553 ns/op
Iteration 2: 83.707 ns/op
Iteration 3: 83.482 ns/op
Iteration 4: 84.388 ns/op
Iteration 5: 83.269 ns/op
Iteration 6: 82.852 ns/op
Iteration 7: 83.022 ns/op
Iteration 8: 84.559 ns/op
Iteration 9: 82.516 ns/op
Iteration 10: 82.557 ns/op
Result: 80.220 ±(99.9%) 1.082 ns/op [Average]
Statistics: (min, avg, max) = (77.246, 80.220, 84.559), stdev = 2.185
Confidence interval (99.9%): [79.138, 81.302]
# JMH 1.4-SNAPSHOT (released 3 days ago)
# VM invoker: C:\Program Files\Java\jre7\bin\java.exe
# VM options: <none>
# Warmup: 10 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.sample.MyBenchmark.reflectionMethodCallNoCasting
# Run progress: 50.00% complete, ETA 00:03:23
# Fork: 1 of 5
# Warmup Iteration 1: 99.594 ns/op
# Warmup Iteration 2: 80.216 ns/op
# Warmup Iteration 3: 81.744 ns/op
# Warmup Iteration 4: 80.201 ns/op
# Warmup Iteration 5: 80.694 ns/op
# Warmup Iteration 6: 81.930 ns/op
# Warmup Iteration 7: 81.953 ns/op
# Warmup Iteration 8: 83.455 ns/op
# Warmup Iteration 9: 85.387 ns/op
# Warmup Iteration 10: 80.032 ns/op
Iteration 1: 79.936 ns/op
Iteration 2: 80.918 ns/op
Iteration 3: 80.433 ns/op
Iteration 4: 84.369 ns/op
Iteration 5: 83.409 ns/op
Iteration 6: 84.421 ns/op
Iteration 7: 83.391 ns/op
Iteration 8: 82.526 ns/op
Iteration 9: 83.507 ns/op
Iteration 10: 83.031 ns/op
# Run progress: 55.00% complete, ETA 00:03:03
# Fork: 2 of 5
# Warmup Iteration 1: 97.979 ns/op
# Warmup Iteration 2: 87.145 ns/op
# Warmup Iteration 3: 78.564 ns/op
# Warmup Iteration 4: 78.568 ns/op
# Warmup Iteration 5: 80.534 ns/op
# Warmup Iteration 6: 79.269 ns/op
# Warmup Iteration 7: 80.850 ns/op
# Warmup Iteration 8: 83.656 ns/op
# Warmup Iteration 9: 84.811 ns/op
# Warmup Iteration 10: 82.409 ns/op
Iteration 1: 83.437 ns/op
Iteration 2: 81.160 ns/op
Iteration 3: 79.007 ns/op
Iteration 4: 78.696 ns/op
Iteration 5: 80.586 ns/op
Iteration 6: 82.814 ns/op
Iteration 7: 81.979 ns/op
Iteration 8: 81.473 ns/op
Iteration 9: 79.854 ns/op
Iteration 10: 79.034 ns/op
# Run progress: 60.00% complete, ETA 00:02:42
# Fork: 3 of 5
# Warmup Iteration 1: 101.300 ns/op
# Warmup Iteration 2: 85.076 ns/op
# Warmup Iteration 3: 79.791 ns/op
# Warmup Iteration 4: 80.664 ns/op
# Warmup Iteration 5: 78.353 ns/op
# Warmup Iteration 6: 78.154 ns/op
# Warmup Iteration 7: 80.074 ns/op
# Warmup Iteration 8: 78.825 ns/op
# Warmup Iteration 9: 78.661 ns/op
# Warmup Iteration 10: 77.482 ns/op
Iteration 1: 78.447 ns/op
Iteration 2: 78.388 ns/op
Iteration 3: 81.999 ns/op
Iteration 4: 86.568 ns/op
Iteration 5: 80.189 ns/op
Iteration 6: 77.950 ns/op
Iteration 7: 76.798 ns/op
Iteration 8: 79.435 ns/op
Iteration 9: 81.288 ns/op
Iteration 10: 78.226 ns/op
# Run progress: 65.00% complete, ETA 00:02:22
# Fork: 4 of 5
# Warmup Iteration 1: 93.154 ns/op
# Warmup Iteration 2: 86.355 ns/op
# Warmup Iteration 3: 79.927 ns/op
# Warmup Iteration 4: 79.899 ns/op
# Warmup Iteration 5: 78.312 ns/op
# Warmup Iteration 6: 75.894 ns/op
# Warmup Iteration 7: 76.880 ns/op
# Warmup Iteration 8: 76.583 ns/op
# Warmup Iteration 9: 78.681 ns/op
# Warmup Iteration 10: 76.878 ns/op
Iteration 1: 76.256 ns/op
Iteration 2: 76.470 ns/op
Iteration 3: 76.862 ns/op
Iteration 4: 76.318 ns/op
Iteration 5: 75.747 ns/op
Iteration 6: 76.690 ns/op
Iteration 7: 76.841 ns/op
Iteration 8: 77.278 ns/op
Iteration 9: 77.478 ns/op
Iteration 10: 77.616 ns/op
# Run progress: 70.00% complete, ETA 00:02:02
# Fork: 5 of 5
# Warmup Iteration 1: 95.920 ns/op
# Warmup Iteration 2: 84.744 ns/op
# Warmup Iteration 3: 77.986 ns/op
# Warmup Iteration 4: 78.550 ns/op
# Warmup Iteration 5: 78.680 ns/op
# Warmup Iteration 6: 78.689 ns/op
# Warmup Iteration 7: 80.404 ns/op
# Warmup Iteration 8: 82.892 ns/op
# Warmup Iteration 9: 81.380 ns/op
# Warmup Iteration 10: 82.634 ns/op
Iteration 1: 82.420 ns/op
Iteration 2: 78.500 ns/op
Iteration 3: 79.144 ns/op
Iteration 4: 77.763 ns/op
Iteration 5: 78.585 ns/op
Iteration 6: 78.850 ns/op
Iteration 7: 78.976 ns/op
Iteration 8: 79.696 ns/op
Iteration 9: 80.814 ns/op
Iteration 10: 79.847 ns/op
Result: 79.908 ±(99.9%) 1.266 ns/op [Average]
Statistics: (min, avg, max) = (75.747, 79.908, 86.568), stdev = 2.557
Confidence interval (99.9%): [78.642, 81.174]
# JMH 1.4-SNAPSHOT (released 3 days ago)
# VM invoker: C:\Program Files\Java\jre7\bin\java.exe
# VM options: <none>
# Warmup: 10 iterations, 1 s each
# Measurement: 10 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Average time, time/op
# Benchmark: org.sample.MyBenchmark.regularMethodCall
# Run progress: 75.00% complete, ETA 00:01:41
# Fork: 1 of 5
# Warmup Iteration 1: 102.303 ns/op
# Warmup Iteration 2: 82.444 ns/op
# Warmup Iteration 3: 73.960 ns/op
# Warmup Iteration 4: 76.177 ns/op
# Warmup Iteration 5: 76.324 ns/op
# Warmup Iteration 6: 76.848 ns/op
# Warmup Iteration 7: 76.081 ns/op
# Warmup Iteration 8: 75.009 ns/op
# Warmup Iteration 9: 75.421 ns/op
# Warmup Iteration 10: 75.523 ns/op
Iteration 1: 75.343 ns/op
Iteration 2: 75.517 ns/op
Iteration 3: 75.918 ns/op
Iteration 4: 75.608 ns/op
Iteration 5: 75.528 ns/op
Iteration 6: 75.200 ns/op
Iteration 7: 74.526 ns/op
Iteration 8: 76.183 ns/op
Iteration 9: 74.605 ns/op
Iteration 10: 75.977 ns/op
# Run progress: 80.00% complete, ETA 00:01:21
# Fork: 2 of 5
# Warmup Iteration 1: 97.678 ns/op
# Warmup Iteration 2: 87.045 ns/op
# Warmup Iteration 3: 76.341 ns/op
# Warmup Iteration 4: 75.829 ns/op
# Warmup Iteration 5: 76.515 ns/op
# Warmup Iteration 6: 76.929 ns/op
# Warmup Iteration 7: 76.656 ns/op
# Warmup Iteration 8: 77.321 ns/op
# Warmup Iteration 9: 77.156 ns/op
# Warmup Iteration 10: 77.300 ns/op
Iteration 1: 77.646 ns/op
Iteration 2: 77.999 ns/op
Iteration 3: 77.453 ns/op
Iteration 4: 79.029 ns/op
Iteration 5: 79.045 ns/op
Iteration 6: 77.998 ns/op
Iteration 7: 78.884 ns/op
Iteration 8: 77.474 ns/op
Iteration 9: 76.469 ns/op
Iteration 10: 77.244 ns/op
# Run progress: 85.00% complete, ETA 00:01:01
# Fork: 3 of 5
# Warmup Iteration 1: 97.958 ns/op
# Warmup Iteration 2: 85.162 ns/op
# Warmup Iteration 3: 74.914 ns/op
# Warmup Iteration 4: 75.842 ns/op
# Warmup Iteration 5: 76.998 ns/op
# Warmup Iteration 6: 76.622 ns/op
# Warmup Iteration 7: 76.232 ns/op
# Warmup Iteration 8: 76.453 ns/op
# Warmup Iteration 9: 78.270 ns/op
# Warmup Iteration 10: 78.887 ns/op
Iteration 1: 76.636 ns/op
Iteration 2: 76.277 ns/op
Iteration 3: 76.264 ns/op
Iteration 4: 75.857 ns/op
Iteration 5: 76.585 ns/op
Iteration 6: 75.937 ns/op
Iteration 7: 75.535 ns/op
Iteration 8: 76.522 ns/op
Iteration 9: 76.332 ns/op
Iteration 10: 76.036 ns/op
# Run progress: 90.00% complete, ETA 00:00:40
# Fork: 4 of 5
# Warmup Iteration 1: 98.430 ns/op
# Warmup Iteration 2: 88.080 ns/op
# Warmup Iteration 3: 72.960 ns/op
# Warmup Iteration 4: 74.708 ns/op
# Warmup Iteration 5: 73.590 ns/op
# Warmup Iteration 6: 75.037 ns/op
# Warmup Iteration 7: 77.484 ns/op
# Warmup Iteration 8: 83.306 ns/op
# Warmup Iteration 9: 80.380 ns/op
# Warmup Iteration 10: 77.695 ns/op
Iteration 1: 76.548 ns/op
Iteration 2: 77.226 ns/op
Iteration 3: 82.330 ns/op
Iteration 4: 86.223 ns/op
Iteration 5: 78.179 ns/op
Iteration 6: 76.885 ns/op
Iteration 7: 86.027 ns/op
Iteration 8: 79.128 ns/op
Iteration 9: 77.123 ns/op
Iteration 10: 73.287 ns/op
# Run progress: 95.00% complete, ETA 00:00:20
# Fork: 5 of 5
# Warmup Iteration 1: 116.497 ns/op
# Warmup Iteration 2: 88.090 ns/op
# Warmup Iteration 3: 88.372 ns/op
# Warmup Iteration 4: 82.994 ns/op
# Warmup Iteration 5: 83.265 ns/op
# Warmup Iteration 6: 79.085 ns/op
# Warmup Iteration 7: 80.585 ns/op
# Warmup Iteration 8: 77.316 ns/op
# Warmup Iteration 9: 77.081 ns/op
# Warmup Iteration 10: 76.766 ns/op
Iteration 1: 76.919 ns/op
Iteration 2: 82.154 ns/op
Iteration 3: 81.415 ns/op
Iteration 4: 78.229 ns/op
Iteration 5: 78.089 ns/op
Iteration 6: 80.062 ns/op
Iteration 7: 78.473 ns/op
Iteration 8: 78.504 ns/op
Iteration 9: 82.689 ns/op
Iteration 10: 82.337 ns/op
Result: 77.749 ±(99.9%) 1.342 ns/op [Average]
Statistics: (min, avg, max) = (73.287, 77.749, 86.223), stdev = 2.710
Confidence interval (99.9%): [76.407, 79.091]
# Run complete. Total time: 00:06:47
Benchmark Mode Samples Score Error Units
o.s.MyBenchmark.baseline avgt 50 0.283 ± 0.004 ns/op
o.s.MyBenchmark.reflectionMethodCall avgt 50 80.220 ± 1.082 ns/op
o.s.MyBenchmark.reflectionMethodCallNoCasting avgt 50 79.908 ± 1.266 ns/op
o.s.MyBenchmark.regularMethodCall avgt 50 77.749 ± 1.342 ns/op
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment