changeset 5:506d9edc1427

Fix up fraggers.
author shade
date Mon, 28 Nov 2016 12:40:29 +0100
parents 985f404de0a8
children 86ac912c8db1
files src/main/java/org/openjdk/gcbench/GCBench.java src/main/java/org/openjdk/gcbench/fragger/ArrayFragger.java src/main/java/org/openjdk/gcbench/fragger/LinkedListFragger.java src/main/java/org/openjdk/gcbench/fragger/TreeFragger.java
diffstat 4 files changed, 17 insertions(+), 20 deletions(-) [+]
line wrap: on
line diff
--- a/src/main/java/org/openjdk/gcbench/GCBench.java	Mon Nov 28 12:01:38 2016 +0100
+++ b/src/main/java/org/openjdk/gcbench/GCBench.java	Mon Nov 28 12:40:29 2016 +0100
@@ -182,13 +182,13 @@
         {
             String groupDescr = "Populates heap with data, and randomly overwrites the part of it to cause fragmentation. ";
 
-            tests.add(new AllocRateSizeTest(baseOpts, org.openjdk.gcbench.fragger.ArrayFragger.class,
+            tests.add(new HeapSizeTest(baseOpts, org.openjdk.gcbench.fragger.ArrayFragger.class,
                     "fragger.arraylist", groupDescr + "Retains an ArrayList."));
 
-            tests.add(new AllocRateSizeTest(baseOpts, org.openjdk.gcbench.fragger.TreeFragger.class,
-                    "fragger.tree", groupDescr + "Retains an binary tree of Nodes."));
+            tests.add(new HeapSizeTest(baseOpts, org.openjdk.gcbench.fragger.TreeFragger.class,
+                    "fragger.tree", groupDescr + "Retains a binary tree of Nodes."));
 
-            tests.add(new AllocRateSizeTest(baseOpts, org.openjdk.gcbench.fragger.LinkedListFragger.class,
+            tests.add(new HeapSizeTest(baseOpts, org.openjdk.gcbench.fragger.LinkedListFragger.class,
                     "fragger.linkedlist", groupDescr + "Retains a LinkedList."));
         }
 
--- a/src/main/java/org/openjdk/gcbench/fragger/ArrayFragger.java	Mon Nov 28 12:01:38 2016 +0100
+++ b/src/main/java/org/openjdk/gcbench/fragger/ArrayFragger.java	Mon Nov 28 12:40:29 2016 +0100
@@ -8,7 +8,7 @@
 
 @Warmup(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
 @Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS)
-//@Fork(value = 1, jvmArgsAppend = {"-Xmx2g", "-Xms2g"})
+@Fork(value = 1)
 @BenchmarkMode(Mode.Throughput)
 @OutputTimeUnit(TimeUnit.SECONDS)
 @Threads(Threads.MAX)
--- a/src/main/java/org/openjdk/gcbench/fragger/LinkedListFragger.java	Mon Nov 28 12:01:38 2016 +0100
+++ b/src/main/java/org/openjdk/gcbench/fragger/LinkedListFragger.java	Mon Nov 28 12:40:29 2016 +0100
@@ -17,9 +17,9 @@
 public class LinkedListFragger {
 
     @Param({"1", "10", "100", "1000", "10000"})
-    int objSize;
+    int size;
 
-    @Param({"10", "100", "1000"})
+    @Param({"1000"})
     int ldsMB;
 
     List<Object> objects;
@@ -28,10 +28,10 @@
 
     @Setup
     public void setup() {
-        count = (int)Math.max(1, (1L * ldsMB * 1024 * 1024) / align(16 + 4 + objSize, 8));
+        count = (int)Math.max(1, (1L * ldsMB * 1024 * 1024) / align(16 + 4 + size, 8));
         objects = new LinkedList();
         for (int c = 0; c < count; c++) {
-            objects.add(new byte[objSize]);
+            objects.add(new byte[size]);
         }
     }
 
@@ -45,7 +45,7 @@
 
     @Benchmark
     public void test() {
-        doStore(ThreadLocalRandom.current().nextInt(count), new byte[objSize]);
+        doStore(ThreadLocalRandom.current().nextInt(count), new byte[size]);
     }
 
     @CompilerControl(CompilerControl.Mode.DONT_INLINE)
--- a/src/main/java/org/openjdk/gcbench/fragger/TreeFragger.java	Mon Nov 28 12:01:38 2016 +0100
+++ b/src/main/java/org/openjdk/gcbench/fragger/TreeFragger.java	Mon Nov 28 12:40:29 2016 +0100
@@ -15,9 +15,9 @@
 public class TreeFragger {
 
     @Param({"1", "10", "100", "1000", "10000"})
-    int objSize;
+    int size;
 
-    @Param({"10", "100", "1000"})
+    @Param({"1000"})
     int ldsMB;
 
     Node root;
@@ -28,32 +28,29 @@
     public void setup() {
         int sizePerCount =
                         align(12 + 3*4, 8) +        // Node
-                        align(12 + 4 + objSize, 8); // array
+                        align(12 + 4 + size, 8); // array
         count = (int)Math.max(1, (1L * ldsMB * 1024 * 1024) / sizePerCount);
 
-        root = new Node(new byte[objSize]);
+        root = new Node(new byte[size]);
 
         for (int addr = 0; addr < count; addr++) {
             Node cur = root;
             for (int m = 31 - Integer.numberOfLeadingZeros(addr); m >= 0; m--) {
                 if ((addr & (1 << m)) != 0) {
                     if (cur.left == null) {
-                        cur.left = new Node(new byte[objSize]);
+                        cur.left = new Node(new byte[size]);
                     }
                     cur = cur.left;
                 } else {
                     if (cur.right == null) {
-                        cur.right = new Node(new byte[objSize]);
+                        cur.right = new Node(new byte[size]);
                     }
                     cur = cur.right;
                 }
             }
         }
-        System.out.println("Setup completed");
     }
 
-
-
     public static int align(int size, int align) {
         if ((size % align) == 0) {
             return size;
@@ -64,7 +61,7 @@
 
     @Benchmark
     public void test() {
-        doStore(ThreadLocalRandom.current().nextInt(count), new byte[objSize]);
+        doStore(ThreadLocalRandom.current().nextInt(count), new byte[size]);
     }
 
     @CompilerControl(CompilerControl.Mode.DONT_INLINE)