4

嗨,我一直在使用 CC=gcc-4 和 CXX=g++-4 标志在我的 cygwin env 上编译 llvm 和 clang,因为 gcc 3.4.x 似乎根本无法编译 llvm clang。但我的问题是关于长时间的编译时间。我从晚上 8 点开始编译,现在是凌晨 1:35。我的构建目录的大小也超过了 8 GB。我仍然看到

llvm[5]: Linking Debug+Asserts executable clang-format

这是正常的吗?我能以某种方式让它更快吗?

4

3 回答 3

5

以下是一些统计数据

编译器:GCC 4.5.3 Clang,LLVM:3.2

  • 一个 Debug+Assert 构建花了我大约 8 个小时来构建,总构建大小超过 11 GB。

  • 一个 Release+assert 只用了 1 个小时,构建了 800 兆字节。

同样对于发布版本(使用--enable-optimized配置),我使用 make 和-j 4。但我高度怀疑编译时间长主要是由于构建过程本身警告的调试构建。

Note: Debug build can be 10 times slower than an optimized build 
于 2013-02-07T04:26:05.900 回答
0

我怀疑这是因为 Cygwin。您应该能够使用 MS Visual Studio 构建它们,并且有些人已经使用 Mingw 完成了。

于 2013-02-06T20:26:52.550 回答
0

你所看到的几乎是预期的。LLVM / clang 是用 C++ 编写的。因此,那里有大量的调试信息。Linker 很难将所有内容合并在一起。

在 Linux 上,通常的建议是尝试使用 gold 而不是 ld。这通常会使一切速度提高十倍。

于 2013-02-08T15:38:19.913 回答