分類:[.NET 全般]
以下のコードを実行すると
138 ms
53 ms
326 ms
二つ目は一つ目と同じ配列を使っているのに3倍近く計算時間が速くなってしまいます。
三つめは、単に違う配列を使っただけで全く同じコードなのに一つ目よりも3倍近く遅くなってしまいます。
デバッグモードではなく、リリースモードを使っていますし、
何度か試してみたのですが
何度やっても同じような結果になってしまいます。
これってなぜなのでしょうか?
Dim sw As New Stopwatch
Dim Hai(100000000) As Integer
sw.Restart()
For i = 1 To 100000000
Hai(i) = 1
Next
'138 ms
MsgBox(sw.ElapsedMilliseconds)
sw.Restart()
For i = 1 To 100000000
Hai(i) = 2
Next
'53 ms
MsgBox(sw.ElapsedMilliseconds)
Dim Hai2(100000000) As Integer
sw.Restart()
For i = 1 To 100000000
Hai2(i) = 1
Next
'326 ms
MsgBox(sw.ElapsedMilliseconds)
|