GCC并行编译大型源代码文件性能大幅提升
虽然 GNU Make 和其他构建系统可以很好地进行扩展以并发编译大量文件,不过 GCC 自身也一直在让 GCC 的更多工作在编译大型源代码文件时能够并行执行。
早在2019年夏天,其团队就已开始尝试解决并行化遇到的瓶颈,让更多的编译器工作在更大的源代码文件中能够并行运行,并取得了不错的进展。曾参与开发的学生开发者 Giuliano Belinassi 现在又回到了 GSoC 并继续此项工作。
Giuliano 近日提供了关于“自动并行编译可行性”的第二份报告,该报告旨在加快大文件的编译以及为 GNU Jobserver 进行集成。
该代码目前可正常运行,其他开发者也可以通过 GCC 的分支版本进行尝试。数据显示,在四核 Intel Core i7 移动处理器上的提速范围从轻微减速提升到原始 GCC 代码的 1.9 倍速度左右。目前,GCC 的 C、C++ 和 Fortran 前端都支持这项工作,而其他前端可能会在一段时间内出现。
Giuliano 在的状态报告中总结道:“目前项目进展顺利,尽管诸如禁用 static promotion 之类的保守方法可能会对并行性潜力产生负面影响。未来解决此问题的方法之一是将最终的汇编文件传送回主 GCC 进程,然后再串联成一个汇编文件,而不是对多个汇编文件进行部分链接。这当然会增加进程间通信的成本,但最终的结果应该是值得的。”
最后,希望这项工作能够继续顺利进行,并且 GCC 的并行化改进在不久的将来最终成为上游项目。
声明:文章收集于网络,版权归原作者所有,为传播信息而发,如有侵权,请联系小编删除,谢谢!
时间:2020-08-04 00:26 来源: 转发量:次
声明:本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
相关文章:
- [数据挖掘]流数据并行处理性能比较:Kafka vs Pulsar vs Praveg
- [数据挖掘]Rust可太香了!AWS为此拿下其编译器团队负责人
- [数据挖掘]技术解析| Hive源码编译及阅读修改调试
- [数据挖掘]嫌Python太慢?并行运算Process Pools三行代码给你
- [数据挖掘]Python并行处理
- [数据挖掘]编译hadoop2.9源码并搭建环境
- [数据挖掘]Spark之性能优化(重点:并行流数据接收)
- [数据挖掘]Python数据预处理:使用Dask和Numba并行化加速
- [数据挖掘]Hadoop——源码编译
- [数据挖掘]Python数据预处理:使用Dask和Numba并行化加速
相关推荐:
网友评论:
最新文章
热门文章