visual-studio - f# 编译太慢

标签 visual-studio f#

我是 f# 新手。我下载了 Visual Studio 2010 shell 和 F# ctp,并使用以下代码编写了一个小型 hello world 脚本

printfn "Hello World"
let _ = System.Console.ReadLine()

编译大约需要 13 到 15 秒,与运行类似的 C# 脚本(大约需要 2 秒)相比,速度非常慢。我希望 F# 脚本编译得更快,以便减少我的开发(即实验)时间,我不关心运行时性能。

有什么方法可以让 F# 脚本编译得更快,也许可以打开/关闭 Visual Studio 中的某些build设置或类似的设置?

仅供引用,我正在使用一台已有 4 年历史的 pentium 4、1.5 GB RAM 机器,如果有帮助的话。

最佳答案

我不知道 Pentium 4 应该多快编译“hello world”程序,但 15 秒对我来说相当慢。我曾经在使用 VS 2010 Beta 时遇到过类似的速度问题,结果发现问题是 Visual Studio 和 F# 编译器尚未正确 NGENed。

通常情况下,Visual Studio 安装应确保所有内容均已 NGENed,但也许出现了问题。您可以在具有管理员权限的控制台窗口中使用以下命令检查 F# 编译器是否已被 NGENed:

cd "C:\Program Files\FSharp-2.0.0.0\bin"
c:\windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe display fsc.exe

如果结果显示 fsc.exe 的 native 镜像仍处于挂起状态,您可以使用以下命令强制编译:

c:\windows\Microsoft.NET\Framework\v4.0.30319\ngen.exe executeQueuedItems

注意:我不确定您到底使用的是哪个版本的 F# 编译器。 VS2010 完整安装使用的是 C:\Program Files\Microsoft F#\v4.0 中的那个(或 C:\Program Files (x86)\Microsoft F#\v4 .0(在 64 位机器上)。因此,如果您使用该文件夹,则必须cd进入该文件夹,而不是C:\Program Files\FSharp-2.0.0.0\bin文件夹。

关于visual-studio - f# 编译太慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4697771/

相关文章:

c++ - 从命令行编译 Visual Studio 项目中的特定对象?

node.js - 错误 MSB4062 : The "SetEnv" task could not be loaded from the assembly

c# - 如何在 VS2013 中创建一个空的 MVC 5 项目

f# - 折叠选项列表

f# - 即使被迫失败,F# 中的 Expecto 测试也始终通过

c++ - VS2015 的多处理器编译在运行 cl.exe 时产生 "not enough quota is available to process this command"

c# - 如何在 Visual Studio 中找到哪些类实现了给定的接口(interface)?

f# - F# 和 WPF(Visual Studio 2019 社区)的模板?

f# - 如何使用 Paket 编译一个简单的 F# 应用程序?

wcf - WCF 环境中的 F# 类型实例标识错误?