gpt4 book ai didi

performance - F# 代码引用调用、性能和运行时要求

转载 作者:行者123 更新时间:2023-12-04 00:37:21 25 4
gpt4 key购买 nike

这里有 4 个与 F# 代码引用密切相关的问题 -

如何调用 F# 代码引用?

它的调用方式是否会比它只是一个普通的旧 F# lambda 时效率低?到什么程度?

它是否需要对高级反射或代码发射功能的运行时支持(我的目标嵌入式平台通常缺少或禁止使用这些功能)?

最佳答案

引述只是数据,因此您可以用您想出的任何巧妙方式潜在地“调用”它们。例如,您可以简单地遍历树并边走边解释每个节点,但如果您尝试多次使用该值并且它不是一个简单的值(例如,如果您引用了 lambda你想重复调用)。

如果您想要性能更高(也更简单)的东西,那么您可以使用 Linq.RuntimeHelpers.LeafExpressionConverter.EvaluateQuotation。这不支持所有可能的引号(只是大致相当于 C# LINQ 表达式的集合),并且它必须做更多的工作才能实际生成 IL 等,但是如果您重用结果,这应该更有效.它首先将引用转换为 C# 表达式树,然后使用那里定义的标准 Compile 函数来完成工作,因此它只能在支持该功能的平台上运行。

关于performance - F# 代码引用调用、性能和运行时要求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23147064/

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