diff options
Diffstat (limited to 'src/de/fhswf')
| -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 | 102 |
2 files changed, 183 insertions, 0 deletions
diff --git a/src/de/fhswf/in/inf/java1/aufgabe6/Aufgabe6.java b/src/de/fhswf/in/inf/java1/aufgabe6/Aufgabe6.java new file mode 100644 index 0000000..ddb82d1 --- /dev/null +++ b/src/de/fhswf/in/inf/java1/aufgabe6/Aufgabe6.java @@ -0,0 +1,81 @@ +/** + * + */ +package de.fhswf.in.inf.java1.aufgabe6; + +import java.util.Iterator; +import java.util.Vector; + +import de.fhswf.in.inf.java1.aufgabe4.Fill; + +/** + * 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 = 100000000; + 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 µs + + 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 µs + + 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 µs + + for (Integer integer : test) + { + testGet = integer; + } + + // Calculates the runtime of foreach + System.out.println("Elapsed time: " + + (System.currentTimeMillis() - start) + " ms"); + + } + +} diff --git a/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java b/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java new file mode 100644 index 0000000..a98cdd6 --- /dev/null +++ b/src/de/fhswf/in/inf/java1/aufgabe6/ListBenchmark.java @@ -0,0 +1,102 @@ +/** + * + */ +package de.fhswf.in.inf.java1.aufgabe6; + +import java.util.List; +import java.util.Random; + +/** + * TODO Add comment here + * + * @author $Author: $ + * @version $Revision: $, $Date: $ UTC + */ +public final class ListBenchmark +{ + + private 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 void startBenchmark() + { + + } + + /** + * TODO Add method comment here + * + * @param list + * @param times + * @return + */ + private 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 + } + + /** + * TODO Add method comment here + * + * @param list + * @param times + * @return + */ + private 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 + } + + /** + * TODO Add method comment here + * + * @param list + * @param times + * @return + */ + private 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 + } +} |
