新的.NET編譯器——RyuJIT 項目

碼頭工人 11年前發布 | 8K 次閱讀 RyuJIT

英文原文:Enter the Dragon: RyuJIT Project Yields New Compiler for NET

  作者 :Jeff Martin,譯者:孫鏡濤

  Microsoft 正在開發一個新的即時(Just-In-Time,JIT)編譯器,該編譯器最終會被用于運行 .NET 應用程序。新編譯器的代號為“RyuJIT”,它標志著設計哲理的變化。現在的 64 位 JIT 編譯器是為了支持在服務器環境中發現的操作配置文件而設計的,這種情況下的執行性能要優于啟動性能。為了獲得額外的性能提升它還依賴了像 NGen 和后臺 JIT 這樣的支持技術。但是 RyuJIT 的設計目標考慮了 64 位代碼在服務器之外的計算平臺上的流行程度。因此,與現在的 x64 JIT 相比,RyuJIT 強調整體的性能提升,包括縮短了應用程序啟動時間。

  Microsoft 從事 RyuJIT 項目的一位程序經理 Andrew Pardoe 注意到,一直到現在為止 .NET CodeGEN 團隊一直在管理兩個獨立的代碼庫,一個針對 X64 .NET JIT 編譯器,一個針對 X86 .NET JIT 編譯器。RyuJIT 是基于目前 X86 .NET JIT 編譯器代碼庫的。它的最終目標是讓 RyuJIT 項目成為現在以及將來所有架構(X86、 X64、ARM 等)上的 .NET JIT 編譯器。現在的 RyuJIT 僅支持 X64 架構,同時還有一個針對 64 位 Windows 8.1 和 Windows Server 2012 R2 的社區技術預覽版(CTP)。

  安裝了 CTP 之后你將能夠根據自己的需要體驗新的編譯器,它并不會替代現在正在使用的 X64 JIT 編譯器。如果想要使用 RyuJIT 有兩種方式可以選擇,或者使用下面的環境變量:COMPLUS_AltJit=*;或者創建一個新的值為*的字符串注冊表鍵 HKEY_Local_Machine\SOFTWARE\Microsoft\.NETFramework\AltJit 。注意,RyuJIT 現在并不支持編輯并繼續(Edit & Continue),但是將來的版本將會支持該功能。Microsoft 的 Kevin Frei 聲明說,雖然現在的 RyuJIT 僅支持 Windows 8.1 和 Server 2012 R2,但是最終版本的 RyuJIT 將會是完整 .NET 運行時的一部分,在 .NET 支持的所有平臺上都將獲得完整的支持。

來自: InfoQ
 本文由用戶 碼頭工人 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!