diff options
Diffstat (limited to 'src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java')
| -rw-r--r-- | src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java | 69 |
1 files changed, 54 insertions, 15 deletions
diff --git a/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java b/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java index a98cdd6..8f95c69 100644 --- a/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java +++ b/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java @@ -3,8 +3,11 @@ */ package de.fhswf.in.inf.java1.aufgabe6; +import java.util.ArrayList; +import java.util.LinkedList; import java.util.List; import java.util.Random; +import java.util.Vector; /** * TODO Add comment here @@ -15,7 +18,7 @@ import java.util.Random; public final class ListBenchmark { - private final Integer testObj = new Integer(214); + private static final Integer TESTOBJ = new Integer(214); /** * Prevents instantiation of the utility class. @@ -29,57 +32,93 @@ public final class ListBenchmark * Starts a benchmark of different Lists and different test cases. * */ - public void startBenchmark() + public static void startBenchmark() { + final int testListLength = 100000; + List<Integer> testList = new ArrayList<Integer>(testListLength); + + System.out.print("ArrayList am Anfang: "); + System.out.println(benchmarkAtBeginning(testList, testListLength) + + " ms"); + System.out.print("ArrayList am Ende: "); + System.out.println(benchmarkAtEnding(testList, testListLength) + " ms"); + System.out.print("ArrayList zufälliger Index: "); + System.out.println(benchmarkAtRandom(testList, testListLength) + " ms"); + + testList = new Vector<Integer>(testListLength); + + System.out.print("Vector am Anfang: "); + System.out.println(benchmarkAtBeginning(testList, testListLength) + + " ms"); + System.out.print("Vector am Ende: "); + System.out.println(benchmarkAtEnding(testList, testListLength) + " ms"); + System.out.print("Vector zufälliger Index: "); + System.out.println(benchmarkAtRandom(testList, testListLength) + " ms"); + + testList = new LinkedList<Integer>(); + + System.out.print("LinkedList am Anfang: "); + System.out.println(benchmarkAtBeginning(testList, testListLength) + + " ms"); + System.out.print("LinkedList am Ende: "); + System.out.println(benchmarkAtEnding(testList, testListLength) + " ms"); + System.out.print("LinkedList zufälliger Index: "); + System.out.println(benchmarkAtRandom(testList, testListLength) + " ms"); } /** - * TODO Add method comment here + * Inserts new value at the beginning of the list. * * @param list + * List to be tested. * @param times - * @return + * How many inserts are done. + * @return Time in milliseconds that the action took. */ - private long benchmarkAtBeginning(List<Integer> list, int times) + private static long benchmarkAtBeginning(List<Integer> list, int times) { long start = System.currentTimeMillis(); // Gets current time in µs for (int i = 0; i < times; i++) { - list.add(0, testObj); + list.add(0, TESTOBJ); } return (System.currentTimeMillis() - start); // Returns runtime } /** - * TODO Add method comment here + * Inserts new value at the end of the list. * * @param list + * List to be tested. * @param times - * @return + * How many inserts are done. + * @return Time in milliseconds that the action took. */ - private long benchmarkAtEnding(List<Integer> list, int times) + private static long benchmarkAtEnding(List<Integer> list, int times) { long start = System.currentTimeMillis(); // Gets current time in µs for (int i = 0; i < times; i++) { - list.add(testObj); + list.add(TESTOBJ); } return (System.currentTimeMillis() - start); // Returns runtime } /** - * TODO Add method comment here + * Inserts new value at a random index of the list. * * @param list + * List to be tested. * @param times - * @return + * How many inserts are done. + * @return Time in milliseconds that the action took. */ - private long benchmarkAtRandom(List<Integer> list, int times) + private static long benchmarkAtRandom(List<Integer> list, int times) { int[] randVal = new int[times]; @@ -87,14 +126,14 @@ public final class ListBenchmark for (int i = 0; i < randVal.length; i++) { - randVal[i] = rand.nextInt(list.size()+i+1); + randVal[i] = rand.nextInt(list.size() + i + 1); } long start = System.currentTimeMillis(); // Gets current time in µs for (int i = 0; i < times; i++) { - list.add(randVal[i], testObj); + list.add(randVal[i], TESTOBJ); } return (System.currentTimeMillis() - start); // Returns runtime |
