Rausfinden wie lange ein die Threads brauchen

SamSamilia

Grünschnabel
Hallo

Ich will rausfinden wieviel Zeit ich spare wenn ich mit Threads arbeite.
Dafür starte ich eine Thread Klasse mit einer mathematischen Berechnung 5x.

Dann starte ich diese Berechnung ohne Threads 5 mal nacheinander.

Ich möchte gerne die gesamte Zeit aller 5 Threads messen. Z.B "Die 5 threads brauchten insgesamt 12 Sekunden"


Nun ich weis nicht wie ich das mache.

Danke
 
Du könntest einfach ganz am Anfang von run() in den Threads über System.currentTimeMillis() die aktuelle Zeit abfragen und dann wenn das Ende erreicht ist auch nochmal und dann am Ende vom vom Zeitpunkt am Ende den Zeitpunkt am Anfang abziehen. Dann hast du für jeden Thread einzeln wie lange er gebraucht hat. Die Zeiten musst du dann nur noch addieren.

Edit: Sehe gerade dein erster Beitrag hier. Dann erst mal herzlich Willkommen!
 
Zuletzt bearbeitet:
Die Idee von technoblade ist prinzipiell richtig.
Generell würde ich aber, die Erstellung der Threads und das Zusammenführen der Ergebnisse mit dazurechnen. Sofern nichts deine Messung stört.

Daher ist die Frage wie sieht deine Anwendung aus? So wie es sich anhört besteht deine Anwendung nur aus diesem Performance-Test? Wenn das so ist, musst du aufpassen, da die VM am Anfang noch eine gewisse "Einschwingzeit" hat.
 
Wenn die Threads nicht lange brauchen, probier noch System.nanoTime()
Mit Thread.join() kannst du darauf warten, dass die Threads fertig sind.
 

Neue Beiträge

Zurück