OSDN Git Service

This test stopped being useful quite a while ago.
authorDan Bornstein <danfuzz@android.com>
Thu, 17 Feb 2011 22:20:55 +0000 (14:20 -0800)
committerDan Bornstein <danfuzz@android.com>
Thu, 17 Feb 2011 22:20:55 +0000 (14:20 -0800)
Change-Id: I2069770f9b7456e4f3cde692d9a6b929ec7fe067

tests/057-iteration-performance/expected.txt [deleted file]
tests/057-iteration-performance/info.txt [deleted file]
tests/057-iteration-performance/src/Main.java [deleted file]

diff --git a/tests/057-iteration-performance/expected.txt b/tests/057-iteration-performance/expected.txt
deleted file mode 100644 (file)
index 9d59a5e..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-Running A...
-Running B...
-Running C...
-Running D...
-Running E...
-Running F...
-Running G...
-Running H...
-Done with runs.
-
-All times are within the expected ranges.
diff --git a/tests/057-iteration-performance/info.txt b/tests/057-iteration-performance/info.txt
deleted file mode 100644 (file)
index 36b5adc..0000000
+++ /dev/null
@@ -1,2 +0,0 @@
-This is a performance test of various iterator uses. To see the numbers,
-invoke this test with the "--timing" option.
diff --git a/tests/057-iteration-performance/src/Main.java b/tests/057-iteration-performance/src/Main.java
deleted file mode 100644 (file)
index d562802..0000000
+++ /dev/null
@@ -1,1108 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- *      http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-import java.util.ArrayList;
-
-/**
- * The matrix of tests includes the A-E axis for loop body contents and
- * the 0-5 axis for iterator style.
- *
- * <ul>
- * <li>A: empty body</li>
- * <li>B: array element access and update</li>
- * <li>C: instance field access and update</li>
- * <li>D: method call to empty method</li>
- * <li>E: synch and then method call to empty method</li>
- * <li>F: 5 method calls to empty method</li>
- * <li>G: one small object allocation (empty constructor)</li>
- * <li>H: copy 8k of bytes from one array to another</li>
- * </ul>
- *
- * <ul>
- * <li>0: for() loop backward to 0</li>
- * <li>1: for() loop forward to local variable</li>
- * <li>2: for() loop forward to array length</li>
- * <li>3: for(:) loop over array</li>
- * <li>4: for() loop forward to instance variable</li>
- * <li>5: for() loop forward to trivial method call</li>
- * <li>6: for(:) loop over ArrayList</li>
- * </ul>
- */
-public class Main {
-    static public final int BODIES = 8;
-    static public final int LOOPS = 7;
-
-    static public void main(String[] args) throws Exception {
-        boolean timing = (args.length >= 1) && args[0].equals("--timing");
-
-        int iters = 100;
-        double probeSec;
-
-        for (;;) {
-            long t0 = System.nanoTime();
-            runAllTests(iters, false);
-            long t1 = System.nanoTime();
-
-            probeSec = (t1 - t0) / 1000000000.0;
-            if (probeSec > 0.25) {
-                break;
-            }
-
-            iters *= 2;
-        }
-
-        // Attempt to arrange for the real test to take 20 seconds.
-        iters = (int) ((iters / probeSec) * 20);
-
-        if (timing) {
-            System.out.println("iters = " + iters);
-        }
-
-        run(timing, iters);
-    }
-
-    static private enum Normalization {
-        NONE, PER_COLUMN, TOP_LEFT;
-    }
-
-    static public void printTimings(double[][] timings, Normalization norm) {
-        System.out.println();
-        System.out.printf("%-7s   A        B        C        D        E" +
-                "        F        G        H\n",
-                (norm == Normalization.NONE) ? "(usec)" : "(ratio)");
-        System.out.println("      -------- -------- -------- -------- " +
-                "-------- -------- -------- --------");
-
-        double bases[] = new double[BODIES];
-        for (int i = 0; i < BODIES; i++) {
-            double n;
-            switch (norm) {
-                case PER_COLUMN:  n = timings[i][0]; break;
-                case TOP_LEFT:    n = timings[0][0]; break;
-                default /*NONE*/: n = 1.0;           break;
-            }
-            bases[i] = n;
-        }
-
-        for (int i = 0; i < LOOPS; i++) {
-            System.out.printf("%4d: %8.3g %8.3g %8.3g %8.3g %8.3g %8.3g " +
-                    "%8.3g %8.3g\n",
-                    i,
-                    timings[0][i] / bases[0],
-                    timings[1][i] / bases[1],
-                    timings[2][i] / bases[2],
-                    timings[3][i] / bases[3],
-                    timings[4][i] / bases[4],
-                    timings[5][i] / bases[5],
-                    timings[6][i] / bases[6],
-                    timings[7][i] / bases[7]);
-        }
-    }
-
-    static public void run(boolean timing, int iters) {
-        double[][] timings = null; // assign to avoid apparent javac bug
-
-        // Try up to 5 times to get good times.
-        for (int i = 0; i < 5; i++) {
-            double[][] newTimings = runAllTests(iters, timing || (i == 0));
-
-            if (timings == null) {
-                timings = newTimings;
-            } else {
-                combineTimings(timings, newTimings, i);
-            }
-
-            if (checkTimes(timings, timing)) {
-                break;
-            }
-        }
-
-        System.out.println("Done with runs.");
-
-        boolean goodTimes = checkTimes(timings, true);
-
-        if (! goodTimes) {
-            timing = true;
-        }
-
-        if (timing) {
-            printTimings(timings, Normalization.NONE);
-            printTimings(timings, Normalization.TOP_LEFT);
-            printTimings(timings, Normalization.PER_COLUMN);
-        } else {
-            System.out.println("\nAll times are within the expected ranges.");
-        }
-    }
-
-    static public void combineTimings(double[][] target, double[][] newTimes,
-            int oldWeight) {
-        for (int i = 0; i < target.length; i++) {
-            for (int j = 0; j < target[i].length; j++) {
-                target[i][j] =
-                    ((target[i][j] * oldWeight) + newTimes[i][j])
-                    / (oldWeight + 1);
-            }
-        }
-    }
-
-    static public boolean checkTimes(double[][] timings, boolean print) {
-        // expected increase over A1
-        double[][] expected = {
-            {  1.0,  2.3,  2.4,  3.3,  6.5, 12.0, 57.0,  94.0 },
-            {  1.2,  2.4,  2.5,  3.4,  6.6, 12.2, 60.0,  95.0 },
-            {  1.5,  2.6,  2.9,  3.5,  6.7, 12.4, 63.0,  96.0 },
-            {  1.6,  2.8,  2.9,  3.6,  6.8, 12.6, 63.5,  97.0 },
-            {  1.7,  3.0,  2.9,  3.7,  6.9, 12.8, 64.0,  98.0 },
-            {  6.0,  6.0,  6.0,  7.0, 10.0, 15.0, 64.5, 105.0 },
-            { 31.0, 31.2, 31.5, 34.0, 41.0, 43.0, 91.0, 135.0 },
-        };
-
-        boolean good = true;
-
-        for (int x = 0; x < BODIES; x++) {
-            for (int y = 0; y < LOOPS; y++) {
-                double ratio = timings[x][y] / timings[0][0];
-                if (ratio > expected[y][x]) {
-                    if (print) {
-                        System.out.printf("%c%d is too slow: %.3g vs. %.3g\n",
-                                (char) (x + 'A'), y, ratio, expected[y][x]);
-                    }
-                    good = false;
-                }
-            }
-        }
-
-        return good;
-    }
-
-    static public double[][] runAllTests(int iters, boolean print) {
-        // diters is used to get usec, not nanosec; hence the extra 1000.
-        double diters = (double) iters * INNER_COUNT * 1000;
-
-        double[][] timings = new double[BODIES][LOOPS];
-        long t0, t1, t2, t3, t4, t5, t6, t7;
-
-        // Column A
-
-        if (print) {
-            System.out.println("Running A...");
-        }
-
-        t0 = System.nanoTime();
-        testA0(iters);
-        t1 = System.nanoTime();
-        testA1(iters);
-        t2 = System.nanoTime();
-        testA2(iters);
-        t3 = System.nanoTime();
-        testA3(iters);
-        t4 = System.nanoTime();
-        testA4(iters);
-        t5 = System.nanoTime();
-        testA5(iters);
-        t6 = System.nanoTime();
-        testA6(iters);
-        t7 = System.nanoTime();
-
-        timings[0][0] = (t1 - t0) / diters;
-        timings[0][1] = (t2 - t1) / diters;
-        timings[0][2] = (t3 - t2) / diters;
-        timings[0][3] = (t4 - t3) / diters;
-        timings[0][4] = (t5 - t4) / diters;
-        timings[0][5] = (t6 - t5) / diters;
-        timings[0][6] = (t7 - t6) / diters;
-
-        // Column B
-
-        if (print) {
-            System.out.println("Running B...");
-        }
-
-        t0 = System.nanoTime();
-        testB0(iters);
-        t1 = System.nanoTime();
-        testB1(iters);
-        t2 = System.nanoTime();
-        testB2(iters);
-        t3 = System.nanoTime();
-        testB3(iters);
-        t4 = System.nanoTime();
-        testB4(iters);
-        t5 = System.nanoTime();
-        testB5(iters);
-        t6 = System.nanoTime();
-        testB6(iters);
-        t7 = System.nanoTime();
-
-        timings[1][0] = (t1 - t0) / diters;
-        timings[1][1] = (t2 - t1) / diters;
-        timings[1][2] = (t3 - t2) / diters;
-        timings[1][3] = (t4 - t3) / diters;
-        timings[1][4] = (t5 - t4) / diters;
-        timings[1][5] = (t6 - t5) / diters;
-        timings[1][6] = (t7 - t6) / diters;
-
-        // Column C
-
-        if (print) {
-            System.out.println("Running C...");
-        }
-
-        t0 = System.nanoTime();
-        testC0(iters);
-        t1 = System.nanoTime();
-        testC1(iters);
-        t2 = System.nanoTime();
-        testC2(iters);
-        t3 = System.nanoTime();
-        testC3(iters);
-        t4 = System.nanoTime();
-        testC4(iters);
-        t5 = System.nanoTime();
-        testC5(iters);
-        t6 = System.nanoTime();
-        testC6(iters);
-        t7 = System.nanoTime();
-
-        timings[2][0] = (t1 - t0) / diters;
-        timings[2][1] = (t2 - t1) / diters;
-        timings[2][2] = (t3 - t2) / diters;
-        timings[2][3] = (t4 - t3) / diters;
-        timings[2][4] = (t5 - t4) / diters;
-        timings[2][5] = (t6 - t5) / diters;
-        timings[2][6] = (t7 - t6) / diters;
-
-        // Column D
-
-        if (print) {
-            System.out.println("Running D...");
-        }
-
-        t0 = System.nanoTime();
-        testD0(iters);
-        t1 = System.nanoTime();
-        testD1(iters);
-        t2 = System.nanoTime();
-        testD2(iters);
-        t3 = System.nanoTime();
-        testD3(iters);
-        t4 = System.nanoTime();
-        testD4(iters);
-        t5 = System.nanoTime();
-        testD5(iters);
-        t6 = System.nanoTime();
-        testD6(iters);
-        t7 = System.nanoTime();
-
-        timings[3][0] = (t1 - t0) / diters;
-        timings[3][1] = (t2 - t1) / diters;
-        timings[3][2] = (t3 - t2) / diters;
-        timings[3][3] = (t4 - t3) / diters;
-        timings[3][4] = (t5 - t4) / diters;
-        timings[3][5] = (t6 - t5) / diters;
-        timings[3][6] = (t7 - t6) / diters;
-
-        // Column E
-
-        if (print) {
-            System.out.println("Running E...");
-        }
-
-        t0 = System.nanoTime();
-        testE0(iters);
-        t1 = System.nanoTime();
-        testE1(iters);
-        t2 = System.nanoTime();
-        testE2(iters);
-        t3 = System.nanoTime();
-        testE3(iters);
-        t4 = System.nanoTime();
-        testE4(iters);
-        t5 = System.nanoTime();
-        testE5(iters);
-        t6 = System.nanoTime();
-        testE6(iters);
-        t7 = System.nanoTime();
-
-        timings[4][0] = (t1 - t0) / diters;
-        timings[4][1] = (t2 - t1) / diters;
-        timings[4][2] = (t3 - t2) / diters;
-        timings[4][3] = (t4 - t3) / diters;
-        timings[4][4] = (t5 - t4) / diters;
-        timings[4][5] = (t6 - t5) / diters;
-        timings[4][6] = (t7 - t6) / diters;
-
-        // Column F
-
-        if (print) {
-            System.out.println("Running F...");
-        }
-
-        t0 = System.nanoTime();
-        testF0(iters);
-        t1 = System.nanoTime();
-        testF1(iters);
-        t2 = System.nanoTime();
-        testF2(iters);
-        t3 = System.nanoTime();
-        testF3(iters);
-        t4 = System.nanoTime();
-        testF4(iters);
-        t5 = System.nanoTime();
-        testF5(iters);
-        t6 = System.nanoTime();
-        testF6(iters);
-        t7 = System.nanoTime();
-
-        timings[5][0] = (t1 - t0) / diters;
-        timings[5][1] = (t2 - t1) / diters;
-        timings[5][2] = (t3 - t2) / diters;
-        timings[5][3] = (t4 - t3) / diters;
-        timings[5][4] = (t5 - t4) / diters;
-        timings[5][5] = (t6 - t5) / diters;
-        timings[5][6] = (t7 - t6) / diters;
-
-        // Reduce the iters for the last two, since they're much slower.
-
-        iters /= 5;
-        diters /= 5;
-
-        // Column G
-
-        if (print) {
-            System.out.println("Running G...");
-        }
-
-        t0 = System.nanoTime();
-        testG0(iters);
-        t1 = System.nanoTime();
-        testG1(iters);
-        t2 = System.nanoTime();
-        testG2(iters);
-        t3 = System.nanoTime();
-        testG3(iters);
-        t4 = System.nanoTime();
-        testG4(iters);
-        t5 = System.nanoTime();
-        testG5(iters);
-        t6 = System.nanoTime();
-        testG6(iters);
-        t7 = System.nanoTime();
-
-        timings[6][0] = (t1 - t0) / diters;
-        timings[6][1] = (t2 - t1) / diters;
-        timings[6][2] = (t3 - t2) / diters;
-        timings[6][3] = (t4 - t3) / diters;
-        timings[6][4] = (t5 - t4) / diters;
-        timings[6][5] = (t6 - t5) / diters;
-        timings[6][6] = (t7 - t6) / diters;
-
-        // Column H
-
-        if (print) {
-            System.out.println("Running H...");
-        }
-
-        t0 = System.nanoTime();
-        testH0(iters);
-        t1 = System.nanoTime();
-        testH1(iters);
-        t2 = System.nanoTime();
-        testH2(iters);
-        t3 = System.nanoTime();
-        testH3(iters);
-        t4 = System.nanoTime();
-        testH4(iters);
-        t5 = System.nanoTime();
-        testH5(iters);
-        t6 = System.nanoTime();
-        testH6(iters);
-        t7 = System.nanoTime();
-
-        timings[7][0] = (t1 - t0) / diters;
-        timings[7][1] = (t2 - t1) / diters;
-        timings[7][2] = (t3 - t2) / diters;
-        timings[7][3] = (t4 - t3) / diters;
-        timings[7][4] = (t5 - t4) / diters;
-        timings[7][5] = (t6 - t5) / diters;
-        timings[7][6] = (t7 - t6) / diters;
-
-        return timings;
-    }
-
-    // Helper bits and pieces
-
-    static private final int INNER_COUNT = 100;
-    static private final int[] INNER_ARRAY = new int[INNER_COUNT];
-    static private final ArrayList<Object> INNER_LIST =
-        new ArrayList<Object>(INNER_COUNT);
-    static private final Target TARGET = new Target();
-    static private final int ARRAY_BYTES = 8192;
-    static private final byte[] BYTES_1 = new byte[ARRAY_BYTES];
-    static private final byte[] BYTES_2 = new byte[ARRAY_BYTES];
-
-    static {
-        for (int i = 0; i < INNER_COUNT; i++) {
-            INNER_LIST.add(null);
-        }
-    }
-
-    public static class Target {
-        public int value;
-        public int size = INNER_COUNT;
-
-        public void simple() {
-            // empty
-        }
-
-        public int size() {
-            return size;
-        }
-    }
-
-    // The tests themselves
-
-    static public void testA0(int iters) {
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = INNER_COUNT; i > 0; i--) {
-                // empty
-            }
-        }
-    }
-
-    static public void testA1(int iters) {
-        int count = INNER_COUNT;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < count; i++) {
-                // empty
-            }
-        }
-    }
-
-    static public void testA2(int iters) {
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < array.length; i++) {
-                // empty
-            }
-        }
-    }
-
-    static public void testA3(int iters) {
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i : array) {
-                // empty
-            }
-        }
-    }
-
-    static public void testA4(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size; i++) {
-                // empty
-            }
-        }
-    }
-
-    static public void testA5(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size(); i++) {
-                // empty
-            }
-        }
-    }
-
-    static public void testA6(int iters) {
-        ArrayList<Object> list = INNER_LIST;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (Object o : list) {
-                // empty
-            }
-        }
-    }
-
-    static public void testB0(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = INNER_COUNT; i > 0; i--) {
-                target.value++;
-            }
-        }
-    }
-
-    static public void testB1(int iters) {
-        Target target = TARGET;
-        int count = INNER_COUNT;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < count; i++) {
-                target.value++;
-            }
-        }
-    }
-
-    static public void testB2(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < array.length; i++) {
-                target.value++;
-            }
-        }
-    }
-
-    static public void testB3(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i : array) {
-                target.value++;
-            }
-        }
-    }
-
-    static public void testB4(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size; i++) {
-                target.value++;
-            }
-        }
-    }
-
-    static public void testB5(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size(); i++) {
-                target.value++;
-            }
-        }
-    }
-
-    static public void testB6(int iters) {
-        Target target = TARGET;
-        ArrayList<Object> list = INNER_LIST;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (Object o : list) {
-                target.value++;
-            }
-        }
-    }
-
-    static public void testC0(int iters) {
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = INNER_COUNT - 1; i >= 0; i--) {
-                array[i]++;
-            }
-        }
-    }
-
-    static public void testC1(int iters) {
-        int[] array = INNER_ARRAY;
-        int count = INNER_COUNT;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < count; i++) {
-                array[i]++;
-            }
-        }
-    }
-
-    static public void testC2(int iters) {
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < array.length; i++) {
-                array[i]++;
-            }
-        }
-    }
-
-    static public void testC3(int iters) {
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i : array) {
-                array[0] = i + 1;
-            }
-        }
-    }
-
-    static public void testC4(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size; i++) {
-                array[i]++;
-            }
-        }
-    }
-
-    static public void testC5(int iters) {
-        int[] array = INNER_ARRAY;
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size(); i++) {
-                array[i]++;
-            }
-        }
-    }
-
-    static public void testC6(int iters) {
-        int[] array = INNER_ARRAY;
-        ArrayList<Object> list = INNER_LIST;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (Object o : list) {
-                array[0]++;
-            }
-        }
-    }
-
-    static public void testD0(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = INNER_COUNT; i > 0; i--) {
-                target.simple();
-            }
-        }
-    }
-
-    static public void testD1(int iters) {
-        Target target = TARGET;
-        int count = INNER_COUNT;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < count; i++) {
-                target.simple();
-            }
-        }
-    }
-
-    static public void testD2(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < array.length; i++) {
-                target.simple();
-            }
-        }
-    }
-
-    static public void testD3(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i : array) {
-                target.simple();
-            }
-        }
-    }
-
-    static public void testD4(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size; i++) {
-                target.simple();
-            }
-        }
-    }
-
-    static public void testD5(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size(); i++) {
-                target.simple();
-            }
-        }
-    }
-
-    static public void testD6(int iters) {
-        Target target = TARGET;
-        ArrayList<Object> list = INNER_LIST;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (Object o : list) {
-                target.simple();
-            }
-        }
-    }
-
-    static public void testE0(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = INNER_COUNT; i > 0; i--) {
-                synchronized (target) {
-                    target.simple();
-                }
-            }
-        }
-    }
-
-    static public void testE1(int iters) {
-        Target target = TARGET;
-        int count = INNER_COUNT;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < count; i++) {
-                synchronized (target) {
-                    target.simple();
-                }
-            }
-        }
-    }
-
-    static public void testE2(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < array.length; i++) {
-                synchronized (target) {
-                    target.simple();
-                }
-            }
-        }
-    }
-
-    static public void testE3(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i : array) {
-                synchronized (target) {
-                    target.simple();
-                }
-            }
-        }
-    }
-
-    static public void testE4(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size; i++) {
-                synchronized (target) {
-                    target.simple();
-                }
-            }
-        }
-    }
-
-    static public void testE5(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size(); i++) {
-                synchronized (target) {
-                    target.simple();
-                }
-            }
-        }
-    }
-
-    static public void testE6(int iters) {
-        Target target = TARGET;
-        ArrayList<Object> list = INNER_LIST;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (Object o : list) {
-                synchronized (target) {
-                    target.simple();
-                }
-            }
-        }
-    }
-
-    static public void testF0(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = INNER_COUNT; i > 0; i--) {
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-            }
-        }
-    }
-
-    static public void testF1(int iters) {
-        Target target = TARGET;
-        int count = INNER_COUNT;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < count; i++) {
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-            }
-        }
-    }
-
-    static public void testF2(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < array.length; i++) {
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-            }
-        }
-    }
-
-    static public void testF3(int iters) {
-        Target target = TARGET;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i : array) {
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-            }
-        }
-    }
-
-    static public void testF4(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size; i++) {
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-            }
-        }
-    }
-
-    static public void testF5(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size(); i++) {
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-            }
-        }
-    }
-
-    static public void testF6(int iters) {
-        Target target = TARGET;
-        ArrayList<Object> list = INNER_LIST;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (Object o : list) {
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-                target.simple();
-            }
-        }
-    }
-
-    static public void testG0(int iters) {
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = INNER_COUNT; i > 0; i--) {
-                new Target();
-            }
-        }
-    }
-
-    static public void testG1(int iters) {
-        int count = INNER_COUNT;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < count; i++) {
-                new Target();
-            }
-        }
-    }
-
-    static public void testG2(int iters) {
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < array.length; i++) {
-                new Target();
-            }
-        }
-    }
-
-    static public void testG3(int iters) {
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i : array) {
-                new Target();
-            }
-        }
-    }
-
-    static public void testG4(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size; i++) {
-                new Target();
-            }
-        }
-    }
-
-    static public void testG5(int iters) {
-        Target target = TARGET;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size(); i++) {
-                new Target();
-            }
-        }
-    }
-
-    static public void testG6(int iters) {
-        ArrayList<Object> list = INNER_LIST;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (Object o : list) {
-                new Target();
-            }
-        }
-    }
-
-    static public void testH0(int iters) {
-        byte[] b1 = BYTES_1;
-        byte[] b2 = BYTES_2;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = INNER_COUNT; i > 0; i--) {
-                System.arraycopy(b1, 0, b2, 0, ARRAY_BYTES);
-            }
-        }
-    }
-
-    static public void testH1(int iters) {
-        byte[] b1 = BYTES_1;
-        byte[] b2 = BYTES_2;
-        int count = INNER_COUNT;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < count; i++) {
-                System.arraycopy(b1, 0, b2, 0, ARRAY_BYTES);
-            }
-        }
-    }
-
-    static public void testH2(int iters) {
-        byte[] b1 = BYTES_1;
-        byte[] b2 = BYTES_2;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < array.length; i++) {
-                System.arraycopy(b1, 0, b2, 0, ARRAY_BYTES);
-            }
-        }
-    }
-
-    static public void testH3(int iters) {
-        byte[] b1 = BYTES_1;
-        byte[] b2 = BYTES_2;
-        int[] array = INNER_ARRAY;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i : array) {
-                System.arraycopy(b1, 0, b2, 0, ARRAY_BYTES);
-            }
-        }
-    }
-
-    static public void testH4(int iters) {
-        Target target = TARGET;
-        byte[] b1 = BYTES_1;
-        byte[] b2 = BYTES_2;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size; i++) {
-                System.arraycopy(b1, 0, b2, 0, ARRAY_BYTES);
-            }
-        }
-    }
-
-    static public void testH5(int iters) {
-        Target target = TARGET;
-        byte[] b1 = BYTES_1;
-        byte[] b2 = BYTES_2;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (int i = 0; i < target.size(); i++) {
-                System.arraycopy(b1, 0, b2, 0, ARRAY_BYTES);
-            }
-        }
-    }
-
-    static public void testH6(int iters) {
-        byte[] b1 = BYTES_1;
-        byte[] b2 = BYTES_2;
-        ArrayList<Object> list = INNER_LIST;
-
-        for (int outer = iters; outer > 0; outer--) {
-            for (Object o : list) {
-                System.arraycopy(b1, 0, b2, 0, ARRAY_BYTES);
-            }
-        }
-    }
-}