gpt4 book ai didi

f# - FSharp.Core 未优化?

转载 作者:行者123 更新时间:2023-12-02 08:57:48 26 4
gpt4 key购买 nike

我最近检查了 F# 应用程序的性能,在深入研究 CIL 时,我发现 FSharp.Core(适用于 .NET v4.0)包含几个 nop 指令、许多未使用的变量和仅是变量通过 STLoc/ldloc 指令序列写入/读取一次。
我调查了可能的原因,并且注意到即使在 Release模式下,F# 程序集也包含 --debug:pdbonly 指令,并且无法禁用它并从项目设置 UI 切换到 --debug-。
我想知道 FSharp.Core 的编译设置是否有特定的选择,如果有的话,那是什么。否则,期望运行时的完全优化版本是否合理?

最佳答案

看来这个问题的评论已经回答了大约90%;重申一下:

  • 几乎所有发布的二进制文件都是使用 --debug:pdbonly 编译的
  • 即使 IL 代码不是最优的,由于 JIT 对其进行了优化,这可能不会对现实世界产生任何影响

当然,F# 编译器可以通过各种方式潜在地生成更好的代码(每个编译器可能都是如此);如果您分析您的应用程序并发现一些不好的地方(例如,与 C# 中的类似代码存在很大差异),那么您可以通过邮寄 fsbug 让 F# 团队知道。但首先要测量。

关于f# - FSharp.Core 未优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3555272/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com