Java计时器显示不正确的时间

时间:2020-09-30 10:18:57

标签: java performance time merge

我一直在研究3向合并排序算法,这位教授希望我计算合并排序所花费的时间,该数组由1000、10000、100000、1000000和10000000个随机整数组成,每次10次试验。但是,在尝试计算运行时间时遇到了一个问题。例如,当我计算一百万个元素的运行时间时,它显示花费了大约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 个答案:

没有答案