根据 Microsoft 的基准测试,即将推出的 Microsoft .NET 的下一个主要版本 .NET 6 显着提高了许多操作的性能。
.NET 合作伙伴软件工程师Stephen Toub 在 Dotnet 开发人员博客上发表的一篇新文章提供了有关基准测试和与 .NET 以前版本相比的性能改进 的见解。
根据这篇文章,大约有 6500 个合并的拉取请求登陆 .NET 6 ,不包括机器人的自动拉取请求。据微软称,其中大约 550 个可以提高一个或另一个领域的性能。
该职位本质上是技术性的;它包含大量代码、示例和说明,用于运行基准测试以验证结果。BenchmarkDotNet 用于大多数结果。
例如,以下是 Just In Time 基准测试的基准测试结果。大多数测试将 .NET 6 .0 的性能与 .NET 5.0 的性能进行比较,但您会发现某些测试中也使用了其他 .NET 版本。
方法 运行 意思 比率 代码大小 格式 .NET 5.0 13.21 纳秒 1.00 1,649 乙 格式 .NET 6 .010.37 纳秒 0.78 590 乙
方法 运行 意思 比率 代码大小 寻找 .NET 框架 4.8 115.4我们 1.00 127 乙 寻找 .NET 核心 3.1 69.7 美元 0.60 71 乙 寻找 .NET 5.0 69.8 美元 0.60 63 乙 寻找 .NET 6 .053.4我们 0.46 57 乙
方法 运行 意思 比率 代码大小 已分配 获取长度 .NET 框架 4.8 6.3495 纳秒 1.000 106 乙 32 乙 获取长度 .NET 核心 3.1 4.0185 纳秒 0.628 66 乙 —— 获取长度 .NET 5.0 0.1223 纳秒 0.019 27 乙 —— 获取长度 .NET 6 .00.0204 纳秒 0.003 27 乙 ——
方法 意思 代码大小 PGO 禁用 1.905 纳秒 30 乙 启用 PGO 0.7071 纳秒 105 乙
方法 运行 意思 比率 代码大小 和 .NET 5.0 471.3我们 54 乙 和 .NET 6.0 97 乙
方法 运行 意思 比率 代码大小 获取高度 .NET 5.0 151.7852 纳秒 1.000 179 乙 获取高度 .NET 6.0 0.0000 纳秒 0.000 12 乙
方法 运行 意思 比率 代码大小 格式 .NET 5.0 87.71 纳秒 1.000 154 乙 获取高度 .NET 6.0 51.88 纳秒 0.59 100 乙
您可以在 Dot Net Dev Blog 上查看完整的博客文章,了解所有测试、代码示例的完整纲要,并解释为什么特定基准测试的性能有所提高。
对 .NET 感兴趣的开发人员 可以 在撰写本文时从 Microsoft 的开发人员网站下载最新的预览版本 .NET 6.0 Preview 7。它适用于 Windows(ARM、x64、x32)、Linux(Arm32、Arm64、x64)和 Mac OS X(Arm64、x64)。仅提供适用于 Linux 的二进制文件、适用于 Windows 和 Mac OS 的安装程序和二进制文件。