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ミリ秒は1,000,000ナノ秒なので、除算が必要です。

これを行うためのより読みやすく安全な方法は、TimeUnitクラスを使用することです。

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

簡単な代替方法の1つは、ミリ秒を使用して開始することです。

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