import java.util.Arrays; import java.util.ArrayList; public class EfficiencyTest2 { private static final int NUMBER_OF_TESTS = 100000; private static long startTime = -1; public static void startTimer() { EfficiencyTest2.startTime = System.nanoTime(); } /** pre: startTimer has been called and EfficiencyTest2.startTime != -1 */ public static long stopTimer() { long start = EfficiencyTest2.startTime; /* Reset the startTime */ EfficiencyTest2.startTime = -1; return System.nanoTime() - start; } /* pre: array.length >= 1 */ public static long average(long[] array) { long average = array[0]; for (int i = 1; i < array.length; i++) { average = (average * i + array[i]) / (i+1); } return average; } public static void prints1(int max) { ArrayList list = new ArrayList(); for (int i = 1; i < max; i++) { list.add(i); list.add(i); } } public static void main(String[] args) { long[] times1 = new long[EfficiencyTest2.NUMBER_OF_TESTS]; long[] times2 = new long[EfficiencyTest2.NUMBER_OF_TESTS]; for (int i = 0; i < EfficiencyTest2.NUMBER_OF_TESTS; i++) { /* Test prints1 */ EfficiencyTest2.startTimer(); prints1(i); System.out.println(EfficiencyTest2.stopTimer()); } } }