Mercurial > hg > gc-bench
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)