0

我有一个程序可以计算消息从一台机器发送到另一台机器所需的时间,但是结果是长格式,我如何将其转换为毫秒

MPI.Init(args);
int myrank = MPI.COMM_WORLD.Rank();
long startTime = System.nanoTime();
if (myrank == 0) {
     ...
} else {
      ...
}

long endTime = System.nanoTime();
long duration = endTime - startTime;

结果是:

MPJ Express (0.35) is started in the cluster configuration
Starting process <0> on <Raptor>
Starting process <1> on <Predator>
338198093
received: test               :
449582529
Stopping process <0> on <Raptor>
Stopping process <1> on <Predator>

我想把这些转换成更易读的东西

4

2 回答 2

4

一毫秒是 1,000,000 纳秒,所以你只需要一个除法。

一种更具可读性和安全性的方法是使用 TimeUnit 类:

long millis = TimeUnit.NANOSECONDS.toMillis(nanos)
于 2013-03-23T19:15:01.240 回答
2

一种简单的替代方法是使用毫秒开始:

long startTime = System.currentTimeMillis();
...
long endTime = System.currentTimeMillis();
于 2013-03-23T19:14:08.520 回答