测量java中的执行时间

时间:2011-03-17 20:31:34

标签: java

  

可能重复:
  Measure execution time for a Java method

我想测试我的应用程序,我知道在java中有一个返回执行时间的某个方法,但我找不到它。任何提示?

7 个答案:

答案 0 :(得分:1)

long startTime = new Date().getTime();
doSomething();
long endTime = new Date().getTime();
System.out.println("elapsed milliseconds: " + (endTime - startTime));

答案 1 :(得分:1)

long startTime = System.currentTimeMillis();
//...
long entTime = System.currentTimeMillis();
long spentTime = endTime - startTime;

答案 2 :(得分:1)

long start = System.currentTimeMillis();
//long start = System.nanoTime();
long end = System.currentTimeMillis();
//long end = System.nanoTime();
System.out.println("time diff = " + (end - start) + " ms");

您可以使用nanoTime()而不是currentTimeMillis()来提高准确性,更多关于此问题的讨论here

答案 3 :(得分:0)

long start, end, total;

start = System.currentTimeMillis();
// do stuff   
end = System.currentTimeMillis();

total = end - start;

total将包含以毫秒为单位运行代码主要部分的时间。

答案 4 :(得分:0)

这应该有效:

System.currentTimeMillis();

答案 5 :(得分:0)

我不是Java专家,但我认为没有这样的功能。你能做的是检查你要测试的代码之前和之后的系统时间。& This is one useful implementation.

答案 6 :(得分:0)

您可以使用System.currentTimeMillis()获取系统时间的当前快照。

如果您希望生成更复杂的性能统计信息,而不仅仅计算单个代码块的时间,我会查看perf4j library。它提供了用于记录性能统计数据和生成聚合统计数据(如平均值,最小值和最大值)的工具。