設(shè)置
  • 日夜間
    隨系統(tǒng)
    淺色
    深色
  • 主題色

微軟發(fā)布 .NET 8 開(kāi)源開(kāi)發(fā)平臺(tái):引入 PGO、AVX-512 支持,性能提升 20%

2023/11/15 9:27:01 來(lái)源:IT之家 作者:問(wèn)舟 責(zé)編:問(wèn)舟

IT之家 11 月 15 日消息,微軟今日舉行了“.NET Conf 2023”開(kāi)發(fā)者大會(huì),并推出了最新一代 .NET 8 開(kāi)源開(kāi)發(fā)平臺(tái)。

對(duì)企業(yè)來(lái)說(shuō)特別重要的是,.NET 8 是一個(gè)長(zhǎng)期支持 (LTS) 版本,這意味著它將獲得三年的支持和補(bǔ)丁,而標(biāo)準(zhǔn)期限支持 (STS) 版本則是 18 個(gè)月。對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),特別重要的是 .NET 團(tuán)隊(duì)正在向期待已久的原生提前編譯(NativeAOT)邁進(jìn) 。

據(jù)介紹,.NET 8 不僅包含許多性能改進(jìn),還增加了一個(gè)新的代碼生成器 —— 動(dòng)態(tài)配置文件引導(dǎo)優(yōu)化(PGO),它可以根據(jù)應(yīng)用優(yōu)化代碼。微軟表示這將使基于.NET 8 的應(yīng)用性能提升至高 20%。

此外,新增的 AVX-512 指令集支持也可以對(duì) 512 位數(shù)據(jù)向量進(jìn)行并行運(yùn)算,在 .NET 8 中受支持和使用,從而允許在更短的時(shí)間內(nèi)進(jìn)行更多的數(shù)據(jù)處理。

微軟還表示,基元類型現(xiàn)在實(shí)現(xiàn)了新的格式化和可解析接口,使它們能夠直接格式化和解析為 UTF-8,而不會(huì)產(chǎn)生任何轉(zhuǎn)碼開(kāi)銷。

.NET 8 帶來(lái)了數(shù)千種性能改進(jìn),涵蓋了整個(gè)堆棧。默認(rèn)情況下會(huì)啟用一個(gè)新的代碼生成器,稱為動(dòng)態(tài)配置文件引導(dǎo)優(yōu)化(PGO),它會(huì)根據(jù)實(shí)際使用情況優(yōu)化您的代碼,從而為應(yīng)用程序提高多達(dá) 20% 性能。

現(xiàn)在支持的 AVX-512 指令集使您能夠在 512 位數(shù)據(jù)向量上執(zhí)行并行操作,這意味著您可以在更短的時(shí)間內(nèi)處理更多的數(shù)據(jù)?;绢愋停〝?shù)值和更多)現(xiàn)在實(shí)現(xiàn)了一個(gè)新的可格式化和可解析接口,使其能夠直接以 UTF-8 格式進(jìn)行格式化和解析,而無(wú)需任何轉(zhuǎn)碼開(kāi)銷。

微軟表示,TechEmpower 基準(zhǔn)測(cè)試顯示,在 JSON API 場(chǎng)景中,.NET 8 的性能比.NET 7 提高了 18%,而在 Fortunes 場(chǎng)景中,.NET 8 的性能比.NET 7 提高了 24%。

微軟還在努力推動(dòng)將.NET 8 用于基于 AI 的應(yīng)用程序。

集成 Tensor 基元。隨著啟用 AI 的應(yīng)用程序的興起,出現(xiàn)了新的工具和 SDK。我們與許多內(nèi)部和外部合作伙伴(如 Azure OpenAI、Azure Cognitive Search、Milvus、Qdrant 和 Microsoft Teams)合作,確保.NET 開(kāi)發(fā)人員通過(guò)各自的 SDK 輕松訪問(wèn)各種 AI 模型、服務(wù)和平臺(tái)。

此外,開(kāi)源的語(yǔ)義內(nèi)核 SDK 簡(jiǎn)化了將這些 AI 組件集成到新應(yīng)用程序和現(xiàn)有應(yīng)用程序中的過(guò)程,幫助您提供創(chuàng)新的用戶體驗(yàn)。

