阿里、蚂蚁、晟腾、中科加禾精彩分享 AI 基础设施洞见,现购票可享受 9 折优惠 |AICon 了解详情
写点什么

.NET Core 2.1 预览分层编译特性

  • 2018-08-21
  • 本文字数:598 字

    阅读完需:约 2 分钟

.NET 使用的 JTI 编译进程一直在平衡两个相互冲突的目标——更快的应用程序启动时间和更快的应用程序稳态性能。从终端用户的角度来看,如果 JIT 在启动时暂停并计算最佳的稳态性能,那么就会对应用程序启动速度的感受产生负面的影响。另一方面,如果 JIT 优先考虑更快的应用程序启动时间,那么应用程序的稳态性能就是次优的。

为了解决这一冲突,来自微软的 Noah Falk宣布了面向.NET Core 2.1 的分层编译。该特性使JIT 执行多次编译,生成可以在运行时热交换的代码,从而获得最佳的整体性能。最终结果是应用程序启动快,同时又具有很棒的稳态性能。

由于该特性尚处于预览阶段,所以该特性还不是默认启用的,但是,对于任何.NET Core 应用程序,都有几种方式可以激活。对于你能编译的应用程序,只需要向项目的默认属性组增加MSBuild 属性 <TieredCompilation>true</TieredCompilation>

如果你在运行一个之前编译好的应用程序,你没有源代码,那么你可以在 configProperties 部分的runtimeconfig.json文件中设置一个新属性:System.Runtime.TieredCompilation=true

最后,可以使用环境变量COMPlus_TieredCompilation=1启用分层编译,而不必修改任何文件。

需要注意的是,目前,该特性仍然仅限于.NET Core,不能指定用于.NET Framework 部署。想要试用这项新技术的开发人员还可以查看微软在 GitHub 上建立的 JitBench 项目比较结果。

查看英文原文:.NET Core 2.1 Previews Tiered Compilation

2018-08-21 09:411387
用户头像

发布了 1008 篇内容, 共 373.8 次阅读, 收获喜欢 340 次。

关注

评论

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

日记 2021年2月22日(周一)

Changing Lin

2月春节不断更

我与技术面试那些事儿

我是哪吒

CSS html 大前端 28天写作 2月春节不断更

先收藏!关于Java类、接口、枚举的知识点大汇总

华为云开发者联盟

Java 接口 枚举

Apache Flink 在快手的过去、现在和未来

Apache Flink

flink

Koa中间件体系的重构经验

智联大前端

node.js 大前端 单元测试 重构 koa

话题讨论 | 你在互联网大厂是个啥级别?

架构精进之路

话题讨论 28天写作 话题王者

android开发需要学什么!最全面试考点与面试技巧,已拿offer附真题解析

欢喜学安卓

android 程序员 面试 移动开发

工作日志2-20

技术骨干

MySQL查看及杀掉链接方法大全

Simon

MySQL

Flink SQL 性能优化:multiple input 详解

Apache Flink

flink

超强前端面试真题+资源推荐

evantre

面试 大前端 面经

WinDbg 分析高内存占用问题

圣杰

dotnet windbg

【LeetCode】托普利茨矩阵Java题解

Albert

算法 LeetCode 28天写作 2月春节不断更

刚学会 C++ 的小白用这个开源框架,做个 RPC 服务要多久?

HelloGitHub

c++ GitHub 开源 RPC

1.1 Go语言从入门到精通:开发环境搭建

xcbeyond

vscode 环境安装 28天写作 Go 语言

Kafka.04 - Kafka 部署

insight

kafka 2月春节不断更

详解SSH 框架中对象调用流程

华为云开发者联盟

spring hibernate struts SSH 框架

测试InfoQ 平台发布文章

木子的昼夜

技术扫盲:关于低代码编程的可持续性交付设计和分析

小傅哥

Java 小傅哥 服务端 低代码开发 可持续交付

如何检测社交网络中两个人是否是朋友关系(union-find算法)

Silently9527

程序员 算法和数据结构 union-find

阿里开发7年大牛:Android事件分发机制及设计思路,分享PDF高清版

欢喜学安卓

android 程序员 面试 移动开发

基于证券云服务的总体架构设计应该怎么做?

Jason Tien

我身边的高T,问了Java面试者这样的问题......

京东科技开发者

MySQL 数据库

配合Github Actions 做一个自动推送的 Rss 订阅机器人

Leetao

Python RSS Github Action

技术解析 | Doris SQL 原理解析

百度开发者中心

百度 Doris SQL优化

一文带你熟悉Pytorch->Caffe->om模型转换流程

华为云开发者联盟

网络 模型 PyTorch caffe 算子边界

Dapr 知多少 | 分布式应用运行时

圣杰

架构 云原生 k8s dapr

私有云、公共云、混合云安全性的优点和缺点

浪潮云

云计算

诊所数字化:诊所开展私域运营的优劣势

boshi

医疗 私域运营 七日更 28天写作

容器 & 服务:一个Java应用的Docker构建实战

程序员架构进阶

Docker 容器 七日更 28天写作 2月春节不断更

为什么不推荐使用汉字作为密码?

不脱发的程序猿

程序人生 密码学 28天写作 二月春节不断更

.NET Core 2.1预览分层编译特性_.NET_Jeff Martin_InfoQ精选文章