From aleksey.shipilev at oracle.com Sun Sep 1 23:31:35 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Mon, 02 Sep 2013 06:31:35 +0000 Subject: hg: code-tools/jmh: Make workspace compilable with JDK 6. Message-ID: <20130902063135.8BDF162491@hg.openjdk.java.net> Changeset: f762f75d97c4 Author: shade Date: 2013-09-02 10:31 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/f762f75d97c4 Make workspace compilable with JDK 6. ! jmh-core-it/pom.xml From aleksey.shipilev at oracle.com Mon Sep 2 08:49:56 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Mon, 02 Sep 2013 15:49:56 +0000 Subject: hg: code-tools/jmh: Make the remaining integration tests to run in all BenchmarkMode's. Message-ID: <20130902154956.CE978624A6@hg.openjdk.java.net> Changeset: 81c3c189db30 Author: shade Date: 2013-09-02 19:46 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/81c3c189db30 Make the remaining integration tests to run in all BenchmarkMode's. ! jmh-core-it/src/test/java/org/openjdk/jmh/it/IterationCountAnnTest.java ! jmh-core-it/src/test/java/org/openjdk/jmh/it/WarmupIterationCountAnnTest.java ! jmh-core-it/src/test/java/org/openjdk/jmh/it/WarmupIterationCountCmdTest.java ! jmh-core-it/src/test/java/org/openjdk/jmh/it/ccontrol/CompilerControlDontInlineTest.java ! jmh-core-it/src/test/java/org/openjdk/jmh/it/ccontrol/CompilerControlExcludeTest.java ! jmh-core-it/src/test/java/org/openjdk/jmh/it/ccontrol/CompilerControlInlineTest.java From aleksey.shipilev at oracle.com Tue Sep 10 10:45:51 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Tue, 10 Sep 2013 17:45:51 +0000 Subject: hg: code-tools/jmh: 6 new changesets Message-ID: <20130910174554.A9113626CD@hg.openjdk.java.net> Changeset: 82b8d82d6b66 Author: shade Date: 2013-09-10 14:21 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/82b8d82d6b66 core benchmarks: Blackhole pipeline benchmark. + jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/BlackholePipelineBench.java Changeset: b4f7cf0ebf58 Author: shade Date: 2013-09-10 15:09 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/b4f7cf0ebf58 SilentFormat should also shun the prints. ! jmh-core/src/main/java/org/openjdk/jmh/output/format/SilentFormat.java Changeset: 1b3680027b8b Author: shade Date: 2013-09-10 15:12 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/1b3680027b8b Sample validation test. ! jmh-core-benchmarks/pom.xml + jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/MainValidation.java + jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/NanoTimerBench.java - jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/NanotimeBench.java ! jmh-core/src/main/java/org/openjdk/jmh/util/internal/Statistics.java Changeset: e06625e4b5cb Author: shade Date: 2013-09-10 15:58 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/e06625e4b5cb Score stability bench. + jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/ScoreStabilityBench.java Changeset: 3894e4876293 Author: shade Date: 2013-09-10 16:07 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/3894e4876293 Extend Blackhole pipeline bench. ! jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/BlackholePipelineBench.java Changeset: 192f2396e6db Author: shade Date: 2013-09-10 21:45 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/192f2396e6db Validation workload extended. ! jmh-core-benchmarks/pom.xml + jmh-core-benchmarks/src/main/java/org/openjdk/jmh/MainValidation.java + jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/EmptyBench.java ! jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/LevelInvocationBench.java ! jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/LevelIterationBench.java ! jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/LevelTrialBench.java - jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/MainValidation.java From viy.net at gmail.com Wed Sep 11 14:33:14 2013 From: viy.net at gmail.com (Eugene Voytitsky) Date: Thu, 12 Sep 2013 00:33:14 +0300 Subject: Simplest way to run benchmark for single class? In-Reply-To: <51EFCDE5.6040800@oracle.com> References: <51EFC1B2.9070307@gmail.com> <51EFCDE5.6040800@oracle.com> Message-ID: <5230E19A.8040406@gmail.com> Aleksey, thanks a lot. With your clarifications all are clear and work fine. ps. sorry for late response. On 24.07.13 15:51, Aleksey Shipilev wrote: > Hi Eugene, > > On 07/24/2013 03:59 PM, Eugene Voytitsky wrote: >> I tried to run it from IDEA as app "org.openjdk.jmh.Main -v >> .*JMHSample_11_Loops.*" >> I got: >> No matching benchmarks. Miss-spelled regexp? Use -v for verbose output. >> Benchmarks: >> >> Yes, indeed, I don't have any /META-INF/MicroBenchmarks, so >> MicroBenchmarkList.defaultList() produces empty result. > > Have you tried to force compilation first to let JMH generate that for > you? In IDEA, it seems enough to add "Run Maven Goal 'JMH > Samples:install'" before launching the configuration. > >> I wonder why main() so coupled with defaultList() (with presence of >> /META-INF/MicroBenchmarks file) : >> Runner runner = new Runner(cmdOptions); >> runner.run(MicroBenchmarkList.defaultList()); > > The major issue here is that we generate lots of auxiliary code during > the benchmark compilation, and the entry point is different from the > class you have. Hence, it is not enough to just have the name of class > bearing @GMB methods. We may reconsider this going forward. > > We also see that running benchmarks from IDE is not a good idea anyway: > we better push users to use the standalone VMs where they control the > invocation precisely. > >> I don't want to write any /META-INF/MicroBenchmarks. >> I want to benchmark single class passed as arg to Main. >> >> How to do so? > > You might want to execute the standalone run with "-v" and capture the > forked command line. Although it is the internal API and can be changed > without prior notice. > > -Aleksey > -- Best regards, Eugene Voytitsky From brian.toal at gmail.com Mon Sep 16 23:54:01 2013 From: brian.toal at gmail.com (Brian Toal) Date: Mon, 16 Sep 2013 23:54:01 -0700 Subject: Feature inquiry Message-ID: Does JMH have a feature similar to Caliper's Parameter concept? I found using parameters efficient way to run the same test with a change in a single parameter. In JMH if I have to roll almost the same method with a slight change to the parameter to test the next interesting value. Is there a way to specify a set of thread count's that each eligible test for the run will be executed for? From aleksey.shipilev at oracle.com Tue Sep 17 00:54:09 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Tue, 17 Sep 2013 11:54:09 +0400 Subject: Feature inquiry In-Reply-To: References: Message-ID: <52380AA1.2070800@oracle.com> Hi Brian, On 09/17/2013 10:54 AM, Brian Toal wrote: > Does JMH have a feature similar to Caliper's Parameter concept? I found > using parameters efficient way to run the same test with a change in a > single parameter. In JMH if I have to roll almost the same method with a > slight change to the parameter to test the next interesting value. That was on the roadmap for long, and we are still debating the clear-cut way to implement this in the face of @State-s and other already existing APIs. > Is there a way to specify a set of thread count's that each eligible test > for the run will be executed for? Nope. I think the answer to both questions _now_ is to use the experimental Java API, e.g.: http://hg.openjdk.java.net/code-tools/jmh/file/tip/jmh-api-samples/src/main/java/org/openjdk/jmh/SimpleTest.java -Aleksey. From sergey.kuksenko at oracle.com Tue Sep 17 01:57:02 2013 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Tue, 17 Sep 2013 12:57:02 +0400 Subject: Feature inquiry In-Reply-To: <52380AA1.2070800@oracle.com> References: <52380AA1.2070800@oracle.com> Message-ID: <5238195E.1000501@oracle.com> On 09/17/2013 11:54 AM, Aleksey Shipilev wrote: > Hi Brian, > > On 09/17/2013 10:54 AM, Brian Toal wrote: >> Does JMH have a feature similar to Caliper's Parameter concept? I found >> using parameters efficient way to run the same test with a change in a >> single parameter. In JMH if I have to roll almost the same method with a >> slight change to the parameter to test the next interesting value. > > That was on the roadmap for long, and we are still debating the > clear-cut way to implement this in the face of @State-s and other > already existing APIs. And I have to note that very frequently standard Java properties is enough for me to run same test with different parameters. -- Best regards, Sergey Kuksenko From aleksey.shipilev at oracle.com Tue Sep 17 04:55:42 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Tue, 17 Sep 2013 11:55:42 +0000 Subject: hg: code-tools/jmh: False sharing sample. Message-ID: <20130917115543.9FF79628A8@hg.openjdk.java.net> Changeset: d88ac2fba077 Author: shade Date: 2013-09-17 15:55 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/d88ac2fba077 False sharing sample. + jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_22_FalseSharing.java From aleksey.shipilev at oracle.com Tue Sep 17 05:24:54 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Tue, 17 Sep 2013 12:24:54 +0000 Subject: hg: code-tools/jmh: False sharing sample updated. Message-ID: <20130917122454.A5130628AE@hg.openjdk.java.net> Changeset: 5287c524e154 Author: shade Date: 2013-09-17 16:23 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/5287c524e154 False sharing sample updated. ! jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_22_FalseSharing.java From sergey.kuksenko at oracle.com Tue Sep 17 05:41:57 2013 From: sergey.kuksenko at oracle.com (Sergey Kuksenko) Date: Tue, 17 Sep 2013 16:41:57 +0400 Subject: hg: code-tools/jmh: False sharing sample updated. In-Reply-To: <20130917122454.A5130628AE@hg.openjdk.java.net> References: <20130917122454.A5130628AE@hg.openjdk.java.net> Message-ID: <52384E15.2020105@oracle.com> Have you chance to check CACHE_LINE_SIZE = 128;? How big impact of "Adjacent line prefetch"? On 09/17/2013 04:24 PM, aleksey.shipilev at oracle.com wrote: > Changeset: 5287c524e154 > Author: shade > Date: 2013-09-17 16:23 +0400 > URL: http://hg.openjdk.java.net/code-tools/jmh/rev/5287c524e154 > > False sharing sample updated. > > ! jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_22_FalseSharing.java > -- Best regards, Sergey Kuksenko From aleksey.shipilev at oracle.com Tue Sep 17 05:42:55 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Tue, 17 Sep 2013 16:42:55 +0400 Subject: hg: code-tools/jmh: False sharing sample updated. In-Reply-To: <52384E15.2020105@oracle.com> References: <20130917122454.A5130628AE@hg.openjdk.java.net> <52384E15.2020105@oracle.com> Message-ID: <52384E4F.1010005@oracle.com> Nope, haven't checked. -Aleksey. On 09/17/2013 04:41 PM, Sergey Kuksenko wrote: > Have you chance to check CACHE_LINE_SIZE = 128;? > How big impact of "Adjacent line prefetch"? > > On 09/17/2013 04:24 PM, aleksey.shipilev at oracle.com wrote: >> Changeset: 5287c524e154 >> Author: shade >> Date: 2013-09-17 16:23 +0400 >> URL: http://hg.openjdk.java.net/code-tools/jmh/rev/5287c524e154 >> >> False sharing sample updated. >> >> ! jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_22_FalseSharing.java >> From brian.toal at gmail.com Tue Sep 17 07:57:15 2013 From: brian.toal at gmail.com (Brian Toal) Date: Tue, 17 Sep 2013 07:57:15 -0700 Subject: Feature inquiry In-Reply-To: <5238195E.1000501@oracle.com> References: <52380AA1.2070800@oracle.com> <5238195E.1000501@oracle.com> Message-ID: Thanks guys. Agreed that properties could be used to influence benchmark mechanics. It's nice to be able to kick off the harness once with the set of parameters and threads and have all the results in a single report making comparable analysis efficient. I find myself writing test suites that may take long time to run, so I'd like to start them and let then run while I'm working on some other task without having to keep checking back to run with the next set of params. On Tuesday, September 17, 2013, Sergey Kuksenko wrote: > On 09/17/2013 11:54 AM, Aleksey Shipilev wrote: > > Hi Brian, > > > > On 09/17/2013 10:54 AM, Brian Toal wrote: > >> Does JMH have a feature similar to Caliper's Parameter concept? I found > >> using parameters efficient way to run the same test with a change in a > >> single parameter. In JMH if I have to roll almost the same method with > a > >> slight change to the parameter to test the next interesting value. > > > > That was on the roadmap for long, and we are still debating the > > clear-cut way to implement this in the face of @State-s and other > > already existing APIs. > > And I have to note that very frequently standard Java properties is > enough for me to run same test with different parameters. > > -- > Best regards, > Sergey Kuksenko > From julien.nicoulaud at gmail.com Sat Sep 21 12:09:20 2013 From: julien.nicoulaud at gmail.com (Julien Nicoulaud) Date: Sat, 21 Sep 2013 21:09:20 +0200 Subject: Runner API request: custom OutputFormat Message-ID: Hi, Thanks for the Options and Results API polishing, jmh is getting more and more usable. The last annoyance for me is that one cannot provide its own implementation of OutputFormat. It would be as easy as adding a public constructor to Runner that takes the OutputFormat as an argument. Regards, Julien From aleksey.shipilev at oracle.com Mon Sep 23 01:44:10 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Mon, 23 Sep 2013 12:44:10 +0400 Subject: Runner API request: custom OutputFormat In-Reply-To: References: Message-ID: <523FFF5A.2050502@oracle.com> Hi Julien, On 09/21/2013 11:09 PM, Julien Nicoulaud wrote: > The last annoyance for me is that one cannot provide its own implementation > of OutputFormat. It would be as easy as adding a public constructor to > Runner that takes the OutputFormat as an argument. I need to understand the use case better. OutputFormat is only convenient to get the online results, i.e. getting the results while the benchmark is still running, in order to do pretty printing. (In fact, I was considering removing all OutputFormats except for very basic ones). After the run is finished it should be easier to traverse the RunResult, and extract the data from there. What is the use case you are after? -Aleksey. From julien.nicoulaud at gmail.com Mon Sep 23 09:59:31 2013 From: julien.nicoulaud at gmail.com (Julien Nicoulaud) Date: Mon, 23 Sep 2013 09:59:31 -0700 Subject: Runner API request: custom OutputFormat In-Reply-To: <523FFF5A.2050502@oracle.com> References: <523FFF5A.2050502@oracle.com> Message-ID: Hi Aleksey, I plan on writing an IntelliJ IDEA plugin for JMH, so getting results as they come is what I'm trying to do. Also, a more general use case is to print results to a logging system such as SLF4J, and not directly replacing System.out. 2013/9/23 Aleksey Shipilev > Hi Julien, > > On 09/21/2013 11:09 PM, Julien Nicoulaud wrote: > > The last annoyance for me is that one cannot provide its own > implementation > > of OutputFormat. It would be as easy as adding a public constructor to > > Runner that takes the OutputFormat as an argument. > > I need to understand the use case better. OutputFormat is only > convenient to get the online results, i.e. getting the results while the > benchmark is still running, in order to do pretty printing. (In fact, I > was considering removing all OutputFormats except for very basic ones). > After the run is finished it should be easier to traverse the RunResult, > and extract the data from there. What is the use case you are after? > > -Aleksey. > From aleksey.shipilev at oracle.com Mon Sep 23 11:46:10 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Mon, 23 Sep 2013 18:46:10 +0000 Subject: hg: code-tools/jmh: Experimental Runner(Options, OutputFormat) constructor. Message-ID: <20130923184611.6C50662A60@hg.openjdk.java.net> Changeset: 6d995aa6d6de Author: shade Date: 2013-09-23 22:45 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/6d995aa6d6de Experimental Runner(Options, OutputFormat) constructor. ! jmh-core/src/main/java/org/openjdk/jmh/runner/Runner.java From aleksey.shipilev at oracle.com Mon Sep 23 11:46:44 2013 From: aleksey.shipilev at oracle.com (Aleksey Shipilev) Date: Mon, 23 Sep 2013 22:46:44 +0400 Subject: Runner API request: custom OutputFormat In-Reply-To: References: <523FFF5A.2050502@oracle.com> Message-ID: <52408C94.5040808@oracle.com> On 09/23/2013 08:59 PM, Julien Nicoulaud wrote: > I plan on writing an IntelliJ IDEA plugin for JMH, so getting results > as they come is what I'm trying to do. Ok, here is what I'm going to do. As you suggested, the Runner now has the constructor accepting the OutputFormat: $ hg tip changeset: 183:6d995aa6d6de tag: tip user: shade date: Mon Sep 23 22:45:52 2013 +0400 summary: Experimental Runner(Options, OutputFormat) constructor. However, I marked this API as experimental, which means it could be changed without notice. It should be enough for you to play with the IDEA plugin. In the mean time, we can figure out if we want to turn this into the stable API. Thanks, -Aleksey. From aleksey.shipilev at oracle.com Thu Sep 26 03:53:39 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Thu, 26 Sep 2013 10:53:39 +0000 Subject: hg: code-tools/jmh: Accept @OperationsPerInvocation as the class-level annotation. Message-ID: <20130926105341.522E762B07@hg.openjdk.java.net> Changeset: 07d522190f84 Author: shade Date: 2013-09-26 12:19 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/07d522190f84 Accept @OperationsPerInvocation as the class-level annotation. ! jmh-core/src/main/java/org/openjdk/jmh/annotations/OperationsPerInvocation.java ! jmh-core/src/main/java/org/openjdk/jmh/processor/internal/GenerateMicroBenchmarkProcessor.java From aleksey.shipilev at oracle.com Thu Sep 26 10:01:23 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Thu, 26 Sep 2013 17:01:23 +0000 Subject: hg: code-tools/jmh: 3 new changesets Message-ID: <20130926170125.A0D3262B0F@hg.openjdk.java.net> Changeset: 32a5a7addff6 Author: shade Date: 2013-09-26 19:12 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/32a5a7addff6 Make Threads.MAX magic value; "0" is not special value anymore. + jmh-core-it/src/test/java/org/openjdk/jmh/it/threads/MaxThreadCountTest.java - jmh-core-it/src/test/java/org/openjdk/jmh/it/threads/ZeroThreadCountTest.java ! jmh-core/src/main/java/org/openjdk/jmh/annotations/Threads.java ! jmh-core/src/main/java/org/openjdk/jmh/processor/internal/GenerateMicroBenchmarkProcessor.java ! jmh-core/src/main/java/org/openjdk/jmh/runner/options/CommandLineOptions.java ! jmh-core/src/main/java/org/openjdk/jmh/runner/options/OptionsBuilder.java ! jmh-core/src/main/java/org/openjdk/jmh/runner/options/handlers/ThreadsOptionHandler.java ! jmh-core/src/main/java/org/openjdk/jmh/runner/parameters/BenchmarkParams.java ! jmh-core/src/test/java/org/openjdk/jmh/runner/options/TestOptions.java Changeset: 78de3267fb5a Author: shade Date: 2013-09-26 20:03 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/78de3267fb5a Minor formatting, missing space. ! jmh-core/src/main/java/org/openjdk/jmh/logic/results/Result.java Changeset: 5aa156267caa Author: shade Date: 2013-09-26 20:17 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/5aa156267caa Asymmetric benchmarks to treat @Threads(0) properly. (Plumbing fix, should redo the entire thing cleaner) + jmh-core-it/src/test/java/org/openjdk/jmh/it/asymm/ExactThreadCountTest.java + jmh-core-it/src/test/java/org/openjdk/jmh/it/asymm/Zero1ThreadCountTest.java + jmh-core-it/src/test/java/org/openjdk/jmh/it/asymm/Zero2ThreadCountTest.java ! jmh-core/src/main/java/org/openjdk/jmh/processor/internal/GenerateMicroBenchmarkProcessor.java From aleksey.shipilev at oracle.com Thu Sep 26 10:06:17 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Thu, 26 Sep 2013 17:06:17 +0000 Subject: hg: code-tools/jmh: Force @Group() tag to be valid Java identifier, to evade some nasty collisions. Message-ID: <20130926170617.6505662B10@hg.openjdk.java.net> Changeset: 90631ae36974 Author: shade Date: 2013-09-26 21:05 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/90631ae36974 Force @Group() tag to be valid Java identifier, to evade some nasty collisions. - jmh-core-it/src/test/java/org/openjdk/jmh/it/compile/GroupLabelTest.java ! jmh-core/src/main/java/org/openjdk/jmh/annotations/Group.java ! jmh-core/src/main/java/org/openjdk/jmh/processor/internal/GenerateMicroBenchmarkProcessor.java From aleksey.shipilev at oracle.com Fri Sep 27 00:28:07 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Fri, 27 Sep 2013 07:28:07 +0000 Subject: hg: code-tools/jmh: 3 new changesets Message-ID: <20130927072808.179B162B5C@hg.openjdk.java.net> Changeset: c6ec28d46af3 Author: shade Date: 2013-09-27 11:04 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/c6ec28d46af3 Don't print "null" with sample report. ! jmh-core/src/main/java/org/openjdk/jmh/logic/results/SampleTimePerOp.java Changeset: fde33cbb4ced Author: shade Date: 2013-09-27 11:11 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/fde33cbb4ced Tune up sampling start to get the first sample always. ! jmh-core/src/main/java/org/openjdk/jmh/processor/internal/GenerateMicroBenchmarkProcessor.java Changeset: 1a562b8e78b0 Author: shade Date: 2013-09-27 11:27 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/1a562b8e78b0 Reduce the sampling buffer to 1000. There is no improvement in accuracy in going for 10000, while it considerably bloats the post-processing time. ! jmh-core/src/main/java/org/openjdk/jmh/util/internal/SampleBuffer.java From aleksey.shipilev at oracle.com Fri Sep 27 00:42:50 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Fri, 27 Sep 2013 07:42:50 +0000 Subject: hg: code-tools/jmh: Shortcut percentile estimation in BootstrappedStatistics. Message-ID: <20130927074251.5CA8A62B5F@hg.openjdk.java.net> Changeset: b96824f0578d Author: shade Date: 2013-09-27 11:42 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/b96824f0578d Shortcut percentile estimation in BootstrappedStatistics. ! jmh-core/src/main/java/org/openjdk/jmh/util/internal/BootstrappedStatistics.java ! jmh-core/src/main/java/org/openjdk/jmh/util/internal/Statistics.java From aleksey.shipilev at oracle.com Fri Sep 27 01:03:05 2013 From: aleksey.shipilev at oracle.com (aleksey.shipilev at oracle.com) Date: Fri, 27 Sep 2013 08:03:05 +0000 Subject: hg: code-tools/jmh: Move the zero check to Statistics.getPercentile. Message-ID: <20130927080306.1B11062B60@hg.openjdk.java.net> Changeset: f2babe7f11c0 Author: shade Date: 2013-09-27 12:02 +0400 URL: http://hg.openjdk.java.net/code-tools/jmh/rev/f2babe7f11c0 Move the zero check to Statistics.getPercentile. ! jmh-core/src/main/java/org/openjdk/jmh/util/internal/Statistics.java