∟"int" Shift and Assignment: 17 Nanoseconds per Step
This section provides a tutorial example on how to perform benchmark tests to find out how long a shift and assignment loop will take to run. The answer is 17 nanoseconds per step.
Now I can add a shift operation in the assignment statement to measure the shift operation
performance. Here is the test method:
/**
* BenchmarkTestInt.java
* Copyright (c) 2010 by Dr. Herong Yang, herongyang.com
*/
class BenchmarkTestInt {
...
// Test method for a shift operation in a loop
public static int shift(int steps, BenchmarkRunner runner) {
int x = 0;
int i = 0;
int last = steps;
runner.startTimer();
for (i=0; i<last; i++) {
x = i<<1;
}
runner.stopTimer();
return x;
}
}
Now the loop runs 17 nanoseconds per step with a shift operation and an assignment operation.
Clearly, the execution time of a shift operation, i<<1, is about 3 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: 17 - 14 = 3 nanoseconds.