2025上半年,最新 AI实践都在这!20+ 应用案例,任听一场议题就值回票价 了解详情
写点什么

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:003104
用户头像

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

关注

评论

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

《天翼云安全白皮书》发布!共铸国云安全生态!

天翼云开发者社区

2023-01-11:体育馆的人流量。编写一个 SQL 查询以找出每行的人数大于或等于 100 且 id 连续的三行或更多行记录。返回按 visit_date 升序排列 的结果表。 DROP TAB

福大大架构师每日一题

MySQL 福大大

容器服务与达摩院合作 AHPA 获 AAAI 2023 IAAI人工智能创新应用奖

阿里巴巴中间件

阿里云 容器 云原生

DataEase 在 Windows 系统下的 jar 包部署

搞大屏的小北

效能指标「研发浓度」在项目度量中的应用

feijieppm

项目管理 技术管理 文化 & 方法 效能度量 #研发效能

再谈持续测试

FunTester

大前端—2022明星项目,2023展望

非喵鱼

JavaScript Vue 前端 React 前沿技术

阿里巴巴重磅开源云原生网关: Higress

阿里巴巴中间件

阿里云 云原生 Higress

portraiture2024最新版磨皮插件下载安装教程

茶色酒

Portraiture2023 Portraiture

如何选择数据可视化图表?

搞大屏的小北

您有一套专属权益已送达,请注意查收

天翼云开发者社区

DataEase数据集定时同步任务报错解决

搞大屏的小北

异常 报错 DataEase 数据集定时同步任务

效能改进中的度量实践

feijieppm

项目管理 研发效能 技术管理 文化 & 方法 效能度量

大规模 Kubernetes 集群故障注入的利器-ChaosBlade

阿里巴巴中间件

阿里云 Kubernetes 云原生 ChaosBlade

2023年有哪些具备潜力的加密投资标的?

股市老人

DataEase 在 Mac 系统下的 jar 包部署

搞大屏的小北

DataEase Mac 系统 jar 包部署

什么是云渲染?云渲染速度快吗?

Renderbus瑞云渲染农场

云渲染 云渲染是什么 云渲染速度快吗

安全可信| 密评合规!天翼云全栈混合云通过商用密码应用安全性评估!

天翼云开发者社区

场景 | 九科信息大型制造企业RPA数字化解决方案

九科Ninetech

天翼云荣获2022年度“边缘计算先锋企业”“分布式云先锋企业”称号!

天翼云开发者社区

问题盘点|使用 Prometheus 监控 Kafka,我们该关注哪些指标

阿里巴巴中间件

kafka 阿里云 云原生 Prometheus

如何用 Excel 做数据分析,提升你的工作效率?

搞大屏的小北

提升效率 Excel 数据可视化 DataEase

RatingBar(星级评分条)

芯动大师

Android Studio 星级评分条 ratingbar

应用 Serverless 化,让业务开发心无旁骛

阿里巴巴中间件

阿里云 Serverless 云原生

国内外开源数据可视化工具对比:DataEase相较于MetaBase有何优势

搞大屏的小北

DataEase Metabase 数据可视化工具对比 对比

Higress 开源后,我们整理了开发者最关心的 15 个问题

阿里巴巴中间件

阿里云 云原生 Higress

项目制实践如何助力组织进化

feijieppm

项目管理 研发效能 技术管理 文化 & 方法 效能度量

微服务引擎 MSE 升级至 3.0:降低微服务在云原生时代的演进成本

阿里巴巴中间件

阿里云 微服务 云原生

数据分析原来还可以这么搞?

搞大屏的小北

数据分析 知乎 数据分析工具

DataEase 本地源码启动

搞大屏的小北

亚马逊云科技 2022 re:Invent 观察 | 天下武功,唯快不破

亚马逊云科技 (Amazon Web Services)

亚马逊云科技 Builder 专栏

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