ren*_*ren 4 performance f# compilation fsharpcodeprovider
我能做些什么来使f#代码编译得更快(或者更好但不是)运行ngen?
对于说奔腾4机器,什么是近似基准"hello world"编译时间(或更好的说编译器启动时间+编译时间)?
编辑结果有细微差别:)
首先,任何人都可以解释什么是编译器的启动时间?为什么它变慢.还将赞赏有关整个f#编译过程的信息的链接.
上下文:在小代码片段中反复调用f#编译器
using (CodeDomProvider provider = new Microsoft.FSharp.Compiler.CodeDom.FSharpCodeProvider())
{
//start time
cr = provider.CompileAssemblyFromSource(cp, new string[] { data.Program });
//end time
}
Run Code Online (Sandbox Code Playgroud)
时差约为6秒.所以问题基本上是除了ngen之外可以做些什么?你可以在这里看到自己:rundotnet
我的电脑需要0.9秒(AMD Athlon 64 X2 4600):
#r "FSharp.Compiler.CodeDom"
open System.Reflection
open System.CodeDom.Compiler
open Microsoft.FSharp.Compiler.CodeDom
let comp() =
use provider = new FSharpCodeProvider()
let code = "module pp\n printfn \"Hello world\""
let cp = new CompilerParameters()
cp.GenerateInMemory <- true
provider.CompileAssemblyFromSource(cp, [|code|]) |> ignore
#time
comp()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
819 次 |
| 最近记录: |