Friday, 27 September 2013

Why is System.nanoTime() way slower (in performance) than System.currentTimeMillis()?

Why is System.nanoTime() way slower (in performance) than
System.currentTimeMillis()?

Today I did a little quick Benchmark to test speed performance of
System.nanoTime() and System.currentTimeMillis():
long startTime = System.nanoTime();
for(int i = 0; i < 1000000; i++) {
long test = System.nanoTime();
}
long endTime = System.nanoTime();
System.out.println("Total time: "+(endTime-startTime));
This are the results:
System.currentTimeMillis(): average of 12,7836022 / function call
System.nanoTime(): average of 34,6395674 / function call
Why are the differences in running speed so large?

No comments:

Post a Comment