Skip to content

Instantly share code, notes, and snippets.

@dyoshimitsu
Created July 21, 2018 16:53
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 dyoshimitsu/6abe134d55b1fe13bbccaafc76bf6aeb to your computer and use it in GitHub Desktop.
Save dyoshimitsu/6abe134d55b1fe13bbccaafc76bf6aeb to your computer and use it in GitHub Desktop.
sbt:compiler-benchmark> hot -p source=@/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args
[info] Updating compilation...
[info] Done updating.
[warn] Found version conflict(s) in library dependencies; some are suspected to be binary incompatible:
[warn] * com.google.guava:guava:21.0 is selected over 20.0
[warn] +- infrastructure:infrastructure:0.1.0-SNAPSHOT (depends on 21.0)
[warn] +- org.influxdb:influxdb-java:2.5 (depends on 20.0)
[warn] Run 'evicted' to see detailed eviction warnings
[info] Packaging /Users/dyoshimitsu/Workspace/GitHub/scala/compiler-benchmark/compilation/target/scala-2.12/compilation_2.12-0.1.0-SNAPSHOT.jar ...
Processing 49 classes from /Users/dyoshimitsu/Workspace/GitHub/scala/compiler-benchmark/compilation/target/scala-2.12/classes with "reflection" generator
Writing out Java source to /Users/dyoshimitsu/Workspace/GitHub/scala/compiler-benchmark/compilation/target/scala-2.12/src_managed/jmh and resources to /Users/dyoshimitsu/Workspace/GitHub/scala/compiler-benchmark/compilation/target/scala-2.12/resource_managed/jmh
[info] Done packaging.
[info] Packaging /Users/dyoshimitsu/Workspace/GitHub/scala/compiler-benchmark/compilation/target/scala-2.12/compilation_2.12-0.1.0-SNAPSHOT-jmh.jar ...
[info] Done packaging.
[info] Running (fork) scala.bench.ScalacBenchmarkRunner HotScalacBenchmark -foe true -p source=@/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args
[info] # JMH version: 1.21
[info] # VM version: JDK 1.8.0_172, Java HotSpot(TM) 64-Bit Server VM, 25.172-b11
[info] # VM invoker: /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/jre/bin/java
[info] # VM options: -Xms2G -Xmx2G -Xss2M
[info] # Warmup: 10 iterations, 10 s each
[info] # Measurement: 10 iterations, 10 s each
[info] # Timeout: 10 min per iteration
[info] # Threads: 1 thread, will synchronize iterations
[info] # Benchmark mode: Sampling time
[info] # Benchmark: scala.tools.nsc.HotScalacBenchmark.compile
[info] # Parameters: (corpusPath = ../corpus, corpusVersion = latest, extraArgs = , resident = false, scalaVersion = 2.12.6, source = @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args)
[info] # Run progress: 0.00% complete, ETA 00:10:00
[info] # Fork: 1 of 3
[info] # Warmup Iteration 1: 102139.691 ms/op
[info] # Warmup Iteration 2: 71135.396 ms/op
[info] # Warmup Iteration 3: 55834.575 ms/op
[info] # Warmup Iteration 4: 50130.321 ms/op
[info] # Warmup Iteration 5: 49056.580 ms/op
[info] # Warmup Iteration 6: 48721.035 ms/op
[info] # Warmup Iteration 7: 46170.898 ms/op
[info] # Warmup Iteration 8: 46707.769 ms/op
[info] # Warmup Iteration 9: 47848.620 ms/op
[info] # Warmup Iteration 10: 48855.253 ms/op
[info] Iteration 1: 49526.342 ms/op
[info] compile·p0.00: 49526.342 ms/op
[info] compile·p0.50: 49526.342 ms/op
[info] compile·p0.90: 49526.342 ms/op
[info] compile·p0.95: 49526.342 ms/op
[info] compile·p0.99: 49526.342 ms/op
[info] compile·p0.999: 49526.342 ms/op
[info] compile·p0.9999: 49526.342 ms/op
[info] compile·p1.00: 49526.342 ms/op
[info] Iteration 2: 49727.668 ms/op
[info] compile·p0.00: 49727.668 ms/op
[info] compile·p0.50: 49727.668 ms/op
[info] compile·p0.90: 49727.668 ms/op
[info] compile·p0.95: 49727.668 ms/op
[info] compile·p0.99: 49727.668 ms/op
[info] compile·p0.999: 49727.668 ms/op
[info] compile·p0.9999: 49727.668 ms/op
[info] compile·p1.00: 49727.668 ms/op
[info] Iteration 3: 53150.220 ms/op
[info] compile·p0.00: 53150.220 ms/op
[info] compile·p0.50: 53150.220 ms/op
[info] compile·p0.90: 53150.220 ms/op
[info] compile·p0.95: 53150.220 ms/op
[info] compile·p0.99: 53150.220 ms/op
[info] compile·p0.999: 53150.220 ms/op
[info] compile·p0.9999: 53150.220 ms/op
[info] compile·p1.00: 53150.220 ms/op
[info] Iteration 4: 52948.894 ms/op
[info] compile·p0.00: 52948.894 ms/op
[info] compile·p0.50: 52948.894 ms/op
[info] compile·p0.90: 52948.894 ms/op
[info] compile·p0.95: 52948.894 ms/op
[info] compile·p0.99: 52948.894 ms/op
[info] compile·p0.999: 52948.894 ms/op
[info] compile·p0.9999: 52948.894 ms/op
[info] compile·p1.00: 52948.894 ms/op
[info] Iteration 5: 54492.398 ms/op
[info] compile·p0.00: 54492.398 ms/op
[info] compile·p0.50: 54492.398 ms/op
[info] compile·p0.90: 54492.398 ms/op
[info] compile·p0.95: 54492.398 ms/op
[info] compile·p0.99: 54492.398 ms/op
[info] compile·p0.999: 54492.398 ms/op
[info] compile·p0.9999: 54492.398 ms/op
[info] compile·p1.00: 54492.398 ms/op
[info] Iteration 6: 55364.813 ms/op
[info] compile·p0.00: 55364.813 ms/op
[info] compile·p0.50: 55364.813 ms/op
[info] compile·p0.90: 55364.813 ms/op
[info] compile·p0.95: 55364.813 ms/op
[info] compile·p0.99: 55364.813 ms/op
[info] compile·p0.999: 55364.813 ms/op
[info] compile·p0.9999: 55364.813 ms/op
[info] compile·p1.00: 55364.813 ms/op
[info] Iteration 7: 55633.248 ms/op
[info] compile·p0.00: 55633.248 ms/op
[info] compile·p0.50: 55633.248 ms/op
[info] compile·p0.90: 55633.248 ms/op
[info] compile·p0.95: 55633.248 ms/op
[info] compile·p0.99: 55633.248 ms/op
[info] compile·p0.999: 55633.248 ms/op
[info] compile·p0.9999: 55633.248 ms/op
[info] compile·p1.00: 55633.248 ms/op
[info] Iteration 8: 55431.922 ms/op
[info] compile·p0.00: 55431.922 ms/op
[info] compile·p0.50: 55431.922 ms/op
[info] compile·p0.90: 55431.922 ms/op
[info] compile·p0.95: 55431.922 ms/op
[info] compile·p0.99: 55431.922 ms/op
[info] compile·p0.999: 55431.922 ms/op
[info] compile·p0.9999: 55431.922 ms/op
[info] compile·p1.00: 55431.922 ms/op
[info] Iteration 9: 57042.534 ms/op
[info] compile·p0.00: 57042.534 ms/op
[info] compile·p0.50: 57042.534 ms/op
[info] compile·p0.90: 57042.534 ms/op
[info] compile·p0.95: 57042.534 ms/op
[info] compile·p0.99: 57042.534 ms/op
[info] compile·p0.999: 57042.534 ms/op
[info] compile·p0.9999: 57042.534 ms/op
[info] compile·p1.00: 57042.534 ms/op
[info] Iteration 10: 57780.732 ms/op
[info] compile·p0.00: 57780.732 ms/op
[info] compile·p0.50: 57780.732 ms/op
[info] compile·p0.90: 57780.732 ms/op
[info] compile·p0.95: 57780.732 ms/op
[info] compile·p0.99: 57780.732 ms/op
[info] compile·p0.999: 57780.732 ms/op
[info] compile·p0.9999: 57780.732 ms/op
[info] compile·p1.00: 57780.732 ms/op
[info] # Run progress: 33.33% complete, ETA 00:37:00
[info] # Fork: 2 of 3
[info] # Warmup Iteration 1: 171261.821 ms/op
[info] # Warmup Iteration 2: 102542.344 ms/op
[info] # Warmup Iteration 3: 75296.145 ms/op
[info] # Warmup Iteration 4: 63954.747 ms/op
[info] # Warmup Iteration 5: 60330.869 ms/op
[info] # Warmup Iteration 6: 58250.494 ms/op
[info] # Warmup Iteration 7: 56975.426 ms/op
[info] # Warmup Iteration 8: 56639.881 ms/op
[info] # Warmup Iteration 9: 58921.583 ms/op
[info] # Warmup Iteration 10: 58518.929 ms/op
[info] Iteration 1: 56639.881 ms/op
[info] compile·p0.00: 56639.881 ms/op
[info] compile·p0.50: 56639.881 ms/op
[info] compile·p0.90: 56639.881 ms/op
[info] compile·p0.95: 56639.881 ms/op
[info] compile·p0.99: 56639.881 ms/op
[info] compile·p0.999: 56639.881 ms/op
[info] compile·p0.9999: 56639.881 ms/op
[info] compile·p1.00: 56639.881 ms/op
[info] Iteration 2: 55834.575 ms/op
[info] compile·p0.00: 55834.575 ms/op
[info] compile·p0.50: 55834.575 ms/op
[info] compile·p0.90: 55834.575 ms/op
[info] compile·p0.95: 55834.575 ms/op
[info] compile·p0.99: 55834.575 ms/op
[info] compile·p0.999: 55834.575 ms/op
[info] compile·p0.9999: 55834.575 ms/op
[info] compile·p1.00: 55834.575 ms/op
[info] Iteration 3: 57445.188 ms/op
[info] compile·p0.00: 57445.188 ms/op
[info] compile·p0.50: 57445.188 ms/op
[info] compile·p0.90: 57445.188 ms/op
[info] compile·p0.95: 57445.188 ms/op
[info] compile·p0.99: 57445.188 ms/op
[info] compile·p0.999: 57445.188 ms/op
[info] compile·p0.9999: 57445.188 ms/op
[info] compile·p1.00: 57445.188 ms/op
[info] Iteration 4: 56706.990 ms/op
[info] compile·p0.00: 56706.990 ms/op
[info] compile·p0.50: 56706.990 ms/op
[info] compile·p0.90: 56706.990 ms/op
[info] compile·p0.95: 56706.990 ms/op
[info] compile·p0.99: 56706.990 ms/op
[info] compile·p0.999: 56706.990 ms/op
[info] compile·p0.9999: 56706.990 ms/op
[info] compile·p1.00: 56706.990 ms/op
[info] Iteration 5: 54895.051 ms/op
[info] compile·p0.00: 54895.051 ms/op
[info] compile·p0.50: 54895.051 ms/op
[info] compile·p0.90: 54895.051 ms/op
[info] compile·p0.95: 54895.051 ms/op
[info] compile·p0.99: 54895.051 ms/op
[info] compile·p0.999: 54895.051 ms/op
[info] compile·p0.9999: 54895.051 ms/op
[info] compile·p1.00: 54895.051 ms/op
[info] Iteration 6: 55029.268 ms/op
[info] compile·p0.00: 55029.268 ms/op
[info] compile·p0.50: 55029.268 ms/op
[info] compile·p0.90: 55029.268 ms/op
[info] compile·p0.95: 55029.268 ms/op
[info] compile·p0.99: 55029.268 ms/op
[info] compile·p0.999: 55029.268 ms/op
[info] compile·p0.9999: 55029.268 ms/op
[info] compile·p1.00: 55029.268 ms/op
[info] Iteration 7: 55029.268 ms/op
[info] compile·p0.00: 55029.268 ms/op
[info] compile·p0.50: 55029.268 ms/op
[info] compile·p0.90: 55029.268 ms/op
[info] compile·p0.95: 55029.268 ms/op
[info] compile·p0.99: 55029.268 ms/op
[info] compile·p0.999: 55029.268 ms/op
[info] compile·p0.9999: 55029.268 ms/op
[info] compile·p1.00: 55029.268 ms/op
[info] Iteration 8: 55230.595 ms/op
[info] compile·p0.00: 55230.595 ms/op
[info] compile·p0.50: 55230.595 ms/op
[info] compile·p0.90: 55230.595 ms/op
[info] compile·p0.95: 55230.595 ms/op
[info] compile·p0.99: 55230.595 ms/op
[info] compile·p0.999: 55230.595 ms/op
[info] compile·p0.9999: 55230.595 ms/op
[info] compile·p1.00: 55230.595 ms/op
[info] Iteration 9: 55566.139 ms/op
[info] compile·p0.00: 55566.139 ms/op
[info] compile·p0.50: 55566.139 ms/op
[info] compile·p0.90: 55566.139 ms/op
[info] compile·p0.95: 55566.139 ms/op
[info] compile·p0.99: 55566.139 ms/op
[info] compile·p0.999: 55566.139 ms/op
[info] compile·p0.9999: 55566.139 ms/op
[info] compile·p1.00: 55566.139 ms/op
[info] Iteration 10: 52814.676 ms/op
[info] compile·p0.00: 52814.676 ms/op
[info] compile·p0.50: 52814.676 ms/op
[info] compile·p0.90: 52814.676 ms/op
[info] compile·p0.95: 52814.676 ms/op
[info] compile·p0.99: 52814.676 ms/op
[info] compile·p0.999: 52814.676 ms/op
[info] compile·p0.9999: 52814.676 ms/op
[info] compile·p1.00: 52814.676 ms/op
[info] # Run progress: 66.67% complete, ETA 00:20:15
[info] # Fork: 3 of 3
[info] # Warmup Iteration 1: 163208.757 ms/op
[info] # Warmup Iteration 2: 96099.893 ms/op
[info] # Warmup Iteration 3: 68853.694 ms/op
[info] # Warmup Iteration 4: 58653.147 ms/op
[info] # Warmup Iteration 5: 57176.752 ms/op
[info] # Warmup Iteration 6: 55163.486 ms/op
[info] # Warmup Iteration 7: 55700.357 ms/op
[info] # Warmup Iteration 8: 55499.031 ms/op
[info] # Warmup Iteration 9: 56505.663 ms/op
[info] # Warmup Iteration 10: 55499.031 ms/op
[info] Iteration 1: 54492.398 ms/op
[info] compile·p0.00: 54492.398 ms/op
[info] compile·p0.50: 54492.398 ms/op
[info] compile·p0.90: 54492.398 ms/op
[info] compile·p0.95: 54492.398 ms/op
[info] compile·p0.99: 54492.398 ms/op
[info] compile·p0.999: 54492.398 ms/op
[info] compile·p0.9999: 54492.398 ms/op
[info] compile·p1.00: 54492.398 ms/op
[info] Iteration 2: 53418.656 ms/op
[info] compile·p0.00: 53418.656 ms/op
[info] compile·p0.50: 53418.656 ms/op
[info] compile·p0.90: 53418.656 ms/op
[info] compile·p0.95: 53418.656 ms/op
[info] compile·p0.99: 53418.656 ms/op
[info] compile·p0.999: 53418.656 ms/op
[info] compile·p0.9999: 53418.656 ms/op
[info] compile·p1.00: 53418.656 ms/op
[info] Iteration 3: 53687.091 ms/op
[info] compile·p0.00: 53687.091 ms/op
[info] compile·p0.50: 53687.091 ms/op
[info] compile·p0.90: 53687.091 ms/op
[info] compile·p0.95: 53687.091 ms/op
[info] compile·p0.99: 53687.091 ms/op
[info] compile·p0.999: 53687.091 ms/op
[info] compile·p0.9999: 53687.091 ms/op
[info] compile·p1.00: 53687.091 ms/op
[info] Iteration 4: 53754.200 ms/op
[info] compile·p0.00: 53754.200 ms/op
[info] compile·p0.50: 53754.200 ms/op
[info] compile·p0.90: 53754.200 ms/op
[info] compile·p0.95: 53754.200 ms/op
[info] compile·p0.99: 53754.200 ms/op
[info] compile·p0.999: 53754.200 ms/op
[info] compile·p0.9999: 53754.200 ms/op
[info] compile·p1.00: 53754.200 ms/op
[info] Iteration 5: 53754.200 ms/op
[info] compile·p0.00: 53754.200 ms/op
[info] compile·p0.50: 53754.200 ms/op
[info] compile·p0.90: 53754.200 ms/op
[info] compile·p0.95: 53754.200 ms/op
[info] compile·p0.99: 53754.200 ms/op
[info] compile·p0.999: 53754.200 ms/op
[info] compile·p0.9999: 53754.200 ms/op
[info] compile·p1.00: 53754.200 ms/op
[info] Iteration 6: 53754.200 ms/op
[info] compile·p0.00: 53754.200 ms/op
[info] compile·p0.50: 53754.200 ms/op
[info] compile·p0.90: 53754.200 ms/op
[info] compile·p0.95: 53754.200 ms/op
[info] compile·p0.99: 53754.200 ms/op
[info] compile·p0.999: 53754.200 ms/op
[info] compile·p0.9999: 53754.200 ms/op
[info] compile·p1.00: 53754.200 ms/op
[info] Iteration 7: 53418.656 ms/op
[info] compile·p0.00: 53418.656 ms/op
[info] compile·p0.50: 53418.656 ms/op
[info] compile·p0.90: 53418.656 ms/op
[info] compile·p0.95: 53418.656 ms/op
[info] compile·p0.99: 53418.656 ms/op
[info] compile·p0.999: 53418.656 ms/op
[info] compile·p0.9999: 53418.656 ms/op
[info] compile·p1.00: 53418.656 ms/op
[info] Iteration 8: 53150.220 ms/op
[info] compile·p0.00: 53150.220 ms/op
[info] compile·p0.50: 53150.220 ms/op
[info] compile·p0.90: 53150.220 ms/op
[info] compile·p0.95: 53150.220 ms/op
[info] compile·p0.99: 53150.220 ms/op
[info] compile·p0.999: 53150.220 ms/op
[info] compile·p0.9999: 53150.220 ms/op
[info] compile·p1.00: 53150.220 ms/op
[info] Iteration 9: 52479.132 ms/op
[info] compile·p0.00: 52479.132 ms/op
[info] compile·p0.50: 52479.132 ms/op
[info] compile·p0.90: 52479.132 ms/op
[info] compile·p0.95: 52479.132 ms/op
[info] compile·p0.99: 52479.132 ms/op
[info] compile·p0.999: 52479.132 ms/op
[info] compile·p0.9999: 52479.132 ms/op
[info] compile·p1.00: 52479.132 ms/op
[info] Iteration 10: 52747.567 ms/op
[info] compile·p0.00: 52747.567 ms/op
[info] compile·p0.50: 52747.567 ms/op
[info] compile·p0.90: 52747.567 ms/op
[info] compile·p0.95: 52747.567 ms/op
[info] compile·p0.99: 52747.567 ms/op
[info] compile·p0.999: 52747.567 ms/op
[info] compile·p0.9999: 52747.567 ms/op
[info] compile·p1.00: 52747.567 ms/op
[info] Result "scala.tools.nsc.HotScalacBenchmark.compile":
[info] N = 30
[info] mean = 54364.891 ±(99.9%) 1301.790 ms/op
[info] Histogram, ms/op:
[info] [49000.000, 49500.000) = 0
[info] [49500.000, 50000.000) = 2
[info] [50000.000, 50500.000) = 0
[info] [50500.000, 51000.000) = 0
[info] [51000.000, 51500.000) = 0
[info] [51500.000, 52000.000) = 0
[info] [52000.000, 52500.000) = 1
[info] [52500.000, 53000.000) = 3
[info] [53000.000, 53500.000) = 4
[info] [53500.000, 54000.000) = 4
[info] [54000.000, 54500.000) = 2
[info] [54500.000, 55000.000) = 1
[info] [55000.000, 55500.000) = 5
[info] [55500.000, 56000.000) = 3
[info] [56000.000, 56500.000) = 0
[info] [56500.000, 57000.000) = 2
[info] [57000.000, 57500.000) = 2
[info] Percentiles, ms/op:
[info] p(0.0000) = 49526.342 ms/op
[info] p(50.0000) = 54492.398 ms/op
[info] p(90.0000) = 57008.980 ms/op
[info] p(95.0000) = 57596.183 ms/op
[info] p(99.0000) = 57780.732 ms/op
[info] p(99.9000) = 57780.732 ms/op
[info] p(99.9900) = 57780.732 ms/op
[info] p(99.9990) = 57780.732 ms/op
[info] p(99.9999) = 57780.732 ms/op
[info] p(100.0000) = 57780.732 ms/op
[info] # Run complete. Total time: 01:01:30
[info] REMEMBER: The numbers below are just data. To gain reusable insights, you need to follow up on
[info] why the numbers are the way they are. Use profilers (see -prof, -lprof), design factorial
[info] experiments, perform baseline and negative tests that provide experimental control, make sure
[info] the benchmarking environment is safe on JVM/OS/HW level, ask for reviews from the domain experts.
[info] Do not assume the numbers tell you what you want them to tell.
[info] Benchmark (corpusPath) (corpusVersion) (extraArgs) (resident) (scalaVersion) (source) Mode Cnt Score Error Units
[info] HotScalacBenchmark.compile ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 30 54364.891 ± 1301.790 ms/op
[info] HotScalacBenchmark.compile:compile·p0.00 ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 49526.342 ms/op
[info] HotScalacBenchmark.compile:compile·p0.50 ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 54492.398 ms/op
[info] HotScalacBenchmark.compile:compile·p0.90 ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 57008.980 ms/op
[info] HotScalacBenchmark.compile:compile·p0.95 ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 57596.183 ms/op
[info] HotScalacBenchmark.compile:compile·p0.99 ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 57780.732 ms/op
[info] HotScalacBenchmark.compile:compile·p0.999 ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 57780.732 ms/op
[info] HotScalacBenchmark.compile:compile·p0.9999 ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 57780.732 ms/op
[info] HotScalacBenchmark.compile:compile·p1.00 ../corpus latest false 2.12.6 @/Users/dyoshimitsu/Workspace/GitHub/scalaz/scalaz/core/jvm/target/compile.args sample 57780.732 ms/op
[success] Total time: 3695 s, completed Jul 22, 2018 1:50:04 AM
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment