1

私はこのjmhテストを見ていますhttp://hg.openjdk.java.net/code-tools/jmh/file/57623b7f64e6/jmh-core-benchmarks/src/main/java/org/openjdk/jmh/benchmarks/NanoTimerBench .javaSystem.nanotime(). しかし、粒度とレイテンシの測定の違いがよくわかりません。レイテンシーの測定と粒度の測定の違いは何ですか?

4

1 に答える 1

3

粒度は、タイマーの分解能です。たとえば、別の値が返されるまでにどれくらいの時間が経過する必要があるかなどです。( Peter Lawrey が言ったように、最小のピース、たとえば「穀物」はどれくらいの大きさで測定できますか。)

この場合のLatencyは、基本的にタイマー値を取得するのにかかる時間です。

したがって、タイマー値を取得するのに 10ns かかるが、タイマー値の精度が 100ns までしかない場合、レイテンシは 10ns ですが、粒度は 100ns です。このようなタイマーを使用すると、たとえば 40ns の間に 2 回または 3 回呼び出すことができ、常に同じ「ナノ秒」の値が返されます (粒度がレイテンシーよりも大きいため)。

または、タイマー値を取得するのに 20ns かかるシステムがあるかもしれませんが、値は 5ns まで正確です。その場合、粒度がレイテンシーよりも小さいため、呼び出しごとに異なる値が返されます。

于 2015-06-02T14:43:35.337 に答える