F# のリストと配列のパフォーマンスをチェックしていました。コードを考えると:
let list = [ 1.. 100000 ]
for i in 1 .. 100 do ignore ( list|>List.map(fun n -> n))
let array = [| 1.. 100000 |]
for i in 1 .. 100 do ignore ( array|>Array.map(fun n -> n))
私は両方が非常に同じ時間に実行されると思います。実際、配列は 10 倍以上高速であることが判明しました。配列は 28 ミリ秒かかり、リストは 346 ミリ秒かかります! 何故ですか?F# のリストの概念と、たとえばリストに値を追加したり、サブシーケンスを取得したりするのは時間がかかるという事実を理解していますが、このコードではすべての要素を繰り返すだけなので、タイミングは非常に似ていると思いました。
Visual Studio 2012 のリリース モードでのテスト (デバッグ モードでは、配列は約 5 倍高速です)。