并行执行 ./configure
Parallel ./configure

原始链接: https://tavianator.com/2025/configure.html

2025年,Tavian Barnes 对 `./configure` 脚本缓慢的顺序执行方式表示惋惜,因为它未能有效利用现代多核处理器。在编译GNU `findutils` 项目时,`configure` 脚本仅使用了单个 CPU 内核的 69%,耗时是实际构建过程的 13.5 倍。这种低效源于其固有的顺序测试编译方法,用于确定系统功能。 Tavian 提出了一种使用 `make` 的并行化配置系统。该系统利用 `configure.mk` 文件生成 `Makefile` 和 `config.h`。它利用 `flags.sh` 和 `define.sh` 等辅助脚本并行执行编译器测试,为每个标志或功能生成小的 Makefile 片段。然后将这些片段合并到主 `Makefile` 中。类似的方法通过测试编译简单的 C 程序来生成 `config.h`。 这种并行方法显著提高了性能。在一个演示中,新的 `configure` 脚本实现了 802% 的 CPU 利用率,将配置时间缩短到标准 `./configure` 方法的一小部分,证明了在现代硬件上显著加快构建配置的潜力。

Hacker News 最新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 并行 ./configure (tavianator.com) brooke2k 1小时前 11 分 | 隐藏 | 过去 | 收藏 | 1 评论 epistasis 5分钟前 [–] 过去几十年,我花了不少时间让autotools在我的项目中工作,但我从未觉得这是对时间的有效利用。C语言可能会继续被使用,但我肯定不会再用C语言开始新的项目了。我还是挺高兴看到有人努力让autotools对遗留项目更好用一些的。 回复 加入我们,参加6月16-17日在旧金山举办的AI创业学校! 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系我们 搜索:
相关文章

原文