【发布时间】:2012-09-26 05:58:32
【问题描述】:
我正在尝试使用git bisect 在 gcc48 中找到错误的 C++ 提交。
对于我所做的每一次提交:
make distclean
./configure
nice make -j24 bootstrap
这是在 24 cpu 的盒子上。
我怀疑这是次优的,make 做了很多额外的事情(例如其他语言)。如何禁用 C++ 测试不需要的所有可选内容?如何加快 gcc 构建速度?
编辑
我能够通过以下方式将构建时间从 30 分钟减少到 2 分钟:
git reset --hard &&
rm -rf B/ && mkdir B/ && cd B/ &&
~/gcc.git/configure --enable-languages=c,c++ --disable-multilib --disable-bootstrap --prefix=$HOME/I &&
nice make -j22 &&
make install
【问题讨论】:
-
除非您的 makefile 被搞砸了(好吧,makefile 很可能会出现这种情况...),与重新编译整个应用程序相比,make 命令中传递的时间应该非常短。对于更快的构建系统,请研究 Ninja(也许还有现在可以在 beta 中生成 Ninja 文件的 CMakefiles)。