我有一个程序,它会将消息从一台机器发送到另一台机器所需的时间,但结果是长格式,如何将其转换为毫秒
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>
我想把它们转换成更具可读性的东西
一个简单的替代方法是使用毫秒开头:
long startTime = System.currentTimeMillis();
...
long endTime = System.currentTimeMillis();
一毫秒是1,000,000纳秒,所以你只需要一个分区。
更可读和安全的方法是使用TimeUnit类:
long millis = TimeUnit.NANOSECONDS.toMillis(nanos)