.NET方法(在.dll中)和反映的版本之间的性能差异
本文关键字:版本 之间 性能 方法 dll NET | 更新日期: 2023-09-27 17:58:20
我一直在尝试优化JavaScript编码函数(在C#中)以提高其性能(全面尝试提高企业web应用程序的性能)。我们尝试使用.NET HttpUtility.JavaScriptStringEncode
,但它没有按照数据层预期的方式进行编码(更改数据层不在表中)。
使用RedGate探查器工具,我确定我们函数的最佳性能约为页面总负载的8%。当我使用.NET函数(在接受它的页面上)时,它大约占页面总负载的0.08%。我们反射了.NET函数,看看它们在起什么作用。当我将反射的代码复制到函数中并直接运行时,它的执行率约为10%。
我很好奇为什么。.NET函数是如何以不同的方式准备来奖励这样的性能提升的?
我提前道歉,但我不能粘贴我们正在使用的函数,但我认为这不会影响回答问题。
您能否将反射代码粘贴到库中后生成的IL代码与.NET库中的IL代码进行比较?用于编译的编译器开关可能会导致这种差异。