马上注册,结交更多好友,享用更多功能,让你轻松玩转社区
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本帖最后由 浮生未歇 于 2024-11-13 16:21 编辑
11 月 13 日消息,微软刚刚发布了最新的.NET 9.0 SDK 及其对应的.NET 运行时和 ASP.NET Core 运行时,该分支具有 18 个月标准期限支持。 微软表示,.NET 9 是迄今为止性能最高的 .NET 版本,对运行时、工作负载和语言方面进行了 1,000 多项与性能相关的改进,并采用了更高效的算法来生成更好的代码。 从官方获悉,.NET 9 包括对 64 位 JIT 编译器的增强功能,旨在提高应用性能。这些编译器增强功能包括: 1. 更优质的 Loop 代码生成。 2. 更多的本机 AOT 方法内嵌。 3. 更快的类型检查。 据介绍,其服务器 GC 已经实现了重大调整,以适应应用程序内存需求,而不是环境(机器 / 虚拟机 / 容器)中可用的资源。这一改变对核心数较高的环境产生了较大影响。 微软指出,TechEmpower 基准测试对 .NET 9 来说是小菜一碟,它可以带来更高的吞吐量和显著更低的内存使用量(内存占用降低是由于服务器 GC 的变化)。 此外,.NET 9 运行时恢复了矢量化,增加了对新处理器的支持,包括 Arm64 SVE、Intel AVX10,并支持硬件加速运行时。RyuJIT 则提高了对 Arm64、循环、PGO 和边界检查的性能。由于采用了与 Native AOT 相同的异常模型,异常速度提高了 50%。 动态配置文件引导优化(PGO)同步迎来更新,以优化更多代码模式。JIT 现在能够为应用中的常见和不可见的类型转换生成快速路径代码。它还可以展开和矢量化对缓冲区的某些操作,以适应观察到的常见缓冲区长度。这一调整使得执行速度提高了 70%(尽管需要禁用 ReadyToRun)。 此外,LINQ 也针对各种常见情况进行了优化。当底层数组、集合或可枚举为空时,Take 和 DefaultIfEmpty 等方法返回速度提高了 10 倍。 System.Text.Json 的底层细节也已得到显著优化,各种操作的提升幅度超过 50%。JsonObject 现可根据提供的可枚举对象正确调整其底层支持存储的大小,从而避免分配和调整大小的成本。 来源:IT之家 |