<html><head><meta http-equiv="Content-Type" content="text/html; charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;" class="">OK. I've posted a bug: <a href="https://ghc.haskell.org/trac/ghc/ticket/15891" class="">https://ghc.haskell.org/trac/ghc/ticket/15891</a><div class=""><br class=""></div><div class="">Thanks much for the attempts thus far!</div><div class="">Richard<br class=""><div class=""><div><br class=""><blockquote type="cite" class=""><div class="">On Nov 11, 2018, at 8:13 AM, George Colpitts <<a href="mailto:george.colpitts@gmail.com" class="">george.colpitts@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><div class=""><div dir="ltr" class="">I couldn't duplicate this, when system times were high they were usually between 20-40% which seems high but not 80%. I am on Xcode 10.1, macOS 10.13.6 , a 4 core imac with 12 gb RAM and a hard drive not SSDs. I can't go to Mojave as it is an old iMac. I did make -j5 using ghc 8.6.2.<div class=""><br class=""></div><div class="">The Mac doesn't have truss or strace. It does have dtrace which I believe is the equivalent. </div><div class=""><br class=""></div><div class="">It might be good to open a ticket for this. As the description of how to reproduce are a bit vague and the steps are manual, it would be ideal if there were modified make file(s) to capture statistics using sample and maybe dtrace or even time. </div><div class=""><br class=""></div><div class="">Cheers</div><div class="">George</div><div class=""><br class=""></div><div class=""><br class=""><br class=""><div class="gmail_quote"><div dir="ltr" class="">On Sat, Nov 10, 2018 at 11:10 PM Ben Gamari <<a href="mailto:ben@well-typed.com" class="">ben@well-typed.com</a>> wrote:<br class=""></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Richard Eisenberg <<a href="mailto:rae@cs.brynmawr.edu" target="_blank" class="">rae@cs.brynmawr.edu</a>> writes:<br class="">
<br class="">
> OK. Well, I couldn't sample from Activity Monitor, because the<br class="">
> processes came and went too quickly. But the terminal command `sample`<br class="">
> takes a *name* as an argument, and so passing ghc-stage1 worked<br class="">
> nicely. Samples were taken during rts_dist_HC calls.<br class="">
><br class="">
Hmmm, it looks to me like all of these are from GHC waiting on various<br class="">
things (e.g. _pthread_cond_wait, nanosleep, and pthread_join). It's<br class="">
quite surprising that these operations are chewing through cycles in<br class="">
kernel mode. I wonder how rapidly we are context switching. Perhaps we<br class="">
are quickly jumping between kernel and user mode? Perhaps strace (or I<br class="">
think the OS X equivalent is truss?) will shed some light?<br class="">
<br class="">
Cheers,<br class="">
<br class="">
- Ben<br class="">
</blockquote></div></div></div>
</div></blockquote></div><br class=""></div></div></body></html>