.NET 7 已经发布并带来了各种性能改进

网 7

使用 .NET 7,您可以跨浏览器、云、桌面、物联网设备和移动平台构建跨平台应用程序

微软宣布发布 您平台的新版本 “.NET 7” 其中包括带有 RyuJIT JIT 编译器的运行时、API 规范、WPF 库和其他工具。

此外,ASP.NET Core 7.0 Web 应用程序、Entity Framework Core 7.0 ORM 层、WPF 7(Windows Presentation Foundation)库、​​用于 GUI 开发的 Windows Forms 7 框架、Orleans 平台。

.NET 7 中的新功能

在这个新版本中,基类库(BCL,Base Class Library) 已统一用于各类应用, 包括桌面系统、Web 应用程序、云平台、移动应用程序、游戏、嵌入式程序和机器学习系统的程序。 您可以使用通用 SDK、运行时和一组库来开发不同类型的应用程序。

除此之外,还要强调的是 提供将应用程序绑定到 .NET 7 版本兼容 API 的能力 通过“net7.0”目标框架定义,例如“ net7.0 »。 要绑定到特定于平台的 API,您可以在指定目标时指定平台类型,例如通过指定“net7.0-android”。

突出显示对 ARM64 架构的改进支持 并继续努力在 x86 和 ARM64 架构上运行时实现 .NET 应用程序的同等性能。 提高了 ARM3 系统运行时的 L64 缓存效率。 LSE 指令用于隔离并行线程内存访问,从而减少 45% 的延迟。

该库添加了使用 Vector64、Vector128 和 Vector256 矢量类型的驱动程序,并且基于向量指令重写了EncodeToUtf8和DecodeFromUtf8函数,性能提升高达60%(对于NarrowUtf16ToAscii和GetIndexOfFirstNonAsciiChar函数,性能提升达到35%). 总体而言,ARM64 平台上的测试通过速度提高了 10-60%。

另一方面,也 突出显示 Linux 支持增强功能,包括使用 .NET 6 添加软件包 到 Ubuntu 22.04 库存存储库,并提供优化、紧凑、开箱即用的 docker 映像,用于快速部署具有基于 .NET 的应用程序的容器。

引入 .NET 升级助手,以便更轻松地将旧应用程序迁移到分支 .NET 6 或 .NET 7。新版本扩展了对将 ASP.NET 应用程序移植到 ASP.NET Core 的支持,为 WinForms、WPF 和类库添加了代码解析器和检查器,实现了对文件解析可执行文件的支持,增加了对 UWP 的支持(通用 Windows 平台)。

提出了数学函数的通用接口 并且提供了在虚拟接口中定义静态元素的可能性,这允许应用通用编程方法来执行数学运算,而无需有关值类型的确切信息。

JIT 编译器的性能也得到了改进, 除了被添加 支持 OSR 机制 (On Stack Replacement) 更改已经执行的方法的代码,允许您对需要很长时间才能完成的方法进行优化,而无需等待当前调用完成(在 TechEmpower 测试中,有 10-30处理第一个请求的性能提高 10-30%)。

其他变化 脱颖而出:

  • 添加了对编译为自包含可执行文件(本机 AOT)的支持,其中整个项目最初编译为本机目标平台代码,而不使用中间代码和 JIT。
  • .NET SDK 实现了限制使用提供的项目模板的能力; 例如,您可以确定模板在哪些操作系统上有效。
  • NuGet 添加了一个集中的包管理模式,允许您一次管理多个项目的依赖项。

最后 如果您有兴趣了解更多信息,您可以查看详细信息 在下面的链接中。

对于那些感兴趣的人,您应该知道 .NET SDK 7、.NET Runtime 7 和 ASP.NET Core Runtime 7 的构建是为 Linux、macOS 和 Windows 构建的。 .NET Desktop Runtime 6 仅适用于 Windows。


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。