我有一些用C#编写的数学函数和使用BenchmarkDotNet的相关性能基准测试。
今天我安装了Visual Studio15.2,根据BenchmarkDotNet的输出,(a)一些数学运算现在比以前快了很多(例如exp和tanh似乎快了好几倍) (b) RyuJIT版本已经从v4.6.1648.0改为v4.7.2098.0。
我想了解是什么变化导致了这些性能的提高。
发布于 2018-07-02 00:23:19
您可以通过跟踪CoreCLR repo中的工作来跟踪RyuJit中的改进。
在过去的几年中,在CoreCLR中对RyuJit所做的改进也被传播回完整的.Net框架,并应用于在64位运行时运行的应用程序。在核心版本(有时是CoreCLR提交)和桌面版本之间有一个大致的对应关系:
<代码>H110.Net核心2.1 ~?<代码>H211<代码>F212
32位运行时的.Net框架代码生成是由一个较旧的jit (也称为JIT32)完成的,该jit在最近几年没有太大变化。
正如你所注意到的,Window预装了.Net框架,所以如果你更新你的操作系统,你也可能会更新.Net框架的版本。旧版操作系统的更新也是通过windows更新发布的,因此随着时间的推移,将有更多的安装运行最新版本(目前为4.7.2)。
https://stackoverflow.com/questions/44663410
复制相似问题