BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

VS2015 Update 2中如何提升.NET Native 代码

| 作者 Jeff Martin 关注 16 他的粉丝 ,译者 刘嘉洋 关注 0 他的粉丝 发布于 2016年5月3日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

Microsoft持续发表Visual Studio 2015的新特性与功能。在最新的称为Update 2的变更中也不例外,对.NET Native编译器进行了几项更新。你可能记得,当.NET native作为编译目标时,Windows应用程序(这里指针对Windows 10的UWP应用程序)直接被编译为本地代码,而不产生默认的中间语言(IL)。这样做有几个优点,最主要的是开发者可以继续用C#或是Visual Basic写应用程序,而与传统的基于IL的应用程序相比,用户可得到更快的执行速度,更短的启动时间并占有更少的内存。

可以预见,编译.NET为本地代码有许多缺点。Microsoft准备了一个很长的列表,其中列出了他们认为的.NET Native与常规的Windows应用程序之间的“行为变化”。本文不会详细说明这些变化,但值得注意的是其中涉及泛型反射的变化。正如.NET团队的Stacey Haffner和Matthew Whilden在一篇博文中写道的,“当编译本地代码时,动态性问题将会成为一个挑战,因为所有的代码都必须在编译时识别和编译。”

由于使用静态分析来确定所有泛型实例非常复杂,团队引入了Universal Shared Generics (UGS)。现在当可以用特定类型的代码表示时,会产生优化后的代码,而当不可表示时则会使用UGS。

另外一个有利于所有.NET Native开发者的变化是.NET Native项目编译器后端的改变。最新发布的1.3.1版本的.NET Native工具使用与Microsoft C++编译器相同的程序内联引擎。随着时间的推移,.NET团队计划在.NET Native项目中使用更多C++编译器提供的优化方案。
要使用这些新的编译器功能,你需要下载最新的UWP App Development Tools(1.3.1版本 for Windows 10 SDK 10.0.10586),并从NuGet下载最新的.NET Core UWP包。它们需要安装在Update 2可用的Visual Studio 2015之上。

查看英文原文How VS2015 Update 2 Improves .NET Native Code


感谢夏雪对本文的审校。

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ@丁晓昀),微信(微信号:InfoQChina)关注我们。

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

之前在英文板块建议Scala编译为本地代码 by see sai

被说不切实际,现在微软做到了.

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

1 讨论

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT