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();
-        }
     }
 
 }