测量JVM上算法的执行时间。

时间:2018-10-23 14:31:07

标签: java algorithm jvm

有没有一种方法可以精确地测量用Java编写的算法的执行时间?我的任务是设计一种解决TSP的算法,推荐语言为C ++。但是,如果我想用Java编写它,则必须证明所测量的时间实际上是算法执行时间,而不是JVM在运行算法时可能执行的任何操作所花费的时间。

在执行算法之前和之后立即使用System.nanoTime()应该足够了,或者我可以做更多的事情吗?

1 个答案:

答案 0 :(得分:1)

简单方法:

最快,最简单的方法是使用以下内容:

long startTime = System.nanoTime();
Algorithm();
long endTime = System.nanoTime();

long duration = (endTime - startTime);  //divide by 1000000 to get milliseconds.

如果您正在寻找不同的方式,请参见How do I time a method's execution in Java?

微基准方法:

使用以下链接获取有关如何在Java和JVM中正确制作微基准的指南: How do I write a correct micro-benchmark in Java?

相关问题