-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/28710/
-----------------------------------------------------------

(Updated Dec. 10, 2014, 1:22 a.m.)


Review request for Aurora, Kevin Sweeney and Bill Farner.


Changes
-------

CR comments.


Repository: aurora


Description
-------

This RB is superseding the https://reviews.apache.org/r/28474/.


I have spent some time researching the available microbenchmark frameworks and 
JMH [1] came as a clear winner:
- Active development trail [2]
- Advanced featureset and built-in optimizations improving accuracy and 
consistency [3]
- Well documented set of examples [4]
- Large community experience and collective wisdom. 


This RB adds gradle support for running JMH benchmarks and is relying on JMH 
gradle plugin [5]. The benchmarks are run via `./gradlew jmh` command.

[1] - http://openjdk.java.net/projects/code-tools/jmh/
[2] - http://hg.openjdk.java.net/code-tools/jmh/ 
[3] - 
https://groups.google.com/forum/#!msg/mechanical-sympathy/m4opvy4xq3U/7lY8x8SvHgwJ
[4] - 
http://hg.openjdk.java.net/code-tools/jmh/file/adb6047266d8/jmh-samples/src/main/java/org/openjdk/jmh/samples
[5] - https://github.com/melix/jmh-gradle-plugin


Diffs (updated)
-----

  build.gradle 152ba631e2dd07f0306e58e355274e10a4128140 
  config/findbugs/excludeFilter.xml d6c1b1681c2d8505a088f9fb082ce11ac400126f 
  src/jmh/java/org/apache/aurora/benchmark/SchedulerBenchmark.java PRE-CREATION 

Diff: https://reviews.apache.org/r/28710/diff/


Testing
-------

$ ./gradlew jmh

Sample results generated:

```
# VM invoker: 
/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home/jre/bin/java
# VM options: -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en 
-Duser.variant
# Warmup: 1 iterations, 1 s each
# Measurement: 3 iterations, 1 s each
# Timeout: 10 min per iteration
# Threads: 1 thread, will synchronize iterations
# Benchmark mode: Throughput, ops/time
# Benchmark: org.apache.aurora.benchmark.SchedulerBenchmark.example

# Run progress: 0.00% complete, ETA 00:00:04
# Fork: 1 of 1
# Warmup Iteration   1: 3156839103.911 ops/s
Iteration   1: 3333544897.411 ops/s
Iteration   2: 3357230627.218 ops/s
Iteration   3: 3461073727.560 ops/s


Result: 3383949750.729 ±(99.9%) 1237528915.517 ops/s [Average]
  Statistics: (min, avg, max) = (3333544897.411, 3383949750.729, 
3461073727.560), stdev = 67833135.714
  Confidence interval (99.9%): [2146420835.212, 4621478666.247]


# Run complete. Total time: 00:00:05

Benchmark                              Mode  Samples           Score            
Error  Units
o.a.a.b.SchedulerBenchmark.example    thrpt        3  3383949750.729 ± 
1237528915.517  ops/s

```


Thanks,

Maxim Khutornenko

Reply via email to