Zeitmessung: | |||||||||||||||||
Die Methode currentTimeMillis liefert die Anzahl Millisekunden, die zum Zeitpunkt des Aufrufs seit Mitternacht des 1.1.1970 vergangen sind: | |||||||||||||||||
public static long currentTimeMillis() java.lang.System |
|||||||||||||||||
Ob dabei aber tatsächlich eine Auflösung von einer Millisekunde erreicht wird, ist von der konkreten Java-Implementierung abhängig. | |||||||||||||||||
Für die verschiedenen Betriebssysteme ergeben sich folgende Auflösungen: |
|||||||||||||||||
|
|||||||||||||||||
Mit dem Programm Time kann die Auflösung des verwendeten System-Timers ermittelt werden: | |||||||||||||||||
In PC-basierten Java-Systemen orientiert sie sich meist an der Auflösung des System-Timers. In Windows 95/98 wird dieser 18,2 mal pro Sekunde aufgerufen, so daß die Auflösung damit bei etwa 55 ms. liegt. | |||||||||||||||||
Diese Auflösung ist für unsere Zwecke allerdings viel zu gering, denn sie liefert (fast) immer den Wert 0 ms für die Laufzeit. | |||||||||||||||||
Die Probleme mit den Systenspezifischen Zeitauflösungen sind SUN und vielen Software-Entwicklern bereits seit längerem bekannt, eine Lösung wird aber auch hier nicht angeboten http://developer.java.sun.com/developer/bugParade/bugs/4123961.html (login bei SUN ist erforderlich) |
|||||||||||||||||
Ergebnisse der Zeitmessung: | |||||||||||||||||
Da kein UNIX oder Linux System zur Verfügung stand, erfolgten unsere Messungen auf einem Windows 2000 System und einem 100Mbit/s Netzwerk mit 4 Port Hub. | |||||||||||||||||
|
|||||||||||||||||
Das Netz wurde durch umkopieren großer Datenmengen zwischen den beiden Rechnern belastet. Dabei fällt auf, das der Zeitwert beim Starten des Kopiervorganges (oder eines anderen Programmes z.B. MS-Word) zunächst ansteigt, sich aber Später wieder auf einen geringeren Wert einpendelt. | |||||||||||||||||
Der Anstieg der Zeit ist also in den meisten Fällen nicht auf die Belastung des Netzwerkes zurück zu führen, sondern darauf, daß der JINI Anwendung vom Betriebssystem die Recourcen entzogen werden. | |||||||||||||||||
Weitere Erkenntnisse: |
|||||||||||||||||
Da wir nur eine sehr geringen Datenmenge (einige Byte) durch das Netzwerk schicken, hat ein belastetes oder unbelastetes Netz auf die von uns gemessenen Zeiten nur sehr geringe Auswirkungen
|
|||||||||||||||||
Der Start eines Prozesses auf einem der Rechner fällt bei dieser Anwendung
weitaus mehr ins Gewicht ! |
|||||||||||||||||
|
|||||||||||||||||