From 19a03bcbe6c0749e1ba34ae06b62bd50d3a2a25b Mon Sep 17 00:00:00 2001 From: Dan Bornstein Date: Thu, 17 Feb 2011 14:20:55 -0800 Subject: This test stopped being useful quite a while ago. Change-Id: I2069770f9b7456e4f3cde692d9a6b929ec7fe067 --- tests/057-iteration-performance/expected.txt | 11 - tests/057-iteration-performance/info.txt | 2 - tests/057-iteration-performance/src/Main.java | 1108 ------------------------- 3 files changed, 1121 deletions(-) delete mode 100644 tests/057-iteration-performance/expected.txt delete mode 100644 tests/057-iteration-performance/info.txt delete mode 100644 tests/057-iteration-performance/src/Main.java (limited to 'tests') diff --git a/tests/057-iteration-performance/expected.txt b/tests/057-iteration-performance/expected.txt deleted file mode 100644 index 9d59a5e13..000000000 --- a/tests/057-iteration-performance/expected.txt +++ /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 index 36b5adc60..000000000 --- a/tests/057-iteration-performance/info.txt +++ /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 index d56280269..000000000 --- a/tests/057-iteration-performance/src/Main.java +++ /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. - * - * - * - * - */ -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 INNER_LIST = - new ArrayList(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 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 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 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 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 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 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 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 list = INNER_LIST; - - for (int outer = iters; outer > 0; outer--) { - for (Object o : list) { - System.arraycopy(b1, 0, b2, 0, ARRAY_BYTES); - } - } - } -} -- cgit v1.2.3