您好,登錄后才能下訂單哦!
.NET Core引入性能分析引導優化的示例分析,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
“性能分析引導優化(Profile Guided Optimization,縮寫PGO)”是一項原生編譯技術,可用于生成高度優化的代碼。它通過一個兩步編譯過程實現優化——用第一步記錄相關執行信息,然后第二步用那些信息構建一個改進過的二進制文件。據來自微軟的Daniel Podder和Bertrand Le Roy介紹,從歷史上看,該過程的好處是改進了二進制代碼在鏡像中的位置,產生了更好的行為和引用集局部性。
在.NET Core中實現PGO的一個重要原因是,用戶不需要采取任何特殊的措施就可以從PGO受益,因為它是應用到.NET Core運行時和JIT編譯器的。因此,它會針對特定的應用程序根據其使用情況進行恰當的改進,而托管應用程序會自動受益。
Podder和Le Roy表示,對于這個版本,PGO優化已經應用到.NET Core運行時的原生部分,但將來,他們會把這些優化應用到.NET Core技術棧的托管組件。和針對.NET Core 1.1的PGO優化只適用于Windows x86不同,這些最新的優化已經擴展到了Windows x64和Linux x64上。
由于一個.NET Core應用程序超過75%的啟動時間都消耗在coreclr.dll
和clrjit.dll
上(在Linux上是libcoreclr.so
和libclrjit.so
),所以那是團隊設法度量并改進性能的地方。根據微軟的基準測試,在Windows平臺(x64 & x86)上的改進非常顯著,性能提升在14%到23%之間。另一方面,在Linux x64上的性能提升在2%到5%之間。這一點很重要,這讓我們知道啟用PGO并沒有導致在Linux上的性能退化,同時,這也表明將來仍然有很大的改進空間。
按照微軟新聞發言人的說法,Windows和Linux被視為關鍵的部署目標,因此,它們會首先引入PGO技術。對于其他的平臺,如macOS,他們將來會根據用戶反饋進行考慮。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。