[cfe-dev] clang-cl.exe (32bit) dog slow, capping at ~16.5% CPU
Nikodemus Siivola via cfe-dev
cfe-dev at lists.llvm.org
Wed Jun 7 09:57:42 PDT 2017
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
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20170607/bcfd4ba4/attachment.html>
More information about the cfe-dev
mailing list