性能Java计时器显示错误的时间
我一直在研究一种3路合并排序算法,教授希望我在10次试验中平均对1000、10000、100000、1000000和10000000个随机整数的数组进行合并排序所需的时间。但是,我在计算运行时间时遇到了一个问题;例如,当我计算100万个元素的运行时间时,它显示大约需要300毫秒,而实际上大约需要40秒。我将留下我的主函数的代码,我还尝试将startTime
放在开始处,它将显示相同的运行时间
public static void main(String args[]) {
Random r = new Random();
int[] arr = new int[1000000];
for (int i = 0; i < arr.length; i++)
arr[i] = r.nextInt();
long startTime = System.currentTimeMillis();
MergeSort test = new MergeSort();
test.sort(arr, 0, arr.length);
long endTime = System.currentTimeMillis();
long timeElapsed = endTime - startTime;
print(arr);
System.out.println("Execution time in milliseconds: " + timeElapsed);
}
共 (0) 个答案