.NET Native:C++的性能 C#的產能?

jopen 10年前發布 | 17K 次閱讀 .NET

        2013 年,微軟針對 Visual Studio 2013 提出了“Project N”項目, 在此次 Build 大會上,其面紗正式揭曉,它就是 .NET Native。在微軟 MSDN 官方博客上,Subramanian Ramaswamy 和 .NET Native 團隊高級項目經理 Andrew Pardoe 對 .NET Native 預覽版進行了詳細的介紹。

        .NET Native

        .NET Native 可以將 C# 代碼編譯為本地機器碼。據博客介紹,.NET Native 可以優化所有的 Windows Store 應用。使用 .NET Native 編譯 Windows Store 應用程序,應用啟動速度將加快 60%,并且內存占用更小,這主要得益于開發團隊優化 .NET Native 運行時(CLR 的一個重構和優化)和使用先進的 Microsoft VC++ 優化器后端。

        該預覽版允許開發者測試和編譯應用程序,此外,最令開發者興奮地是,使用 .NET Native 不僅會讓應用擁有 C++ 般的性能表現,還可以實現 C# 般的生產力。

        目前,.NET Native 預覽版支持 Windows Store 應用,開發者可以使用該版本構建基于 ARM 和 x86 架構(很快會支持 x86)的應用。不久,.NET Native 開發團隊還會提供跨平臺的一致體驗,并且將會繼續完善和提升 .NET Native 的應用范圍。

        通過與 Visual Studio 結合,.NET Native 將會提供一流的 .NET 開發體驗給用戶,用戶還將繼續享有編輯/編譯/調式等開發功能及體驗。

        據微軟提供的 FAQ 獲知,目前 .NET Native 預覽版只支持 C# 語言,用 .NET Native 編譯的程序將作為獨立的原生編譯代碼部署到目標機器上,無需再安裝 .NET Framework。

        目前,微軟已經用 .NET Native 開發了一些 Windows Store 甲方應用,這些應用包括 Wordament、 Fresh Pain。 

        .NET Native 預覽版下載地址: http://msdn.microsoft.com/en-US/vstudio/dotnetnative ,目前可以安裝在 Visual Studio 2013 Update 2 RC 上。目前,微軟官方還未告知何時發布 .NET Native 正式版本。

        使用 .NET NativeToolchain 編譯應用

        項目加載后,你可以啟用 .NET Native 編譯器,前提是已經把應用針對 x64 或 ARM 架構進行了配置,此外,由于 .NET Native 編譯為本地代碼,所以你得指定一個真實的機器類型來代替 CPU。具體步驟:

.NET Native:C++的性能 C#的產能?

.NET Native:C++的性能 C#的產能?

.NET Native:C++的性能 C#的產能?

.NET Native:C++的性能 C#的產能?

.NET Native:C++的性能 C#的產能?

        開發者們激情重燃

        微軟此次推出 .NET Native 預覽版,讓開發者在 .NET 平臺上又看到了希望,開發者們的熱情被再一次燃起,引起了無數開發者的熱烈討論,筆者搜集了一些,整理如下:

        陳宇

        技術上,.NET Native 純粹是個優化。商業上,.NET Native 的靜態鏈接,讓微軟可以進一步拉攏應用開發者,給他們提供大量方便易用的開發框架,而不用擔心普通用戶的機器上裝滿了各式各樣的框架,影響體驗了。這次微 軟的 .NET Native 有兩個亮點:

        一個是云編譯。也就是開發者提交的是虛擬機代碼,用戶直接下載自己設備可用的機器碼。不像 Mono 要手動編譯,這對用戶和開發者來說,都很方便。

        另一個是,因為速度、空間的限制都不存在了,云編譯器可以比即時編譯 JIT,比 ART 的安裝時編譯,做更多更好的優化。微軟的 Visual C++ 做了這么多年,應該有足夠的技術儲備。備注(本段文字摘自知乎網

        RednaxelaFX

        感覺 .NET Native 比起以前最強力的地方在于能夠做出“封閉世界的假設”并且放心做諸如 class hierarchy analysis 來做優化,而并不是說因為它用了 VC++ 的編譯器后端所以就快——要知道原本 CLR 的 x64 Server JIT 也是源自 VC++ 的后端… 話說C# 的語言特性本來就比 C++ 更好優化,例如別名分析會好做很多。(來自新浪微博)

        Lex_Li

        總體來說,微軟從 Xamarin 那邊學到了不少。.NET Native 源自 AOT,但是優化更好。(來自新浪微博)

        寫在最后

        針對 .NET 平臺,微軟給開發者帶來的震撼不只是發布了 .NET Native,在 2014 Builid 大會上,微軟提出了“ The Next Generation of .NET”。.NET 團隊構建了一些新技術來擴展 .NET 核心功能,努力提升應用程序和用戶體驗,發布了一系列產品:

        微軟的這些舉措足以說明對開發者的重視,相信,未來的微軟也不會讓開發者們失望。

        文章部分內容翻譯自 MSDN 博客

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