Try Greg's recommendations first. If you still need to do more investigation, I'd recommend that you look at some samples with either threadscope or dumping the eventlog to text. I really like ghc-events-analyze, but it doesn't provide quite the same level of detail. You may also want to dump some of your metrics into the eventlog, because then you'll be able to see exactly how high latency episodes line up with GC pauses.
On Mon, Sep 28, 2015 at 1:02 PM Gregory Collins <g...@gregorycollins.net> wrote: > > On Mon, Sep 28, 2015 at 9:08 AM, Will Sewell <m...@willsewell.com> wrote: > >> If it is the GC, then is there anything that can be done about it? > > > - Increase value of -A (the default is too small) -- best value for > this is L3 cache size of the chip > - Increase value of -H (total heap size) -- this will use more ram but > you'll run GC less often > - This will sound flip, but: generate less garbage. Frequency of GC > runs is proportional to the amount of garbage being produced, so if you can > lower mutator allocation rate then you will also increase net productivity. > Built-up thunks can transparently hide a lot of allocation so fire up the > profiler and tighten those up (there's an 80-20 rule here). Reuse output > buffers if you aren't already, etc. > > G > > -- > Gregory Collins <g...@gregorycollins.net> > _______________________________________________ > Glasgow-haskell-users mailing list > Glasgow-haskell-users@haskell.org > http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users >
_______________________________________________ Glasgow-haskell-users mailing list Glasgow-haskell-users@haskell.org http://mail.haskell.org/cgi-bin/mailman/listinfo/glasgow-haskell-users