c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥

c++的性能, c#的产能?!鱼和熊掌可以兼得,.NET NATIVE初窥

 2014/4/24 11:33:04  小九的学堂  博客园  我要评论(0)
  • 摘要:对于微软开发者来说,每次BUILD大会都是值得期待的。这次也是惊喜满满,除了大众瞩目的WP8.1的发布还有一项会令开发者兴奋的技术出现:.NETNATIVE。下面就来详细了解一下其为何物。[小九的学堂,致力于以平凡的语言描述不平凡的技术。如要转载,请注明来源:小九的学堂。cnblogs.com/xfuture].Net当初的出现是因为Java让人了解到计算机发展的今天,语言的产能重要性是高于性能的。于是微软便出了CLR和.Net。JIT(运行时编译)虽然消耗了性能,却大大增加了产能
  • 标签:.net C# c++ net

  对于微软开发者来说,每次BUILD大会都是值得期待的。这次也是惊喜满满,除了大众瞩目的WP8.1的发布还有一项会令开发者兴奋的技术出现:.NET NATIVE。下面就来详细了解一下其为何物。

[小九的学堂,致力于以平凡的语言描述不平凡的技术。如要转载,请注明来源:小九的学堂。cnblogs.com/xfuture]

  

       .Net当初的出现是因为Java让人了解到计算机发展的今天,语言的产能重要性是高于性能的。于是微软便出了CLR和.Net。JIT(运行时编译)虽然消耗了性能,却大大增加了产能。但是ObjectC又告诉了大家在平板和智能手机内存和存储受限的情况下,机器码编译性能是多么重要,而且也省电,这也很重要不是吗。

         微软W8出现是平板时代应运而生的,于是便出现了开发时的产能,运行时的性能的合体:.NET NATIVE。

 

  .NET NATIVE目的是为了生产上的流水线产出的手工产品,易于开发,运行时精致。

 

         .NET NATIVE之前被称为Project N, 它可以把C#语言编译成机器码native code,使之可以像C++一样运行。其实这样讲比较笼统,具体是在NATIVE里微软重写了.NET Framework,将程序所需要的framework里的元素加进去而其他的则不用,生成可以运行的机器码,最终实现运行时本地机器码,不用动态编译,节省了内存和空间。

  这其中有个误区,很多人认为是.NET NATIVE把C#编译成了C++,其实并不是,C++编译器后端接受IL作为输入,生成MDIL。

  .NET NATIVE解决了很多.NET的问题,比如.NET运行时计算,是消耗内存和开销更多电量,.NET NATIVE编译时只有用到的才会静态链接,其他部分就不要了,内存中放入的只有框架的一部分,所以内存占用很少,电量消耗也少,很适合平板等内存相比较小的设备

 

  .Net native也实现了云编译,开发者提供.NET代码,而消费者安装的是自己设备可以使用的机器码.

  .Net native解决了.NET 版本管理的问题。开发中最常遇到这个东西.NET 低版本不支持,或者是要支持一些低版本机器,导致我们开发的环境一直是以低版本.net来进行的。.net native编译成机器码就不存在这种问题了。个人认为这个是商业价值所在

  据官网,用native编译的windows商店程序, 启动速度加快60%,占用内存减少将近20%.

  现在.net native支持windows store apps,暂时不支持其他的一些.net桌面程序,WPF等。但我们可以期待以后会出现全盘都支持的时代。私人认为WPF是难点,毕竟是用了GPU.

  现在我PC正在安装VS2013 Update2(3G,苦逼了我的64G 苏菲PRO)和.net native,之后会陆陆续续出一些关于.net native的使用和外国博客的翻译,毕竟国外走的还是比较前的。

  个人认为出现的有点略晚,XP已经下架了。现在基本都是.net 3.5及以上了。还是以观后效吧。

  2L说的性能对比,之后我会尽量做得。正在安装UPDATE2中。

 

  假如还有问题,这个链接也许会解决您的疑惑:

  http://msdn.microsoft.com/zh-cn/vstudio/dn642499.aspx

  下面附上一些.net native相关的链接:

  http://social.msdn.microsoft.com/Forums/en-US/home?forum=dotnetnative

  http://msdn.microsoft.com/en-US/vstudio/dotnetnative

  http://blogs.msdn.com/b/dotnet/archive/2014/04/02/announcing-net-native-preview.aspx

  http://channel9.msdn.com/Shows/Going+Deep/Inside-NET-Native

  如果喜欢,请关注和推荐。谢谢光临小九的学堂。

 

发表评论
用户名: 匿名