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

日期: 2014-04-15 来源:TechTarget中国 英文

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预览版,让开发者在.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核心功能,努力提升应用程序和用户体验,发布了一系列产品:

  • .NET Native
  • .NET编译平台Roslyn,并开源
  • 下一代JIT CTP3、“RyuJIT”,包含对SIMD的支持
  • 统一Visual Studio 2013 Update 2可移植类库和类库
  • 提升Visual Studio 2013 Update 2性能和诊断中心
  • .NET移动服务
  • “Orleans”项目

微软的这些举措足以说明对开发者的重视,相信,未来的微软也不会让开发者们失望。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

相关推荐

  • 如何看待微软收购Xamarin?

    今年三月微软正式收购了Xamarin,你认为微软收购Xamarin对其有什么作用?

  • 苹果要用Swift语言颠覆传统编程

    美国知名科技媒体《连线》日前对从市场前景、核心优势和竞争对手等方面对苹果最新推出的Swift编程语言进行了一番全面剖析。

  • ASP.NET Web Forms的改进

    虽然ASP.NET Web Forms不是vNext计划的一部分,但它并没有被忽视。作为Visual Studio 2013 Update 2的一部分,它重新开始支持新工具、EF集成和Roslyn。

  • Visual Studio 2013发布 基于Azure的免费VSO出现

    上个月,微软面相开发者的Visual Studio 2013已经可以使用,但是等到现在才发布了Visual Studio Online,可以在Windows Azure中进行源代码控制,并且简化了应用生命周期管理。