Java - 以ms和ns为基准对算法进行基准测试时的结果差异很大

use*_*381 1 java

我在算法上执行了一些测试性能并发现了一些奇怪的东西.也许我在这里遗漏了一些东西.

我首先用milliseconde测量时间:

long startTime = System.currentTimeMillis();
x.sort(sortStringInput);
long endTime = System.currentTimeMillis();
Run Code Online (Sandbox Code Playgroud)

然后在nanoseconde:

long startTime = System.nanoTime();
x.sort(sortStringInput);
long endTime = System.nanoTime();
Run Code Online (Sandbox Code Playgroud)

结果是437ms和26366ns.

我正在调用相同的方法,因此如何才能在ns中获得小于ms中的结果的结果.我知道1 ms是1 000 000 ns所以26366甚至小于1 ms ......

谢谢,

Cam*_*ner 6

你在两次排序相同的列表吗?如果列表已经排序,则第二次调用将非常快.

  • @ user393381:不,不要删除它!如果有人有同样的问题并且谷歌搜索,他可以在这里找到帮助. (2认同)