Instead of using System.currentTimeMillis(), as it travels with wall
time. Use nanoTime(), which is faster and monotonic.
Change-Id: I4b1089a23dbeba69acdceb4e0e55a0ec0457612f
Signed-off-by: Robert Varga <rovarga@cisco.com>
private int marksCount = 0;
public void markStart() {
- beginningOfTime = System.currentTimeMillis();
+ beginningOfTime = System.nanoTime();
delta = 0;
marksCount = 0;
}
public void addTimeMark() {
- delta += System.currentTimeMillis() - beginningOfTime;
+ delta += System.nanoTime() - beginningOfTime;
marksCount++;
}
if (marksCount > 0) {
average = delta / marksCount;
}
- return average;
+ return TimeUnit.NANOSECONDS.toMillis(average);
}
}