我试着在java中找到两个方法的执行时间。这两种方法功能相同但逻辑不同,执行时间不同。然后我试图找到两次相同方法的执行时间,但执行时间甚至几乎不相等10或10的倍数。 所以请告诉我,如何衡量java方法的确切执行时间。 `
public static void main(String[] args) throws Throwable {
double t11 = System.nanoTime();
System.out.println(test(2, 32));
double t12 = System.nanoTime();
System.out.println("Total time taken : "+(t12-t11));
double t1 = System.nanoTime();
System.out.println(test(2, 32));
double t2 = System.nanoTime();
System.out.println("Total time taken : "+(t2-t1));
}
public static long test(int num1, int num2){
long value = num1;
for(int i=2; i<=num2; i++) {
value *= num1;
}
return value;
}
输出:
4294967296
Total time taken : 207084.0
4294967296
Total time taken : 35621.0