50万奖金+官方证书,深圳国际金融科技大赛正式启动,点击报名 了解详情
写点什么

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

  • 2016-05-02
  • 本文字数:841 字

    阅读完需:约 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 )关注我们。

2016-05-02 19:003306
用户头像

发布了 218 篇内容, 共 78.2 次阅读, 收获喜欢 76 次。

关注

评论

发布
暂无评论
发现更多内容

2021年冲刺年薪40w

Java 程序员 后端

极客-大数据-作业4 Hive

西伯利亚鼯鼠

手撕环形队列系列三:多生产者并行写入

实力程序员

程序员 数据结构 C语言 编程开发 环形队列

十大排序算法--希尔排序

Ayue、

排序算法 8月日更

【Flutter 专题】78 图解 Android Native 集成 FlutterBoost 小尝试 (一)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 8月日更

容器云平台和Kubernetes之间不得不说的那些事

用友BIP

Kubernetes 容器

2021大厂Java面试真题集锦

JVM调优资料

Java 程序员 后端

2021年最新Java大厂面试题来袭

策划Java工程师

Java 程序员 后端

2021我的Java路要怎么走

策划Java工程师

Java 程序员 后端

2021最值得加入的互联网公司有哪些

策划Java工程师

Java 程序员 后端

一次Http Get请求健壮性问题的排查过程

liuzhen007

8月日更

kubernetes入门:简介与基础操作命令

小鲍侃java

8月日更

企业需要拥有自己特色的DevOps

用友BIP

Docker 容器 DevOps 微服务

【LeetCode】有效三角形的个数Java题解

Albert

算法 LeetCode 8月日更

2021年字节跳动+京东+美团面试总结

Java 程序员 后端

2021年抓住金三银四涨薪好时机

Java 程序员 后端

2021年阿里Java高级面试题分享

策划Java工程师

Java 程序员 后端

2021年阿里Java高级面试题及答案

策划Java工程师

Java 程序员 后端

2021最新Java开发者学习路线

策划Java工程师

Java 程序员 后端

上K8s,研发团队如何从容一点?

行云创新

容器 k8s

2021最新Java中级面试题目汇总解答

策划Java工程师

Java 程序员 后端

取经之旅第 55 天,Python OpenCV 透视变换前置知识轮廓坐标点

梦想橡皮擦

8月日更

netty系列之:netty中的ByteBuf详解

程序那些事

Java Netty nio 程序那些事

手撸二叉树之二叉搜索树的最近公共祖先

HelloWorld杰少

数据结构与算法 8月日更

2021年上半年最接地气的Java面经

Java 程序员 后端

2021年最新大厂Java面试笔试题目

策划Java工程师

Java 程序员 后端

DDD 领域驱动设计·学习应用·二

小诚信驿站

领域驱动设计 领域 领域驱动模型DDD 中台架构 领域驱动

2021年大厂Java面经

Java 程序员 后端

2021年春招Java面试题

Java 程序员 后端

2021必看-Java高级面试题总结

策划Java工程师

Java 程序员 后端

面试官:展开说说,Spring中Bean对象是如何通过注解注入的?

小傅哥

spring 小傅哥 注解注入

VS2015 Update 2中如何提升.NET Native 代码_.NET_Jeff Martin_InfoQ精选文章