我需要获取 Java 中函数的执行时间。我知道我可以使用两种方法:
但是我了解到,currentTimeMillis();
如果我需要挂钟时间(即,就好像我从挂钟测量执行花费了多少时间一样,而不是处理时间)。nanoTime();
currentTimeMillis();
但currentTimeMillis();
不能给我小数。例如,如果执行时间小于 1 毫秒,则返回 0。即使小于 1,我也需要时间,例如 0.05 毫秒。这是一个当方法返回 0 时的简单示例。
long startTime=System.currentTimeMillis();
for(int x=0; x<10;x++)
{
System.out.println("-");
}
long execTime=System.currentTimeMillis() - startTime;
即使它返回时间,它也会返回 30 或 40。但是,我需要一个更精确的数字,比如 30.00012。另外,方法返回类型是long
,但我将其更改double
为我想要浮点数,这有什么害处吗?你能告诉我正确的方法,我可以用小数来测量我的java方法执行挂钟时间(例如不是8.0而是8.287335)