C++的性能C#的产能?!_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > C++的性能C#的产能?!

C++的性能C#的产能?!

 2014/5/4 20:41:11  .Net Native 系列:开发向导  博客园  我要评论(0)
  • 摘要:之前一文《c++的性能,c#的产能?!鱼和熊掌可以兼得,.NETNATIVE初窥》获得很多朋友支持和鼓励,也更让我坚定做这项技术的推广者,希望能让更多的朋友了解这项技术,于是先从官方信息的翻译开始做起。此系列系小九的学堂原创翻译,翻译自微软官方开发向导,一共分为六个主题。本文是总览及向导。之后会将目录分块持续进行翻译,并会加上链接。[小九的学堂,致力于以平凡的语言描述不平凡的技术。如要转载,请注明来源:小九的学堂。cnblogs.com/xfuture]目录模块:(待翻译)1.
  • 标签:C# c++

  之前一文《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 (Reflection and .NET Native)

  4. 序列化和元数据 (Serialization and Metadata)

  5. 将Windows应用商店应用迁移到.Net Native (Migrating Your Windows Store App to .NET Native)

  6. .NET Native一般问题解答 Q&A (.NET Native General Troubleshooting)

 


 

  原文:Compiling Apps with .NET Native

  

class="title">                                                      使用.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应用商店。

     此篇为引导篇,之后会有目录分篇并会更新链接。   希望大家支持和多多评论,你们的支持是我继续做下去的动力!

 

发表评论
用户名: 匿名