ttp://support.microsoft.com/kb/129931/en-us?fr=1#top
VB4時代のこんなの見つけたけど、今は大丈夫だろうと思ったら

Sub Main(ByVal cmdargs() As String)
Dim sw As New Stopwatch
Dim a(50000000) As Integer

sw.Restart()
For Each i As Integer In a
a(i) = i
Next
sw.Stop()
p(sw.ElapsedMilliseconds)

sw.Restart()
For i As Integer = 0 To UBound(a)
a(i) = i
Next
sw.Stop()
p(sw.ElapsedMilliseconds)

Console.Read()
End Sub
何度試しても、キャッシュを気にして順番を変えてみても
for eachのほうが遅い
今でも配列にはforを使うべき?