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之类的保守方法可能会对并行性潜力产生负面影响。未来解...
