私はこのようなベンチマークを作成します:
for (int i = 0; i < 1000 * 1000; ++i) {
long var = System.nanoTime();
}
jdk6.0を搭載したコンピューターでは41ミリ秒かかります
次のコードは1ミリ秒しかかかりません!!!
for (int i = 0; i < 1000 * 1000; ++i) {
System.nanoTime();
}
長い変数に時間がかかるのではないかと思うので、次のようなテストを行います。
for (int i = 0; i < 1000 * 1000; ++i) {
long var = i;
}
たった1ミリ秒かかります!!!
では、なぜ最初のコードブロックがとても遅いのですか?私は中国人です。英語が下手でごめんなさい!