0

プログラム全体の実行にかかる時間を計りたいと思います。時間を計ることは可能System.nanoTime();ですが、プログラムを分析するのに最適な測定単位は何ですか?

4

4 に答える 4

2

ログに必要な解像度は、プログラムの性質に完全に依存します。原則として、ミリ秒で十分だと思います。

于 2012-09-27T19:11:22.503 に答える
0

System.nanoTime()古いバージョンのJVMではサポートされていません。これらの精度はおそらくOSにも依存します。この記事は非常に興味深いものであり、この種のことについて詳しく説明しています

個人的にSystem.currentTimeMillis()は、それでもかなり正確で、古いVMでサポートされているので使用します。もっと精度が欲しいなら、私System.nanoTime()はあなたが得ることができる最高だと思います。

この SO投稿はあなたにも興味深いかもしれません

于 2012-09-27T19:13:59.650 に答える
0

どうしたの:

long t1 = System.nanoTime();
// do something
long t2 = System.nanoTime();
System.out.println(t2 - t1); 

を使用することもできますSystem.currentTimeMillis()(これの方が適している可能性があります)。これは、測定しようとしているプロセスに大きく依存します。

于 2012-09-27T19:09:11.423 に答える
0

すべてのシステムがその程度の忠実度を持っているわけではないため、ミリ秒はナノ秒よりも一般的です。

long t0 = System.currentTimeMillis();
// Time passes...
long t1 = System.currentTimeMillis();
long elapsedMillis = t1 - t0;
于 2012-09-27T19:11:01.873 に答える