如何使用叮当加快编译速度? 我有一个Visual Studio 2019 C++项目,我正在转换成CLAN,我注意到CLAN版本编译得慢了很多,正如>FFTEng/交换机所说的,平均来说,CLAN编译大约需要1700毫秒,而VS2019版本只需要1150毫秒编译。不涉及预编译头
请注意,我通过使用以下(最相关的)标志直接调用如何使用叮当加快编译速度? 我有一个Visual Studio 2019 C++项目,我正在转换成CLAN,我注意到CLAN版本编译得慢了很多,正如>FFTEng/交换机所说的,平均来说,CLAN编译大约需要1700毫秒,而VS2019版本只需要1150毫秒编译。不涉及预编译头,c++,visual-c++,compilation,clang,compilation-time,C++,Visual C++,Compilation,Clang,Compilation Time,请注意,我通过使用以下(最相关的)标志直接调用clang++.exe直接从命令行构建clang版本: VS2019版本使用以下标志: /permissive- /GS /W3 /Zc:wchar_t /Qspectre /Zi /Gm- /Od /sdl /Fd"x64\Debug\vc142.pdb" /Zc:inline /fp:precise /D "_DEBUG" /D "GAMECODE_EXPORTS" /D "_WINDOWS" /D "_USRDLL
clang++.exe
直接从命令行构建clang版本:
VS2019版本使用以下标志:
/permissive-
/GS
/W3
/Zc:wchar_t
/Qspectre
/Zi
/Gm-
/Od
/sdl
/Fd"x64\Debug\vc142.pdb"
/Zc:inline
/fp:precise
/D "_DEBUG"
/D "GAMECODE_EXPORTS"
/D "_WINDOWS"
/D "_USRDLL"
/D "_WINDLL"
/D "_UNICODE"
/D "UNICODE"
/errorReport:prompt
/WX-
/Zc:forScope
/RTC1
/Gd
/MDd
/std:c++14
/FC
/Fa"x64\Debug\"
/EHsc
/Fo"x64\Debug\"
/debug
/diagnostics:column
是什么导致了如此巨大的差异,使VS2019更快?MsBuild是否做了一些特殊的事情来加快编译速度,而我对clang编译器的简单命令行调用没有做到这一点?您似乎没有使用
/debug
。没错,我添加了/debug
,但是MSVC.AFAIK的编译时间没有改变,/debug
实际上是/debug
,所以这没什么区别。使用小写的/debug
。这似乎也不会增加任何额外的时间。然而,我尝试在VS中使用clang cl
工具链进行编译,构建时间看起来与我在命令行中从clang获得的非常相似。所以,在Windows上,clang似乎有点慢。为什么编译时间很重要?2秒的构建时间非常短(从its中尝试buildijngclang
;这可能需要几个小时)。我写的程序需要一个小时的CPU时间来构建。顺便问一下,您是否尝试在Linux发行版上使用clang
?这可能有点快。你似乎没有使用/debug
。你是对的,我添加了/debug
,但是MSVC.AFAIK的编译时间没有改变,/debug
实际上是/debug
,所以没有什么区别。使用小写的/debug
。这似乎也不会增加任何额外的时间。然而,我尝试在VS中使用clang cl
工具链进行编译,构建时间看起来与我在命令行中从clang获得的非常相似。所以,在Windows上,clang似乎有点慢。为什么编译时间很重要?2秒的构建时间非常短(从its中尝试buildijngclang
;这可能需要几个小时)。我写的程序需要一个小时的CPU时间来构建。顺便问一下,您是否尝试在Linux发行版上使用clang
?可能会快一点
/permissive-
/GS
/W3
/Zc:wchar_t
/Qspectre
/Zi
/Gm-
/Od
/sdl
/Fd"x64\Debug\vc142.pdb"
/Zc:inline
/fp:precise
/D "_DEBUG"
/D "GAMECODE_EXPORTS"
/D "_WINDOWS"
/D "_USRDLL"
/D "_WINDLL"
/D "_UNICODE"
/D "UNICODE"
/errorReport:prompt
/WX-
/Zc:forScope
/RTC1
/Gd
/MDd
/std:c++14
/FC
/Fa"x64\Debug\"
/EHsc
/Fo"x64\Debug\"
/debug
/diagnostics:column