<div dir="ltr">Matt has access to the M1 builder in my closet now. The darwin performance issue<div>is mainly there since BigSur, and (afaik) primarily due to the amount of DYLD_LIBRARY_PATH's</div><div>we pass to GHC invocations. The system linker spends the majority of the time in the</div><div>kernel stat'ing and getelements (or some similar directory) call for each and every possible</div><div>path.</div><div><br></div><div>Switching to hadrian will cut down the time from ~5hs to ~2hs. At some point we had make</div><div>builds <90min by just killing all DYLD_LIBRARY_PATH logic we ever had, but that broke</div><div>bindists.</div><div><br></div><div>The CI has time values attached and some summary at the end right now, which highlights</div><div>time spent in the system and in user mode. This is up to 80% sys, 20% user, and went to</div><div>something like 20% sys, 80% user after nuking all DYLD_LIBRARY_PATH's, with hadrian it's</div><div>closer to ~25% sys, 75% user.</div><div><br></div><div>Of note, this is mostly due to time spent during the *test-suite*, not the actual build. For the</div><div>actual build make and hadrian are comparable, though I've seen hadrian to oddly have a</div><div>much higher variance in how long it takes to *build* ghc, whereas the make build was more</div><div>consistent.</div><div><br></div><div>The test-suite quite notoriously calls GHC *a lot of times*, which makes any linker issue due</div><div>to DYLD_LIBRARY_PATH (and similar lookups) much worse.</div><div><br></div><div>If we would finally split building and testing, we'd see this more clearly I believe. Maybe this</div><div>is motivation enough for someone to come forward to break build/test into two CI steps?</div><div><br></div><div>Cheers,</div><div> Moritz</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, May 19, 2021 at 4:14 PM Matthew Pickering <<a href="mailto:matthewtpickering@gmail.com">matthewtpickering@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
The darwin pipelines are gumming up the merge pipeline as they are<br>
taking over 4 hours to complete on average.<br>
<br>
I am going to disable them -<br>
<a href="https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5785" rel="noreferrer" target="_blank">https://gitlab.haskell.org/ghc/ghc/-/merge_requests/5785</a><br>
<br>
Please can someone give me access to one of the M1 builders so I can<br>
debug why the tests are taking so long. Once I have fixed the issue<br>
then I will enable the pipelines.<br>
<br>
Cheers,<br>
<br>
Matt<br>
</blockquote></div>