Java/Timing: Difference between revisions
From charlesreid1
| Line 35: | Line 35: | ||
==Comparing Hombrew Data Containers to Java Collections API== | |||
In the Java repository at http://git.charlesreid1.com/cs/java in the lists/linked-lists folder (https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists), there is a timing script (https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists/Timing.java) that demonstrates a simple comparison of the built-in linked list type to a trimmed down generic TLinkedList type (https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists/TLinkedList.java). | |||
==Flags== | |||
[[Category:Java]] | [[Category:Java]] | ||
Revision as of 01:51, 5 June 2017
If you want an extremely detailed picture of how much time you're spending in the various parts of your code, you can use a profiler: see Java/Profiling
Basic Timing in Java: Builtin Methods
If you just want to see how much time a piece of code takes to execute, you can use Java's built in time functionality:
long start = System.nanoTime();
doStuff();
long end = System.nanoTime();
long duration = end - start;
System.out.printf("Elapsed time: %03f s\n", duration/1E9);
Timing Snippets of Code
Can make a Stopwatch class that does the following:
- Constructor creates a new "start" variable - the stopwatch class measures time starting at its own creation
- Can call elapsed() method to get elapsed seconds
Via http://introcs.cs.princeton.edu/java/32class/Stopwatch.java.html
public class Stopwatch {
public Stopwatch() {
this.start = System.currentTimeMillis();
}
public double elapsed() {
this.end = System.currentTimeMillis();
return (end-start)/1000.0;
}
}
Comparing Hombrew Data Containers to Java Collections API
In the Java repository at http://git.charlesreid1.com/cs/java in the lists/linked-lists folder (https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists), there is a timing script (https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists/Timing.java) that demonstrates a simple comparison of the built-in linked list type to a trimmed down generic TLinkedList type (https://charlesreid1.com:3000/cs/java/src/master/lists/linked-lists/TLinkedList.java).