java - 计算2条语句之间的执行时间差

标签 java time

如何计算正在运行的程序中两个步骤之间的时间(可以是最短的单位)

例如:

algo() {
  long time_1 = time_X
  .
  .
  .
  long time_2 = time_Y

  difference = time_2 - time_1;
}

我一直在使用 new GregorianCalendar().getTimeInMillis() 进行计算。但我得到的差异是 0

有什么方法可以让我知道任何算法中某些步骤之间的区别?在这里我想知道算法第一步和最后一步的区别。就在算法将做出最终返回之前。

最佳答案

对于毫秒,使用:System.currentTimeMillis() 代替:

long time_1 = System.currentTimeMillis();
.
.
.
 long time_2 = System.currentTimeMillis();

并减去。对于纳秒精度,请使用 nanoTimenanoTime 与内部定时器以外的任何系统时钟无关,因此对于 100 ns,它可以从 120 变为 220,从 100020 变为 100120,等等。

关于java - 计算2条语句之间的执行时间差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18858083/

相关文章:

java - 编辑pom.xml后Spring Boot应用程序无法启动

java - Spring REST API 服务单元测试(更新(PUT 方法))

java - 如何将日期字符串转换为joda日期时间?

c# - 如何根据起始集将一组时间间隔转换为另一组时间间隔

javascript - javascript 如何确定当前日期是什么?

java - AlertDialog在DialogFragment中不起作用

java - 如何从父类继承变量?

java - 如何通过按钮将一个JFrame的所有数据传输到另一个JFrame?

c++ - 计算c++中操作之间的时间长度

logging - 将时间戳存储为 Firebase 中的键?