<div dir="ltr">I can try to get some timings from my machine.  How do we handle crash recovery in the case where we don't spawn a child process?  I thought the whole reason for spawning the cc1 driver as a separate process was so that we could collect and report crash information in a nice way.  Not having that seems like a heavy price to pay.</div><br><div class="gmail_quote"><div dir="ltr">On Wed, Oct 10, 2018 at 11:34 AM Alexandre Ganea via Phabricator <<a href="mailto:reviews@reviews.llvm.org">reviews@reviews.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">aganea added a comment.<br>
<br>
Updated tests again. This time I've closed all applications, all unused services, and tried to have a "clean" machine.<br>
<br>
New timings without the child `clang-cl.exe` being invoked (hacked from <a href="https://reviews.llvm.org/D52411" rel="noreferrer" target="_blank">https://reviews.llvm.org/D52411</a>). The test consists in building Clang+LLVM+LLD at r343846 using the compiler specified on each line of the table.<br>
<br>
**Config 1:** Intel Xeon Haswell 6 cores / 12 HW threads, 3.5 GHz, 15 MB cache, 128 GB RAM, SSD 550 MB/s (Windows 10 Fall Creators update 1709)<br>
<br>
__Ninja:__<br>
<br>
| MSVC 15.8.6 (cl + link)                                                             | 29 min 4 sec      |<br>
| clang-cl + lld-link 7.0 official release                                            | 25 min 45 sec     |<br>
| clang-cl + lld-link 8.0 r343846 //built with clang-cl 7.0 official// **(no child)** | **23 min 27 sec** |<br>
|<br>
<br>
**Config 2:** Intel Xeon Skylake 18 cores / 36 HW threads, x2 (Dual CPU), 72 HW threads total, 2.3 GHz, 24.75 MB cache each, 128 GB RAM, NVMe SSD 4.6 GB/s (Windows 10 Fall Creators update 1709)<br>
<br>
__Ninja:__<br>
<br>
| MSVC 15.8.6 (cl + link)                                                             | 6 min 40 sec     |<br>
| clang-cl + lld-link 7.0 official release                                            | 6 min 24 sec     |<br>
| clang-cl + lld-link 8.0 r343846 //built with clang-cl 7.0 official// **(no child)** | **5 min 10 sec** |<br>
|<br>
<br>
I'm wondering if the improvement is of the same order on Linux. I'd be interested to see your build times, out of curiosity? Can any of you try it with and without <a href="https://reviews.llvm.org/D52411" rel="noreferrer" target="_blank">https://reviews.llvm.org/D52411</a>?<br>
<br>
<br>
Repository:<br>
  rC Clang<br>
<br>
<a href="https://reviews.llvm.org/D52193" rel="noreferrer" target="_blank">https://reviews.llvm.org/D52193</a><br>
<br>
<br>
<br>
</blockquote></div>