.NET 9 带来了多方面的改进,包括性能提升、AI 支持以及全方位的功能优化,以下是详细介绍:
- 性能提升2:
- 编译器增强:64 位 JIT(Just-In-Time)编译器有诸多优化,比如生成更优质的循环代码,更多的本机 AOT(Ahead-of-Time)方法内嵌以及更快的类型检查,这些改进让代码的执行效率更高。
- 服务器 GC 优化:服务器垃圾回收器(GC)根据应用程序的实际内存需求进行调整,而非依赖环境资源,这在高核心数环境以及应用程序内存需求变化较大的情况下效果显著,减少了内存使用量,但可能会有轻微的吞吐量成本2。
- 矢量化和硬件支持:.NET 9 回归矢量化,增加了对 Arm64 SVE、Intel AVX10 等新芯片的支持,并且支持硬件加速运行时,大大提高了硬件的吞吐量2。
- RyuJIT 性能改进:RyuJIT 在 Arm64、循环、PGO(Profile-Guided Optimization,配置文件引导优化)和边界检查等方面性能提升,异常处理速度提高了 50%2。
- 动态 PGO 更新:动态 PGO 得到更新,能够优化更多代码模式。JIT 可以为应用中的常见和不可见的类型转换生成快速路径代码,并且能展开和矢量化对缓冲区的某些操作,执行速度提高了 70%(需禁用 ReadyToRun)2。
- LINQ 和 JSON 操作优化:LINQ 的
Take
和DefaultIfEmpty
等方法在底层数组、集合或可枚举为空时返回速度提高了 10 倍;System.Text.Json
的各种操作性能提升超过 50%,JsonObject
优化了内存分配和调整大小的成本2。
- AI 支持:
- 丰富的学习材料和示例:为开发者提供了新的学习材料和示例,以便他们能更轻松地将 AI 功能集成到应用程序中2。
- 强大的合作伙伴生态:与 Azure、OpenAI、LlamaIndex、Qdrant、Pinecone、Milvus、AutoGen、OllamaSharp、ONNX Runtime 等众多合作伙伴合作,构建了强大的 AI 生态系统。同时,与社区和控件供应商合作,构建智能组件生态系统,让 AI 集成变得更加容易2。
- 原生支持与抽象层:对 ONNX 运行时的原生支持,简化了 AI 模型的加载和推理过程,开发者可以通过
Microsoft.ML.OnnxRuntime
命名空间直接加载 ONNX 模型,并调用硬件加速器。还引入了Microsoft.Extensions.AI
和Microsoft.Extensions.VectorData
,为与 AI 服务交互提供统一的 C# 抽象层,支持小型和大型语言模型、嵌入、向量存储和中间件3。 - 集成生成式 AI:通过集成 OpenAI 的 SDK,开发者可以直接在.NET 项目中使用 GPT 系列模型来构建智能应用,并且推出了
Microsoft.ML.GenAI
,使开发者能够加载并使用流行的生成式 AI 模型3。
- 全方位改进2:
- .NET Aspire 组件升级:.NET Aspire 是一组用于开发可观察、生产就绪应用程序的工具、模板和包。自首次发布后的六个月内进行了全面改进,包括遥测和指标仪表板的新功能、更简化的云应用程序部署,还增加了从仪表板启动和停止资源、在调试会话间保持容器活动状态、新的管理资源启动的 API 等功能,并且与 OpenAI、Ollama、Milvus 等实现了无缝集成。
- 编程语言新功能:C# 13.0、F# 8.0 和 Visual Basic 16.9 等语言的更新,为开发者提供了更多的语言特性和功能,有助于提高开发效率。
- 开发工具更新:Visual Studio 2022(v17.12)对.NET 9 提供了更好的支持,在性能、调试和诊断方面有显著改进,与.NET Aspire 进行了更好的集成,支持 C# 13 的分析器,改进了 Git 支持等4。