[cfe-dev] clang-cl.exe (32bit) dog slow, capping at ~16.5% CPU

NAKAMURA Takumi via cfe-dev cfe-dev at lists.llvm.org
Wed Jun 7 22:36:30 PDT 2017


I wonder you specified -DCMAKE_BUILD_TYPE=Release to Visual Studio
Generator.

Make sure;
- Delete CMAKE_BUILD_TYPE
- clang-cl.exe is generated as Release\bin\clang-cl.exe in your build tree.
  Visual Studio (and msbuild.exe) has multiple configurations.

On Thu, Jun 8, 2017 at 1:57 AM Nikodemus Siivola via cfe-dev <
cfe-dev at lists.llvm.org> wrote:

> One core out of eight sounds plausible indeed! Never thought of that, more
> used to *nix style usage numbers where 1.0 = one core. :)
>
> Did a release build:
>
>     cmake -G "Visual Studio 14 2015" \
>       -DCMAKE_INSTALL_PREFIX=C:\LLVM \
>       -DCMAKE_BUILD_TYPE=Release \
>       -DLLVM_TARGETS_TO_BUILD=X86 \
>       -DLLVM_ENABLE_CXX1Y=On \
>       ../
>
> That clang still takes >10s to build a hello-world.
>
> Any suggestions?
>
> Cheers,
>
>  -- nikodemus
>
>
> On Thu, Jun 1, 2017 at 6:11 PM, David Blaikie <dblaikie at gmail.com> wrote:
>
>>
>>
>> On Thu, Jun 1, 2017 at 12:48 AM Hahnfeld, Jonas via cfe-dev <
>> cfe-dev at lists.llvm.org> wrote:
>>
>>> > cmake -G "MinGW Makefiles" \
>>>
>>>   -DCMAKE_INSTALL_PREFIX=C:\LLVM \
>>>
>>>   -DCMAKE_BUILD_TYPE=Debug \
>>>
>>>   -DLLVM_ENABLE_ASSERTIONS=On \
>>>
>>>   -DLLVM_TARGETS_TO_BUILD=X86 \
>>>
>>>   -DLLVM_ENABLE_CXX1Y=On \
>>>
>>>   ../
>>>
>>>
>>>
>>> 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.
>>>
>>
>> Also  -DLLVM_ENABLE_ASSERTIONS=On
>>
>> The build system at some point had a warning informing users that this
>> might produce an order of magnitude (or more) slower compiler.
>>
>> I'd suggest you keep an optimized and unoptimized compiler around. Though
>> even then, Hello World doesn't take me 10 seconds to compile... so maybe
>> there's other things going on. Sounds like you'd want one set of LLVM stuff
>> with all the debugging knobs turned on (exactly as you've built) & use that
>> with your frontend, and another, release build, for running clang, etc for
>> practical porpoises.
>>
>>
>>
>>
>>>
>>>
>>> Regards,
>>>
>>> Jonas
>>>
>>>
>>>
>>> *From:* cfe-dev [mailto:cfe-dev-bounces at lists.llvm.org] *On Behalf Of *Nikodemus
>>> Siivola via cfe-dev
>>> *Sent:* Thursday, June 1, 2017 9:43 AM
>>> *To:* cfe-dev at lists.llvm.org
>>> *Subject:* [cfe-dev] clang-cl.exe (32bit) dog slow, capping at ~16.5%
>>> CPU
>>>
>>>
>>>
>>> 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.
>>>
>>>
>>>
>>> Memory and disk use appear trivial as well, and the computer was
>>> otherwise mostly idle at the time.
>>>
>>>
>>>
>>> Compiling a trivial hello-world takes 11 seconds:
>>>
>>>
>>>
>>> $ clang --version
>>>
>>> clang version 4.0.1
>>>
>>> Target: i686-pc-windows-msvc
>>>
>>> Thread model: posix
>>>
>>> InstalledDir: C:\LLVM\bin
>>>
>>>
>>>
>>> $ cat foo.cpp
>>>
>>> #include <iostream>
>>>
>>>
>>>
>>> int main()
>>>
>>> {
>>>
>>>     std::cout << "Yo" << std::endl;
>>>
>>>     return 0;
>>>
>>> }
>>>
>>>
>>>
>>> $ time clang-cl foo.cpp
>>>
>>>
>>>
>>> real    0m11.886s
>>>
>>> user    0m0.015s
>>>
>>> sys     0m0.015s
>>>
>>>
>>>
>>> Compiling the same program under the Linux subsystem and clang-3.5 takes
>>> 0.16seconds. The Visual Studio commandline compiler is likewise almost
>>> instant.
>>>
>>>
>>>
>>> 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:
>>>
>>>
>>>
>>> cmake -G "MinGW Makefiles" \
>>>
>>>   -DCMAKE_INSTALL_PREFIX=C:\LLVM \
>>>
>>>   -DCMAKE_BUILD_TYPE=Debug \
>>>
>>>   -DLLVM_ENABLE_ASSERTIONS=On \
>>>
>>>   -DLLVM_TARGETS_TO_BUILD=X86 \
>>>
>>>   -DLLVM_ENABLE_CXX1Y=On \
>>>
>>>   ../
>>>
>>> cmake --build .
>>>
>>>
>>>
>>> Did I pick spectacularly stupid build options or something?
>>>
>>>
>>> Any suggestions for figuring out what is going on? (Windows is not my
>>> regular platform so I'm a bit out of depth here.)
>>>
>>> Cheers,
>>>
>>>
>>>
>>>  -- nikodemus
>>>
>>>
>>> _______________________________________________
>>> cfe-dev mailing list
>>> cfe-dev at lists.llvm.org
>>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>>>
>>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170608/e8ee605a/attachment.html>


More information about the cfe-dev mailing list