List.ForEach vs foreach(...)

List.ForEach vs foreach(...)
http://msmvps.com/blogs/jon.skeet/archive/2006/01/20/foreachperf.aspx

.NET Framework 2.0以降に追加されたList.ForEachとC#言語のforeachキーワードのどちらを使った方が高速なのかベンチマークしたもの。

結果は、List.ForEachの勝ち。しかもforeachキーワードを使った時と比べて2倍以上も速い!ひゃぁー
(例外はあって配列をイテレートする場合は、foreachキーワードを使った方が速いです。)

Test parameters: Size=10000000; Iterations=100
Test 00:00:11.8251914: LanguageForEach
Test 00:00:05.3463387: NewDelegateEachTime
Test 00:00:05.3238162: CachedDelegate

興味深いのは、匿名メソッドをForEachメソッドで作成して使った時(NewDelegateEachTime)と、一回作成したあとにForEachで使った時(CachedDelegate)のパフォーマンスがあんまり変わらない事!

へぇ〜