∟"long" Division and Assignment: 53 Nanoseconds per Step
This section provides a tutorial example on how to perform benchmark tests to find out how long a division and assignment loop will take to run. The answer is 53 nanoseconds per step.
The next test is to measure the division operation performance.
Here is the test method:
/**
* BenchmarkTestLong.java
* Copyright (c) 2010 by Dr. Herong Yang, herongyang.com
*/
class BenchmarkTestLong {
...
// Test method for a division operation in a loop
public static long division(int steps, BenchmarkRunner runner) {
long x = 0;
long i = 0;
long last = steps;
runner.startTimer();
for (i=0; i<last; i++) {
x = i/3;
}
runner.stopTimer();
return x;
}
}
The loop runs 53 nanoseconds per step with an division operation in the assignment statement.
The execution time of a division operation, i/3, is about 29 nanoseconds in interpreted-only mode.
This conclusion can be arrived from test results of 10000, 100000 and 1000000 steps and minus
the assignment loop execution time: 53 - 24 = 29 nanoseconds.