diff options
| author | Stefan Suhren <suhren.stefan@fh-swf.de> | 2014-11-05 00:55:06 +0100 |
|---|---|---|
| committer | Stefan Suhren <suhren.stefan@fh-swf.de> | 2014-11-05 00:55:06 +0100 |
| commit | ed5ad940a99e7e6386caa85fd01588a64220fa22 (patch) | |
| tree | 5b48a38a92a23258d6fcf4bcd71a1d76de244724 /src/de/fhswf/in/inf/java1/aufgabe6 | |
| parent | cbfcc3df88e229a81da783e258a0b8860404fe1a (diff) | |
| download | Java1-ed5ad940a99e7e6386caa85fd01588a64220fa22.tar.gz Java1-ed5ad940a99e7e6386caa85fd01588a64220fa22.zip | |
Assignment No.6 added first version
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 | 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 + } +} |
