课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
当越来越多的软件厂商采用链接时优化(LTO, link-time optimizations)和配置文件引导优化(PGO, profile-guided optimizations)来利用编译器榨取性能的时候,微软工程师正在为自用的Linux内核探索LTO+PGO,以实现更好的Linux性能。
在Linux内核上使用链接时优化并不是新概念,过去已有多家厂商发布了针对Linux内核的LTO补丁,但通常不会带来很大的变化。此前Linus Torvalds和其他人一直对支持LTO的Linux内核不看好,部分原因是过去GCC的LTO状况不佳。但如今随着现代GCC编译器(和Clang)的发展,LTO也逐渐变得更好,像Fedora在打包他们的发行版安装包时都会默认使用LTO,也有像Clear Linux这样的公司通过使用AutoFDO(基于程序性能分析工具的反馈式编译优化)来进一步提升其发行版的性能。
相对而言,在Linux内核上使用配置文件引导优化的案例则比较鲜见。由于配置文件引导优化完全依赖于配置文件,反馈给编译器以帮助其进行优化启发式处理。因此,对于实际使用情况而言,配置文件的准确性至关重要。考虑到在Linux上看到的工作负载非常多样化,以及各种不同的硬件和驱动程序,要生成对PGO有用的、能被广泛使用的、能帮助绝大多数用户的配置文件是一项艰巨的任务。因此,对于Linux内核中的PGO,更多的是针对个人用户/组织,他们可以采用PGO,并根据自身的实际情况进行调整。
微软软件工程经理Ian Bearman在本周举办的Linux Plumbers大会上介绍了他们对Linux内核的配置文件引导优化的探索。
他们对PGO的兴趣源于对Linux性能的“内部客户要求”。不过话又说回来,微软致力于优化Linux性能现在看来并不是什么奇怪的事情,另一位微软工程师曾是推动FSGSBASE补丁开发的贡献者,最后还被合并进Linux Kernel 5.9。
Redis是他们一直展示的在内核探索使用PGO并获益的公开案例之一。
微软会继续探索用于Linux内核的PGO,有趣的是,人们发现Windows确实广泛使用了LTO + PGO。据说在Windows实例中,他们看到这些编译器优化的性能提升了5~20%,想必是使用了他们自己的MSVC编译器。
选择的人多的机构就是好机构,达内每年近10万学员的选择,来达内给你一个不一样的培训体验。达内目前开设24大课程体系,Java编程、UI设计、网络营销、web前端培训等课程。达内每月开设免费课程试听训练营,欢迎来电预约免费试听,领取免费课程资料。来合肥linux培训,让你的人生有不一样的精彩。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!