Mercurial > hg > gc-bench
changeset 25:81534f5c46ee
Rehash sieve.* test.
author | shade |
---|---|
date | Wed, 30 Nov 2016 13:26:18 +0100 |
parents | ab1efd8dbcde |
children | 766b00b04b92 |
files | src/main/java/org/openjdk/gcbench/GCBench.java src/main/java/org/openjdk/gcbench/sieve/Objects.java |
diffstat | 2 files changed, 9 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/src/main/java/org/openjdk/gcbench/GCBench.java Wed Nov 30 13:10:29 2016 +0100 +++ b/src/main/java/org/openjdk/gcbench/GCBench.java Wed Nov 30 13:26:18 2016 +0100 @@ -257,7 +257,7 @@ tests.add(new DimensionalTest(baseOpts, org.openjdk.gcbench.sieve.Objects.class, "sieve.object", groupDescr + "Allocates Java Objects.", Dimensions.heapSize(8), - Dimensions.size(Sequence.powersOfTen_Sub(10, 10_000_000)) + Dimensions.size(Sequence.powersOfTen_Sub(1, 10_000)) )); }
--- a/src/main/java/org/openjdk/gcbench/sieve/Objects.java Wed Nov 30 13:10:29 2016 +0100 +++ b/src/main/java/org/openjdk/gcbench/sieve/Objects.java Wed Nov 30 13:26:18 2016 +0100 @@ -5,11 +5,13 @@ import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ThreadLocalRandom; import java.util.concurrent.TimeUnit; @BenchmarkMode(Mode.AverageTime) @OutputTimeUnit(TimeUnit.NANOSECONDS) @State(Scope.Thread) +@Threads(Threads.MAX) public class Objects { List<Object> retained; @@ -24,13 +26,14 @@ @Benchmark public void test(Blackhole bh) { - for (int c = 0; c < size; c++) { + if (ThreadLocalRandom.current().nextInt(size) == 0) { + retained.add(new Object()); + if (retained.size() > 1_000_000) { + retained.clear(); + } + } else { bh.consume(new Object()); } - retained.add(new Object()); - if (retained.size() > 1_000_000) { - retained.clear(); - } } }