[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: garbage collection slowdown
From: |
Ludovic Courtès |
Subject: |
Re: garbage collection slowdown |
Date: |
Wed, 05 Feb 2020 17:22:55 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Hi Han-Wen,
Great to see you back here!
Han-Wen Nienhuys <address@hidden> skribis:
> On Tue, Jan 28, 2020 at 11:41 PM Han-Wen Nienhuys <address@hidden> wrote:
>> Unfortunately, it looks like the adoption of the BDW GC library caused
>> a ~6x slowdown, causing an overall end-to-end slowdown of 50%.
>>
>> I was wondering if you folks would have tips to further tune GC for
>> wall-time speed, and if there additional diagnostics to see if we're
>> doing something extraordinarily silly.
>
> For the record, I managed to solve this, by scaling up the heap more
> aggressively. See
> https://codereview.appspot.com/561390043/diff/557260051/lily/score-engraver.cc
Weird. It would be interesting to see where the slowdown comes from.
Overall, my recollection of the 1.8 to 2.0 transition (where we
introduced libgc) is that GC was a bit faster, definitely not slower.
That said, does LilyPond happen to use lots of bignums and/or lots of
finalizers? Finalizers, including those on bignums, end up being very
GC-intensive, as discussed in my recent message. Perhaps that’s what’s
happening here, for instance if you create lots of SMOBs with a free
function.
Thanks,
Ludo’.