diff options
Diffstat (limited to 'src/de/fhswf/in/inf/java1/aufgabe6')
| -rw-r--r-- | src/de/fhswf/in/inf/java1/aufgabe6/Aufgabe6.java | 81 | ||||
| -rw-r--r-- | src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java | 137 |
2 files changed, 0 insertions, 218 deletions
diff --git a/src/de/fhswf/in/inf/java1/aufgabe6/Aufgabe6.java b/src/de/fhswf/in/inf/java1/aufgabe6/Aufgabe6.java deleted file mode 100644 index 0fbaf00..0000000 --- a/src/de/fhswf/in/inf/java1/aufgabe6/Aufgabe6.java +++ /dev/null @@ -1,81 +0,0 @@ -/** - * - */ -package de.fhswf.in.inf.java1.aufgabe6; - -import java.util.Iterator; -import java.util.Vector; - -/** - * Main function for testing Vectors and Lists. - * - * @author $Author: $ - * @version $Revision: $, $Date: $ UTC - */ -public final class Aufgabe6 -{ - - /** - * Prevents instantiation of the utility class. - * - */ - private Aufgabe6() - { - } - - /** - * Main function for testing Vectors and Lists. - * - * @param args - * Command line arguments. - */ - public static void main(String[] args) - { - final int testLength = 10000000; - Vector<Integer> test = new Vector<>(testLength); - Integer testGet; - - for (int i = 0; i < test.capacity(); i++) - { - test.add(i); - } - - long start; - start = System.currentTimeMillis(); // Gets current time in ms - - for (int i = 0; i < test.size(); i++) - { - testGet = test.elementAt(i); - } - - // Calculates the runtime of for - System.out.println("Elapsed time: " - + (System.currentTimeMillis() - start) + " ms"); - - start = System.currentTimeMillis(); // Gets current time in ms - - for (Iterator<Integer> it = test.iterator(); it.hasNext();) - { - testGet = it.next(); - } - - // Calculates the runtime of for - System.out.println("Elapsed time: " - + (System.currentTimeMillis() - start) + " ms"); - - start = System.currentTimeMillis(); // Gets current time in ms - - for (Integer integer : test) - { - testGet = integer; - } - - // Calculates the runtime of foreach - System.out.println("Elapsed time: " - + (System.currentTimeMillis() - start) + " ms"); - - ListBenchmark.startBenchmark(); - - } - -} diff --git a/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java b/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java deleted file mode 100644 index 24e4ed4..0000000 --- a/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java +++ /dev/null @@ -1,137 +0,0 @@ -/** - * - */ -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; - -/** - * Class that benchmarks List implementations. - * - * @author $Author: $ - * @version $Revision: $, $Date: $ UTC - */ -public final class ListBenchmark -{ - - private static final Integer TESTOBJ = new Integer(214); - - /** - * Prevents instantiation of the utility class. - * - */ - private ListBenchmark() - { - } - - /** - * Starts a benchmark of different Lists and different test cases. - * - */ - public static void startBenchmark() - { - final int times = 100000; - - benchmarkGrouping("ArrayList", new ArrayList<Integer>(times), times); - benchmarkGrouping("Vector", new Vector<Integer>(times), times); - benchmarkGrouping("LinkedList", new LinkedList<Integer>(), times); - - } - - /** - * Groups the 3 different benchmark versions together. - * - * @param variant - * Name of the list type. - * @param list - * The list which will be benchmarked. - * @param times - * How often will be inserted. - */ - private static void benchmarkGrouping(String variant, List<Integer> list, - int times) - { - System.out.print(variant + " am Anfang: "); - System.out.println(benchmarkAtBeginning(list, times) + " ms"); - System.out.print(variant + " am Ende: "); - System.out.println(benchmarkAtEnding(list, times) + " ms"); - System.out.print(variant + " zufälliger Index: "); - System.out.println(benchmarkAtRandom(list, times) + " ms"); - } - - /** - * Inserts new value at the beginning of the list. - * - * @param list - * List to be tested. - * @param times - * How many inserts are done. - * @return Time in milliseconds that the action took. - */ - 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); - } - - return (System.currentTimeMillis() - start); // Returns runtime - } - - /** - * Inserts new value at the end of the list. - * - * @param list - * List to be tested. - * @param times - * How many inserts are done. - * @return Time in milliseconds that the action took. - */ - 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); - } - - return (System.currentTimeMillis() - start); // Returns runtime - } - - /** - * Inserts new value at a random index of the list. - * - * @param list - * List to be tested. - * @param times - * How many inserts are done. - * @return Time in milliseconds that the action took. - */ - private static long benchmarkAtRandom(List<Integer> list, int times) - { - - int[] randVal = new int[times]; - Random rand = new Random(); - - for (int i = 0; i < randVal.length; i++) - { - 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); - } - - return (System.currentTimeMillis() - start); // Returns runtime - } -} |
