博客
关于我
.NET Core引入性能分析引导优化
阅读量:802 次
发布时间:2023-04-16

本文共 684 字,大约阅读时间需要 2 分钟。

性能分析引导优化(Profile Guided Optimization,简称PGO)是一项原生编译技术,旨在生成高度优化的代码。它通过两步编译过程实现:第一步记录执行信息,第二步利用这些信息生成优化后的二进制文件。微软的Daniel Podder和Bertrand Le Roy指出,这种方法能够显著改进二进制代码在镜像中的位置,从而提升行为和引用局部性。

在.NET Core中引入PGO的重要原因是其无需用户特别配置即可受益,因为它直接应用于.NET Core运行时和JIT编译器。这样,PGO能够根据具体应用程序的使用情况进行个性化优化,托管应用程序将自动获得收益。

Podder和Le Roy表示,当前PGO优化主要应用于.NET Core运行时的原生部分,但未来计划将其扩展至托管组件。与针对.NET Core 1.1仅适用于Windows x86的优化不同,最新版本已支持Windows x64和Linux x64。

.NET Core应用程序的启动时间超过75%来自于coreclr.dll和clrjit.dll(Linux为libcoreclr.so和libclrjit.so)。微软通过基准测试发现,启用PGO后,Windows x64/x86平台的性能提升显著,范围在14%至23%之间。而在Linux x64平台,性能提升则在2%至5%之间。这表明PGO在Linux上的应用不会导致性能退化,同时仍有较大的优化潜力。

微软认为Windows和Linux是主要的部署目标,因此优先推进PGO技术。未来可能会根据用户反馈考虑其他平台,如macOS。

转载地址:http://ksgfk.baihongyu.com/

你可能感兴趣的文章
mysql5.7安装
查看>>
mysql5.7性能调优my.ini
查看>>
MySQL5.7新增Performance Schema表
查看>>
Mysql5.7深入学习 1.MySQL 5.7 中的新增功能
查看>>
Webpack 之 basic chunk graph
查看>>
Mysql5.7版本单机版my.cnf配置文件
查看>>
mysql5.7的安装和Navicat的安装
查看>>
mysql5.7示例数据库_Linux MySQL5.7多实例数据库配置
查看>>
Mysql8 数据库安装及主从配置 | Spring Cloud 2
查看>>
mysql8 配置文件配置group 问题 sql语句group不能使用报错解决 mysql8.X版本的my.cnf配置文件 my.cnf文件 能够使用的my.cnf配置文件
查看>>
MySQL8.0.29启动报错Different lower_case_table_names settings for server (‘0‘) and data dictionary (‘1‘)
查看>>
MYSQL8.0以上忘记root密码
查看>>
Mysql8.0以上重置初始密码的方法
查看>>
mysql8.0新特性-自增变量的持久化
查看>>
Mysql8.0注意url变更写法
查看>>
Mysql8.0的特性
查看>>
MySQL8修改密码报错ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查看>>
MySQL8修改密码的方法
查看>>
Mysql8在Centos上安装后忘记root密码如何重新设置
查看>>
Mysql8在Windows上离线安装时忘记root密码
查看>>