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

地狱:

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

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

克雷蒂:

简单方法:

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

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

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

如果您正在寻找与此不同的方式,请参考此处,如何在Java中计时方法的执行时间?

微基准方法:

使用以下链接获取有关如何在Java和JVM中正确创建微基准的指南:如何在Java中编写正确的微基准?

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章