[PATCH] D52193: RFC: [clang] Multithreaded compilation support
Alexandre Ganea via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Tue Sep 18 16:46:10 PDT 2018
aganea added a comment.
In https://reviews.llvm.org/D52193#1238944, @zturner wrote:
> In https://reviews.llvm.org/D52193#1238923, @aganea wrote:
>
> > The goal of this change is frictionless compilation into VS2017 when using `clang-cl` as a compiler. We've realized that compiling Clang+LLD with Clang generates a faster executable that with MSVC (even latest one).
> > I currently can't see a good way of generating the Visual Studio solution with CMake, while using Ninja+clang-cl for compilation. They are two orthogonal configurations. Any suggestions?
>
>
> I don't think this is necessary. I think your updated Matrix is pretty good.
>
> I'm surprised to see that Ninja + Clang is slower than Ninja + MSVC. Are you using lld here?
Yes, all the ‘Clang’ rows use both clang-cl and lld-link.
Like stated above, I think this is caused by a lot more processes (clang-cl.exe) being invoked. In contrast, cl.exe does not invoke a child process. There are about 3200 files to compiles, which makes 6400 calls to clang-cl. At about ~60ms lead time per process, that adds up to an extra ~3min wall clock time. It is the simplest explanation I could find.
Repository:
rC Clang
https://reviews.llvm.org/D52193
More information about the cfe-commits
mailing list