gpt4 book ai didi

c# - .NET 3.5 及更低版本中内联的替代方案

转载 作者:行者123 更新时间:2023-11-30 16:59:15 26 4
gpt4 key购买 nike

为了提高性能,我经常发现需要内联扩展,不幸的是 MethodImplOptions.AggressiveInlining 仅在 .NET 4.5 及更高版本中可用。是否有任何替代方案,例如代码片段?

最佳答案

看起来您经常编写低级性能关键代码。我发现你的问题是有效的请求。您希望更好地控制内联发生的时间。事实上,您希望将某个调用站点标记为强制进行内联。

不幸的是,从 .NET 4.5 开始,MethodImplOptions 是控制内联的唯一方法。此外,.NET JIT 目前是一个优化很差的编译器。您可以期望它执行非常基本的优化,如保守内联、死代码消除和常量折叠。不过,它不会给您带来积极的惊喜。

唉,只能给否定的答案了。在当前版本的 CLR 中您无能为力。


不过,我注意到您似乎将已解析的字符一个接一个地附加到某个“缓冲区”。尝试将它们添加到更大的 block 中。 CPU 喜欢以更大的单位复制内存。记住当前文本范围开始的位置。结束时,一次性复制该范围内的所有字符(可能使用 memcpy)。

关于c# - .NET 3.5 及更低版本中内联的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23845014/

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