<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0cm;
        margin-right:0cm;
        margin-bottom:0cm;
        margin-left:36.0pt;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.E-MailFormatvorlage18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;
        mso-fareast-language:EN-US;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 2.0cm 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=DE link="#0563C1" vlink="#954F72"><div class=WordSection1><p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'>> </span><span lang=EN-US>cmake -G "MinGW Makefiles" \<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>  -DCMAKE_INSTALL_PREFIX=C:\LLVM \<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>  -DCMAKE_BUILD_TYPE=Debug \<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>  -DLLVM_ENABLE_ASSERTIONS=On \<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>  -DLLVM_TARGETS_TO_BUILD=X86 \<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>  </span>-DLLVM_ENABLE_CXX1Y=On \<o:p></o:p></p><p class=MsoNormal>  ../<o:p></o:p></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>CMAKE_BUILD_TYPE=Debug will result in a non-optimized compiler. Although I don’t have numbers at hand, you might want to set CMAKE_BUILD_TYPE=Release.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Regards,<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US>Jonas</span><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D;mso-fareast-language:EN-US'><o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US style='mso-fareast-language:EN-US'><o:p> </o:p></span></p><p class=MsoNormal><b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'>From:</span></b><span style='font-size:11.0pt;font-family:"Calibri",sans-serif'> cfe-dev [mailto:cfe-dev-bounces@lists.llvm.org] <b>On Behalf Of </b>Nikodemus Siivola via cfe-dev<br><b>Sent:</b> Thursday, June 1, 2017 9:43 AM<br><b>To:</b> cfe-dev@lists.llvm.org<br><b>Subject:</b> [cfe-dev] clang-cl.exe (32bit) dog slow, capping at ~16.5% CPU<o:p></o:p></span></p><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>I was wondering why compiles were so slow and noticed that clang-cl.exe is never consuming more than ~16.5% CPU on my laptop. This is an i7-7700HQ, 32GB memory, running Windows 10 Pro.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Memory and disk use appear trivial as well, and the computer was otherwise mostly idle at the time. <o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Compiling a trivial hello-world takes 11 seconds:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>$ clang --version</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>clang version 4.0.1</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>Target: i686-pc-windows-msvc</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>Thread model: posix</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>InstalledDir: C:\LLVM\bin</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>$ cat foo.cpp</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>#include <iostream></span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>int main()</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>{</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>    std::cout << "Yo" << std::endl;</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>    return 0;</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>}</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>$ time clang-cl foo.cpp</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>real    0m11.886s</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>user    0m0.015s</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-family:"Courier New"'>sys     0m0.015s</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>Compiling the same program under the Linux subsystem and clang-3.5 takes 0.16seconds. The Visual Studio commandline compiler is likewise almost instant.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>This is release_40 from one of the git mirrors, build built as part of the LLVM tree using Visual Studio 2015 command prompt, with (I think, not 100% sure, don't know cmake well enough to figure out after the fact) the following cmake invovations:<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal>cmake -G "MinGW Makefiles" \<o:p></o:p></p></div><div><p class=MsoNormal>  -DCMAKE_INSTALL_PREFIX=C:\LLVM \<o:p></o:p></p></div><div><p class=MsoNormal>  -DCMAKE_BUILD_TYPE=Debug \<o:p></o:p></p></div><div><p class=MsoNormal>  -DLLVM_ENABLE_ASSERTIONS=On \<o:p></o:p></p></div><div><p class=MsoNormal>  -DLLVM_TARGETS_TO_BUILD=X86 \<o:p></o:p></p></div><div><p class=MsoNormal>  -DLLVM_ENABLE_CXX1Y=On \<o:p></o:p></p></div><div><p class=MsoNormal>  ../<o:p></o:p></p></div></div><div><p class=MsoNormal>cmake --build .<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>Did I pick spectacularly stupid build options or something?<o:p></o:p></p></div><p class=MsoNormal style='margin-bottom:12.0pt'><br>Any suggestions for figuring out what is going on? (Windows is not my regular platform so I'm a bit out of depth here.)<o:p></o:p></p><div><p class=MsoNormal>Cheers,<o:p></o:p></p></div></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal> -- nikodemus<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>