写点什么

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

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

关注

评论

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

SphereEx DBPlusEngine - 更全面、更便捷的 ShardingSphere 商业版功能全览

SphereEx

数据库

ETH以太链丨BSC币安链智能合约系统开发部署

V\TG【ch3nguang】

以太坊 币安智能链

使用EF Core更新与修改生产数据库

高端章鱼哥

EF Core .net6

制造执行系统(MES)在汽车行业中的应用

万界星空科技

MES系统 汽车

九科信息成功签约中咨数据有限公司RPA项目

九科Ninetech

低成本生成式AI:引领未来内容创作新篇章

百度开发者中心

#人工智能 生成式AI 文心一言

业财融合背景下,全面预算管理的发展之路

智达方通

业财融合 全面预算管理 全面预算管理系统 企业全面预算管理

直播预告|没有 “专业” 的向量数据库,大模型就玩不转了吗?

Zilliz

非结构化数据 Milvus Zilliz AIGC 向量数据库

生成式AI:改变生活创造未来

百度开发者中心

#人工智能 ChatGPT 生成式AI 文心一言

生成式AI掀起创意新革命

百度开发者中心

#人工智能 AI作画 生成式AI 文心一言

判断LED显示屏的质量指南

Dylan

性能 质量 环境 LED显示屏

安全可信| 首批!通过两项算力调度能力评估!

天翼云开发者社区

云计算 云服务

基于云原生网关的流量防护实践

阿里巴巴云原生

阿里云 云原生

推荐系统在线峰会来了,冷启动、推荐工程、模型训练…你都能找到答案

小红书技术REDtech

推荐系统

生成式AI技术原理与应用

百度开发者中心

#人工智能 生成式AI 文心一言

Dropzone 4 for Mac(文件拖拽操作增强工具) 4.6.8中文激活版

mac

苹果mac Windows软件 Dropzone 4 文件管理器

一劳永逸,解决.NET发布云服务器的时区问题

互联网工科生

.net 云服务器 时区

隐语小课|私有信息检索(PIR)及其应用场景

隐语SecretFlow

AI 数据安全 隐私计算 开源社区 数据要素

生成式AI:游戏研发的革命者

百度开发者中心

游戏开发 #人工智能 生成式AI 文心一言

5分钟,结合 LangChain 搭建自己的生成式智能问答系统

字节跳动云原生计算

大数据 云搜索

大数据平台安全主要是指什么安全?如何保障?

行云管家

大数据 数据 大数据平台 大数据平台安全

动力商城/积分兑换商城系统开发——助企业建立自己的电商管理业务

V\TG【ch3nguang】

积分商城

Sentieon | 每周文献-Clinical Trial-第十一期

INSVAST

基因测序 临床试验

端云一体化云开发,助推HarmonyOS应用与元服务高效开发

最新动态

使用云函数实现定时签到

查拉图斯特拉说

腾讯云 签到

共享服务器的复杂性与核心原理

天翼云开发者社区

服务器

实现高效数据同步:40 分钟内同步500GB MySQL 数据至 Doris

NineData

MySQL 数据库 Doris 数据迁移 数据实时同步

使用DWS集群,用户被锁定如何解锁

华为云开发者联盟

数据库 后端 华为云 华为云开发者联盟 企业号 8 月 PK 榜

轻量应用服务器和云服务器的区别

天翼云开发者社区

服务器 云服务器

避坑PCB的常见设计问题

华秋电子

PCB

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