溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET Core完成向RyuJIT的遷移實例分析

發(fā)布時間:2022-01-05 15:58:29 來源:億速云 閱讀:123 作者:柒染 欄目:大數(shù)據(jù)

這篇文章給大家介紹.NET Core完成向RyuJIT的遷移實例分析,內(nèi)容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

.NET Core CLR團隊宣布,他們的.NET Core平臺現(xiàn)在已經(jīng)是完全基于其下一代即時編譯器RyuJIT。有人可能不知道,在.NET Core中,編譯器(Roslyn)會把C#代碼編譯成CIL(公共中間語言)字節(jié)碼。接下來,RyuJIT會把CIL字節(jié)碼編譯成目標體系結構的機器碼。其結果是,與遺留系統(tǒng)相比,RyuJIT支持的所有CPU體系結構(x86、x64、ARM32和ARM64)現(xiàn)在都可以從RyuJIT提供的性能和高效率中受益。

RyuJIT開發(fā)最早公開是在2013年9月,通過一次社區(qū)預覽。RyuJIT的第一個生產(chǎn)版本是面向x64體系結構的,于2015年7月作為.NET Framework 4.6的一部分發(fā)布。然后,又依次引入了x86、ARM32支持。據(jù)來自微軟的Bruce Forstall介紹,ARM64在.NET Core 2.1時“已經(jīng)接近預覽品質”,之所以沒有明確說明,是因為那會讓人覺得.NET Core 2.2會包含這種體系結構。Forstall指出,為了推進對ARM64平臺的支持,Qualcomm做了大量的貢獻。

RyuJIT對于ARM64架構的支持,在.NET Core 2.1中近乎為預覽版程度,此支持是在RyuJIT架構實現(xiàn)之初就進行構建的。實際上,在過去的4年中,我們一直致力RyuJIT支持ARM64的相關工作,而這項工作最近又被高通的貢獻者們所做的重要工作推進了。

在以x64為目標平臺時,現(xiàn)行.NET Framework的用戶也可以從RyuJIT受益,而針對x32平臺生成的代碼將繼續(xù)使用遺留的編譯器JIT32。.NET Core 2.1用戶已經(jīng)可以在x86、x64及ARM32平臺上利用RyuJIT。到達這一點是非常令人滿意的,我們已經(jīng)可以看到,刪除所有這些舊的代碼將使我們在前進的過程中更加靈活。

我們相信新的RyuJIT編譯器架構比(現(xiàn)在已刪除)傳統(tǒng)的代碼生成器實現(xiàn)這些目標有很大的改進。Forstall指出,隨著這項工作的完成,RyuJIT的未來計劃包括增加SIMD支持、支持特定體系結構硬件的內(nèi)聯(lián)函數(shù)以及“支持Linux軟件約定”。他們還希望繼續(xù)改進RyuJIT所生成代碼的總體質量。開發(fā)人員的反應總體上是積極的;有人對RyuJIT的前景提了一個有趣的問題,就是將來增加WebASM目標平臺的可能性,但是,到目前為止,微軟還沒有正式答復。

關于.NET Core完成向RyuJIT的遷移實例分析就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI