Die Messung der Zeit Unterschiede, die mit System.currentTimeMillis()

Ich habe ein einfaches java-Programm, und ich möchte wissen, die Zeit-Differenz zwischen einem Satz von Operationen. Für diese Frage, die details sind nicht wichtig, aber nehmen wir das folgende Szenario.

long beginTime = System.currentTimeMillis();

//Some operations. Let us asssume some database operations etc. which are time consuming.

//

long endTime = System.currentTimeMillis();

long difference = endTime - beginTime;

Wenn der code auf einer Maschine, wie zuverlässig wird der Unterschied sein?

Lassen Sie uns sagen, dass der Prozessor beginnt die Ausführung einiger Anweisungen aus meinem code, dann gibt der Kontext zu einem anderen Prozess, die ausgeführt wird, für einige Zeit, und dann kommt zurück zum ausführen von Anweisungen im Zusammenhang mit diesem java-Prozess.

Also, die Zeit Unterschied sich in Abhängigkeit vom aktuellen Zustand der Maschine, d.h. wie viele Prozesse ausgeführt werden etc? Also, im profiling-Zeit, die für einige Operationen ausgeführt werden, ist dieser Mechanismus nicht zuverlässig?

  • Die Durchführung der operation 3-4 mal und Mittelwertbildung aus den Ergebnissen sollte Ihnen eine faire Schätzung.
Schreibe einen Kommentar