Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
mit welchem Befehl kann ich die Zeit eines Algorithmus messen. Zum Beispiel wie lange (wieviel Sec.) benötigt ein Methode oder Programm bis es durchgelaufen ist.
anschließend mit
System.out.println(duration); ausgegeben! Ist es so richtig? Jedes mal wenn ich die methode laufen lasse erhalte ich einen anderen Wert.
anschließend mit
System.out.println(duration); ausgegeben! Ist es so richtig? Jedes mal wenn ich die methode laufen lasse erhalte ich einen anderen Wert.
duration mit "System.out.println(duration);" ausgegeben ist richtig.
Dass die Methode methodToTest() nicht immer gelisch lange läuft ist denke ich üblich.
Das ist meines Erachtens ganz normal, denn die CPU bearbeitet zwischendurch mal meht oder mal weniger noch andere Prozesse.
Um welche Zeiträume geht es denn da? Microbenchmarking (d.h. die Messung der Performance eines "kleinen" Codestücks) ist schwierig, und wenn man "naiv" drangeht, misst man mit Sicherheit Mist.
Wenn es um ein ganzes Programm geht kann man unter linux, das Programm mit time Aufrufen und bekommt dann eine Auflistung über die benötigten Zeiten.
Der Befehl geht soviel ich weiß auch darauf ein, wieviel CPU-Zeit der Prozess tatsächlich verbraucht.
Wenn dein Programm z.B. 10 Sekunden (elapsed oder real) läuft und auf einem 8-Kern Rechner alles auslastest, dann bekommst du dort auch Beispielsweise 80 Sekunden (user-mode) angezeigt.
Das entschärft auch ein wenig die Problematik, dass ein Betriebssystem auch mal anderes zu tun hat.
Ansonsten empfiehlt es sich auch mehrere durchläufe zu machen und dann mittelwerte zu bilden.
Was auch noch helfen kann um genauere Werte zu bekommen ist eine Warmup-Methode, die die CPU mal auslastet um sie aus dem Energiesparmodus zu holen, bevor das zu messende Code-Stück zeitlich vermessen wird.
Um welche Zeiträume geht es denn da? Microbenchmarking (d.h. die Messung der Performance eines "kleinen" Codestücks) ist schwierig, und wenn man "naiv" drangeht, misst man mit Sicherheit Mist.