aurora-reviews mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Maxim Khutornenko" <ma...@apache.org>
Subject Re: Review Request 28710: Adding JMH framework support for scheduler performance analysis.
Date Sat, 06 Dec 2014 00:32:47 GMT


> On Dec. 5, 2014, 7:42 p.m., Kevin Sweeney wrote:
> > build.gradle, line 53
> > <https://reviews.apache.org/r/28710/diff/1/?file=782698#file782698line53>
> >
> >     This should be unneeded.

Dropped.


> On Dec. 5, 2014, 7:42 p.m., Kevin Sweeney wrote:
> > build.gradle, line 103
> > <https://reviews.apache.org/r/28710/diff/3/?file=783833#file783833line103>
> >
> >     im not convinced you want to apply this to the api subproject.

This was only needed to make :api recognize .jmh configuration. However, played a bit more
and found a way to reference parent configuration. Dropped.


> On Dec. 5, 2014, 7:42 p.m., Kevin Sweeney wrote:
> > build.gradle, line 156
> > <https://reviews.apache.org/r/28710/diff/3/?file=783833#file783833line156>
> >
> >     Do we want to apply jmh to the 'api' project? I'd think we'd want to add the
root. That will give you the benefit of not having to disable this task on the api project
at all.

Gone.


> On Dec. 5, 2014, 7:42 p.m., Kevin Sweeney wrote:
> > build.gradle, line 165
> > <https://reviews.apache.org/r/28710/diff/3/?file=783833#file783833line165>
> >
> >     should this be a test scope? also should this be in the root project instead
of the api project?

It's only needed to resolve /jmh deps. Test scope is irrelevant here.


> On Dec. 5, 2014, 7:42 p.m., Kevin Sweeney wrote:
> > build.gradle, line 458
> > <https://reviews.apache.org/r/28710/diff/3/?file=783833#file783833line458>
> >
> >     Does
> >     
> >     ```groovy
> >     tasks('jmh') << {
> >       //...
> >     }
> >     ```
> >     
> >     work?

It does not: `> Could not find method tasks() for arguments [jmh] on root project 'aurora'.`


- Maxim


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


On Dec. 5, 2014, 6:32 p.m., Maxim Khutornenko wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/28710/
> -----------------------------------------------------------
> 
> (Updated Dec. 5, 2014, 6:32 p.m.)
> 
> 
> Review request for Aurora, Kevin Sweeney and Bill Farner.
> 
> 
> 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
> -----
> 
>   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
> 
>


Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message