clang llvm在cygwin上的遵从时间很长

clang llvm在cygwin上的遵从时间很长,cygwin,llvm,clang,Cygwin,Llvm,Clang,您好,我一直在使用CC=gcc-4和CXX=g++-4标志在cygwin env上编译llvm和clang,因为gcc 3.4.x似乎根本不编译llvm clang。但我的问题是关于漫长的编译时间。我从晚上8点开始编译,现在是凌晨1:35。我的构建目录的大小也超过了8G。我仍然明白 llvm[5]: Linking Debug+Asserts executable clang-format 这正常吗?我能不能加快速度?我怀疑这是因为Cygwin。您应该能够使用MS Visual Studio构

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

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

这正常吗?我能不能加快速度?

我怀疑这是因为Cygwin。您应该能够使用MS Visual Studio构建它们,有些人已经使用Mingw实现了这一点。

以下是一些统计数据

编译器:GCC 4.5.3 铿锵,LLVM:3.2

  • 一个Debug+Assert构建用了我大约8个小时的时间来构建整个构建 大小超过11G

  • 一个Release+assert只花了1个小时就完成了800兆字节的构建

同样对于发布版本(使用--启用优化的--进行配置),我使用了使用-j4的make。但我高度怀疑编译时间过长主要是由于编译过程本身警告的调试编译

Note: Debug build can be 10 times slower than an optimized build 

你所看到的一切都是意料之中的。LLVM/CLAN是用C++编写的。因此,这里有大量的调试信息。链接器在尝试将所有内容合并到一起时遇到了困难


在Linux上,通常的建议是尝试黄金而不是黄金。这通常会使速度提高十倍。

cygwin在这方面通常速度很慢。RAM大小很重要。在Linux下,当我有3GB的RAM时,我发现了很多分页。我把它提高到8GB,速度提高了不少。如果算上的话,我也在cygwin上做过,相当痛苦,总编译时间约为8小时,构建大小为11GB。哦,我在构建结束时收到了这条消息注意:调试构建可能比优化构建慢10倍让我用优化构建再试一次,然后继续此操作。:)谢谢这很有帮助。还可能需要添加--enable targets=(在我的例子中是x86_64)开关,以避免构建PPC、ARM等(这似乎是在我的构建中实现的)。