有没有什么理由为什么F#不够聪明以优化下面的代码? fast = 880
和slow = 8090
。使用F#优化记录中的函数值存取
type Data = { fn: int * int -> int }
let fn (x, y) = x + y
let data = { fn = fn }
let mutable a = 0
let s = System.Diagnostics.Stopwatch()
s.Start()
for i in 0 .. 1000000000 do
a <- fn(i, i)
printfn "fast = %d" s.ElapsedMilliseconds
s.Restart()
for i in 0 .. 1000000000 do
a <- data.fn(i, i)
printfn "slow = %d" s.ElapsedMilliseconds
我认为你的问题不太对。正确的问题是为什么不安装程序优化它,而不是为什么_优化它。 – mydogisbox 2013-04-30 18:02:17