.NET 8 通過(guò)推進(jìn) NativeAOT 來(lái)增強(qiáng)可持續(xù)計(jì)算,以減少內(nèi)存使用并實(shí)現(xiàn)即時(shí)應(yīng)用程序啟動(dòng)。微軟今天強(qiáng)調(diào)了 AOT 的功能,包括:

  • 它將應(yīng)用程序編譯為使用更少內(nèi)存的本機(jī)代碼并立即啟動(dòng)

  • 無(wú)需等待 JIT(實(shí)時(shí))編譯器在運(yùn)行時(shí)編譯代碼

  • 無(wú)需部署 JIT 編譯器和 IL 代碼

  • AOT 應(yīng)用僅部署應(yīng)用所需的代碼

  • 現(xiàn)在,應(yīng)用程序可以在不允許使用 JIT 編譯器的受限環(huán)境中運(yùn)行

對(duì)于在.NET 8 上開(kāi)發(fā)并在 Linux 和 Windows 平臺(tái)上運(yùn)行的 AOT(提前編譯)應(yīng)用也將得到性能提升,這意味著開(kāi)發(fā)人員不必使用 JIT(即時(shí)編譯)編譯器來(lái)在運(yùn)行時(shí)編譯他們的應(yīng)用程序。

IT之家注意到,除了 .NET 8 之外,微軟還發(fā)布了.NET Aspire 首個(gè)版本。這是一個(gè)專門為制作基于云的應(yīng)用程序而設(shè)計(jì)的堆棧,或者說(shuō)是一個(gè)用于構(gòu)建彈性、可觀察和可配置的云原生應(yīng)用程序的堆棧。

.NET Aspire 附帶了一組針對(duì)云原生開(kāi)發(fā)增強(qiáng)的精選組件,默認(rèn)情況下包括遙測(cè)、復(fù)原、配置和運(yùn)行狀況檢查等等。

在云原生的容器方面,.NET 8 通過(guò)簡(jiǎn)化應(yīng)用程序的打包和使用默認(rèn)的非 root 用戶配置增強(qiáng)安全性來(lái)簡(jiǎn)化容器化。它還提供更小的映像大小以加快部署速度,并提供可選的 Dirstroless Ubuntu 映像以增強(qiáng)安全性,以及多功能架構(gòu)支持。

微軟還表示,它使用簡(jiǎn)單易用的本地開(kāi)發(fā)人員體驗(yàn),同時(shí)也足夠復(fù)雜以創(chuàng)建基于云的應(yīng)用程序。

此外,借助 C#12 ,你現(xiàn)在可以用簡(jiǎn)單而優(yōu)雅的語(yǔ)法在任何類和結(jié)構(gòu)中創(chuàng)建主要構(gòu)造函數(shù),不再需要樣板代碼來(lái)初始化字段和屬性。使用簡(jiǎn)潔而富有表現(xiàn)力的語(yǔ)法創(chuàng)建數(shù)組、spans 和其他集合類型。對(duì) lambda 表達(dá)式中的參數(shù)使用新的默認(rèn)值。不再需要重載或 null 檢查來(lái)處理可選參數(shù)。您甚至可以使用 using alias 指令為任何類型設(shè)置別名,而不僅僅是命名類型!

C# 12 中的新增功能指南解釋了版本 12 中的以下新功能:

  • 主構(gòu)造函數(shù) - 在 Visual Studio 17.6 預(yù)覽版 2 中引入。

  • Lambda 表達(dá)式中的可選參數(shù) - 在 Visual Studio 17.5 預(yù)覽版 2 中引入。

  • 任何類型的別名 - 在 Visual Studio 17.6 預(yù)覽版 3 中引入。

  • 內(nèi)聯(lián)數(shù)組 - 在 Visual Studio 17.7 預(yù)覽版 3 中引入。

  • 集合表達(dá)式 - 在 Visual Studio 17.7 預(yù)覽版 5 中引入。

  • 攔截器 - 預(yù)覽功能在 Visual Studio 17.7 預(yù)覽版 3 中引入。

開(kāi)發(fā)人員可以在這篇博客文章中了解有關(guān) .NET Aspire 的更多信息,并且可以在 GitHub 上提交有關(guān)此預(yù)覽版本的反饋。

廣告聲明:文內(nèi)含有的對(duì)外跳轉(zhuǎn)鏈接(包括不限于超鏈接、二維碼、口令等形式),用于傳遞更多信息,節(jié)省甄選時(shí)間,結(jié)果僅供參考,IT之家所有文章均包含本聲明。

相關(guān)文章

  • 日榜
  • 周榜
  • 月榜

軟媒旗下網(wǎng)站: IT之家 最會(huì)買 - 返利返現(xiàn)優(yōu)惠券 iPhone之家 Win7之家 Win10之家 Win11之家

軟媒旗下軟件: 軟媒手機(jī)APP應(yīng)用 魔方 最會(huì)買 要知