RFR: 7903367: JMH: Add JMHSample_39_MemoryAccess [v2]

Aleksey Shipilev shade at openjdk.org
Wed Oct 19 14:47:31 UTC 2022


On Wed, 19 Oct 2022 14:41:38 GMT, Vsevolod Tolstopyatov <duke at openjdk.org> wrote:

>> jmh-samples/src/main/java/org/openjdk/jmh/samples/JMHSample_39_MemoryAccess.java line 65:
>> 
>>> 63:      * Benchmark                               Mode  Cnt    Score   Error  Units
>>> 64:      * JMHSample_39_MemoryAccess.sumArray      avgt   25   50.393 ± 0.407  ms/op
>>> 65:      * JMHSample_39_MemoryAccess.sumArrayList  avgt   25  299.868 ± 1.591  ms/op
>> 
>> It maybe can be even more educational if the benchmarks will expose how *unstable* such measurements are.
>> 
>> Having a third benchmark with the same `ArrayList` with the same `Integer` objects, but **shuffled** yields a completely different result. The educational hint here is that it can be GC who can do the actual shuffle
>
> My machine, `N = 20_000_000`:
> 
> 
> Benchmark                          Mode  Cnt    Score    Error  Units
> MemoryAccess.sumArray              avgt    5    7.296 ±  0.276  ms/op
> MemoryAccess.sumArrayList          avgt    5   45.077 ±  1.787  ms/op
> MemoryAccess.sumArrayListShuffled  avgt    5  544.628 ± 64.948  ms/op

Yes, @mmirwaldt, do that ^ ;)

-------------

PR: https://git.openjdk.org/jmh/pull/85


More information about the jmh-dev mailing list