Galileo Computing < openbook >
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.
Galileo Computing - Professionelle Buecher. Auch fuer Einsteiger.


Java ist auch eine Insel von Christian Ullenboom
Buch: Java ist auch eine Insel (Galileo Computing)
gp Kapitel 8 Die Funktionsbibliothek
gp 8.1 Die Java-Klassenphilosophie
gp 8.1.1 Übersicht über die Pakete der Standardbibliothek
gp 8.2 Wrapper-Klassen
gp 8.2.1 Die Character-Klasse
gp 8.2.2 Die Boolean-Klasse
gp 8.2.3 Die Basisklasse Number für numerische Wrapper-Objekte
gp 8.2.4 Die Klasse Integer
gp 8.2.5 Behandlung von Überlauf
gp 8.2.6 Unterschiedliche Ausgabeformate
gp 8.2.7 Boxing und Unboxing
gp 8.3 Ausführung von externen Programmen
gp 8.3.1 DOS-Programme aufrufen
gp 8.3.2 Die Windows-Registry verwenden
gp 8.3.3 Einen HTML-Browser unter Windows aufrufen
gp 8.4 Klassenlader (Class Loader)
gp 8.4.1 Woher die kleinen Klassen kommen
gp 8.4.2 Drei Typen von Klassenladern
gp 8.4.3 Der java.lang.ClassLoader
gp 8.4.4 Hot Deployment mit dem URL-ClassLoader
gp 8.4.5 Das jre/lib/endorsed-Verzeichnis
gp 8.4.6 Wie heißt die Klasse mit der Methode main()?
gp 8.5 Zeitmessung und Profiling
gp 8.6 Compilieren von Klassen
gp 8.6.1 Der Sun-Compiler


Galileo Computing

8.5 Zeitmessung und Profilingtoptop

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 




Copyright (c) Galileo Press GmbH 2004
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Galileo Computing]

Galileo Press GmbH, Gartenstraße 24, 53229 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, info@galileo-press.de