C++的性能C#的產能?! - .Net Native 系列向導


  之前一文《c++的性能, c#的產能?!魚和熊掌可以兼得,.NET NATIVE初窺》 獲得很多朋友支持和鼓勵,也更讓我堅定做這項技術的推廣者,希望能讓更多的朋友了解這項技術,於是先從官方信息的翻譯開始做起。

  此系列系小九的學堂原創翻譯,翻譯自微軟官方開發向導,一共分為六個主題。本文是總覽及向導。之后會將目錄分塊持續進行翻譯,並會加上鏈接。

  [小九的學堂,致力於以平凡的語言描述不平凡的技術。如要轉載,請注明來源:小九的學堂cnblogs.com/xfuture]

 

  目錄

  1. .NET Native安裝和配置(.NET Native Setup and Configuration)

  2. .NET Native 編譯入門:開發流程詳解 (Getting Started with .NET Native Code Compilation: The Developer Experience Walkthrough)

  3. .NET Native 部署測試及樣例

  4. .NET Native性能測試

  5. .NET Native與反射

  6. 將Windows應用商店應用遷移到.Net Native (Migrating Your Windows Store App to .NET Native)

  7. .NET Native一般問題解答 Q&A (.NET Native General Troubleshooting)

 


 

  原文:Compiling Apps with .NET Native

  

                                                      使用.Net Native編譯應用

 

                                                    .NET Framework版本 4.5
 
                        
                                                                                                  
Note 小貼士

這個主題依賴於預發行的.net native開發者預覽版。下載地址: Microsoft Connect website. 友情提示需要注冊.

       

  .net native是構建和部署windows store apps(windows應用商店應用)時可使用的預編譯技術(注:據build2014大會信息,將來會逐漸支持桌面應用)。它可以把在.net framework下寫出的托管代碼編譯成機器碼。

  通常情況下, 在.NET環境下開發的應用程序會被編譯成中間語言(IL)。在運行時,即時編譯(JIT)會將中間代碼編譯成機器碼。與此不同的是,.NET Native則直接將windows應用商店程序編譯為機器碼。

 

  對於開發者意味着:

  • 你的應用將擁有機器碼直接運行的卓越性能。

  • 你可以繼續使用C#來進行開發。

  • 你可以繼續獲得.NET Framework框架帶來的所有優勢:強大的類庫,自動的內存管理機制和垃圾回收,異常處理機制,等等。

  對於使用者意味着:

  • 運行更快更流暢

  • 持續保持更快的啟動(注:啟動時間減少60%)

  • 更低的部署和更新消耗

  • 內存優化(注:內存消耗減少20%)

  .NET Native 涉及了多種編譯成機器碼的方法。它轉換了.NET Framework對於應用的構建和執行機制。尤其是:

  • 在預編譯的階段,將所需要的.NET Framework的部分靜態鏈接到應用程序,這使用應用程序可以在應用程序自身包含的.NET Framework庫下, 編譯器可以進行全面分析並提供更高性能的運行狀態。這種帶來的好處是,即使.NET Framework更新了,應用依然可以保持更快的速度來啟動。

  • .NET Native 通過靜態的預編譯優化了應用的運行時,因此可以提供更卓越的性能。與此同時,它保留了核心反射功能,提供給開發者優秀的產能。

  • .NET Native 使用了和C++編譯器相同的后端, 對靜態編譯的場景進行了優化。

 

  .NET Native 能夠帶給在.NET Framework和CLR環境開發的人員C++的性能優勢,因為它使用了和C++底層相同或者相似的工具,具體如下表所示:

 

.NET Native

C++

The .NET Framework + Windows Runtime

Win32 + Windows Runtime

編譯器

UTC 優化編譯器(UTC optimizing compiler)

UTC 優化編譯器(UTC optimizing compiler

部署

隨時可以運行的二進制機器碼

隨時可以運行的二進制機器碼(匯編)

運行

MRT.dll (Minimal CLR Runtime)

CRT.dll (C Runtime)

  

  Windows 8.1 系統下Windows應用商店應用發行中,可以將在app包里(.appx files)的.NET Native編譯成的機器碼源文件上傳至Windows應用商店。

  
  此篇為引導篇,之后會有目錄分篇並會更新鏈接。
  希望大家支持和多多評論,你們的支持是我繼續做下去的動力!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM