8.5 Zeitmessung und Profiling
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
|