Open|LLVM Clang 14实现了惊人的性能优化
多年以来 , LLVM / Clang 的性能已经迎来了相当大的提升 。此外在 x86_64 和 AArch64 应用上 , 它也能够与 GCC 编译器并驾齐驱 。即便如此 , 激烈的竞争并未就此止步 。由最近一次提交的内容可知 , 即将于 2022 年初发布的 LLVM / Clang 14.0 , 将迎来更多性能方面的优化 。
文章图片
早些时候 , LLVM 开发者 Djordje Todorovic 为 LLVM 的 Loop Invariant Code Motion(LICM)Pass 引入了相关改进 , 以便能够在没有 STORE 的情况下提升 LOAD。
补丁描述称 , 在 LICM 中开展加载 / 存储更新时 , 若不能证明下沉存储是安全的 , LLVM 就不会提升加载 , 即使我们能够证明它可被取消引用并移出循环 。
【Open|LLVM Clang 14实现了惊人的性能优化】该补丁通过在循环中插入适当的 PHI , 并将其移动到循环前置器中以实现负载改善 , 而 STORE 将在循环中保持原样 。
通过这么做 , 我们可避免在每次迭代中、于内存位置进行加载 。此外这项针对 Pass 的改进 , 还有助于修复此前一个 bug 报告中提到的错过 register promotion 的问题 。
文章图片
对于不了解编译器内部原理、仅对净收益感兴趣的用户 , Todorovic 也分享了一些基准测试结果 。
在我们的 PostgreSQL 基准测试中 , 我们发现这一 LOAD 补丁的性能增益在 12% 左右 。最后 , 这项加载性能改进补丁将和其它内容一道 , 成为明年 3 月正式发布的 LLVM Clang 14.0 稳定版的一部分 。
此外从 XZ 压缩、C-Ray 到 MrBayes 等各种其它工作负载的性能 , 通常也有几个百分点的性能改进 。
推荐阅读
- 项目|开源鸿蒙OpenHarmony 3.0实现全设备能力初步覆盖
- 网络|5G真香,赛灵思加入Open RAN政策联盟
- 社区|openGauss聚焦技术创新,打造属于时代的数据库
- Open|意大利法院认定开源软件许可证的可执行性
- Summit|汇数据库创新力量,逐梦数字时代星辰大海,openGauss Summit即将召开
- Open|白宫邀请软件业者座谈以改善开源软件领域的安全状况
- 教育|腾讯教育翟东海:AI技术升级后,课后延时服务的创新实践| OpenTalk
- 社区|阿里云等企业主导的龙蜥社区发起“龙腾计划”;OpenInfra基金会推出LOKI标准;GitLab 14.6发布 | 开源日报
- 教育|科大讯飞常鑫:学校对课后服务的课程需求变化及未来趋势 | OpenTalk
- 社区|开源操作系统社区OpenCloudOS正式成立,共建国产操作系统技术生态