gpt4 book ai didi

c# - .NET 方法(在 .dll 中)和反射(reflect)版本之间的性能差异

转载 作者:太空狗 更新时间:2023-10-29 17:59:31 25 4
gpt4 key购买 nike

我一直在尝试优化 JavaScript 编码函数(在 C# 中)以提高其性能(在提高企业 Web 应用程序性能的整体尝试中)。我们尝试使用 .NET HttpUtility.JavaScriptStringEncode,但它没有按照我们的数据层预期的方式进行编码(并且更改数据层不在表中)。

我使用 RedGate 分析器工具确定我们函数的最佳性能是总页面负载的 8% 左右。当我使用 .NET 函数时(在接受它的页面上),它占总页面加载量的 0.08% 左右。我们反射(reflect)了 .NET 函数以查看它们在起作用,当我将反射(reflect)的代码复制到函数中并直接运行它时,它的执行速度约为 10%。

我很好奇为什么。 .NET 函数如何以不同的方式准备来奖励这种性能提升?

我提前道歉,但我无法粘贴我们正在使用的功能,但我认为这不会影响回答问题。

最佳答案

您能否将反射代码粘贴到您的库中后生成的 IL 代码与 .NET 库中存在的 IL 代码进行比较?用于编译的编译器开关可能会导致此类差异。

关于c# - .NET 方法(在 .dll 中)和反射(reflect)版本之间的性能差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14783539/

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