8.5 Zeitmessung und Profiling![top](common/15x15leer.gif) ![top](common/15x15leer.gif)
Die Methode System.currentTimeMillis() gibt die vergangenen Millisekunden seit dem 1.1.1970 zurück. Die Differenz zweier Zeitwerte kann zur groben Abschätzung von Ausführungszeiten für Programme dienen.
Listing 8.5 Profiling.java
class Profiling
{
public static void main( String args[] )
{
int MAX = 10000;
// use static function
long time1 = System.currentTimeMillis();
String s = "";
for ( int i = MAX; i-- > 0; )
s = s.concat( "Heini" );
time1 = System.currentTimeMillis() - time1;
// use dynamic function
long time2 = System.currentTimeMillis();
String t = "";
for ( int i = MAX; i-- > 0; )
t += "Heini";
time2 = System.currentTimeMillis() - time2;
System.out.println( "s.concat: " + time1 + " ms" );
System.out.println( "t+=: " + time2 + " ms" );
}
}
Wird das Programm gestartet, so bekomme ich auf meinem Rechner (AMD Athlon 1,9+, Java 2 SDK 1.4.2) die nachstehende Ausgabe:
s.concat: 2103 ms
t+=: 2314 ms
|