微軟持續改進開源軟體套件管理系統NuGet的效能,在Visual Studio過去5個發布版本以來,NuGet在套件恢復、管理專案相依性和瀏覽套件等操作速度,都獲得顯著的改進,尤其是在大型解決方案的套件還原,更是有感提升。

在Visual Studio 16.4和16.9之間,微軟特別針對NuGet還原.NET專案套件的使用情境進行改善。微軟解釋,套件還原動作可以確保專案在建置之前,所有的檔案和packages.config中宣告的相依項目都正確可用,而這表示NuGet需要確認所有需要用到的套件,都在全域套件資料夾或是本地套件快取中可用。

在NuGet中有兩種還原類型,分為一般還原以及無操作還原,一般還原是指需要執行套件下載、套件安裝以及相依關係圖解析操作的還原,而無操作還原則是用來維持專案狀態更新的一種還原方法,大多數情況,用戶都採用無操作還原。

微軟在最近5個Visual Studio發布版本,針對擁有50個專案的大型解決方案,改進其無操作還原效能,使得p95、p75和p50的效能都有大幅度的改進,越高的百分比代表解決方案中有越多的專案。p95在Visual Studio 16.8版本的無操作還原,效能已經有大幅度的降低,從15.9版需要接近3,500毫秒,到現在16.8已經僅需要約1,250毫秒。

而這些改進也不只大型解決方案受益,小型和中型的解決方案(下圖)的還原效能也同樣獲得改進。此外,微軟透過對還原的套件進行分組,來提高Visual Studio解決方案載入的還原效能,而這使得超過150個專案的解決方案,其載入效能產生重大變化,像是OrchardCore專案在NuGet還原效能改進更新之後,花費的時間從73秒下降至27秒。

此外,微軟還改進持續整合情境,包括NuGet CLI、dotnet CLI和MSBuild,在沒有任何套件下載的情況,套件還原的效能也都獲得提升,在過去5個NuGet Client工具版本中,50個專案以上的大型解決方案,還原效能改善超過40%。

熱門新聞

Advertisement