On my machine, working from master moves the: - non-incremental worst pause move from 150ms to 120ms - incremental-gc worst pause from 163ms to 120ms
I experimented with explicit GC calls during the ramp-up period again, and on master it seems to be interesting. I have to choose a high-enough frequency (1 over 100 is not enough, 1 over 30 or 1 over 50 give net improvements), and to call the gc not only during the rampup, but also after it. Calling the GC between (window-size / 2) and (window-size * 2) seems to work well -- and the results are very sensitive to these factors, for example stopping only after (window-size * 1.5) degrades the efficiency a lot (but more than 2 doesn't help much). With this rampup strategy, I get the pause time down to 40ms with the incremental GC, with a modest throughput cost: if I amortize by iterating 2 million times instead of 1 million times, explicit GC during rampup moves total runtime from 11s to 13s. (These explicit calls only help when the incremental GC is used (obviously ?). In fact they actively hurt when the non-incremental GC is used.) I added the ramp-up code, disabled by default, to the Racket benchmark. I'm satisfied with the current results and I think they'll make for a fine post (I think explaining the ramp-up problem and how to observe/detect it is more important and useful than the details of the current hack to mitigate it). On Mon, May 16, 2016 at 11:34 AM, Matthew Flatt <[email protected]> wrote: > At Mon, 16 May 2016 11:21:43 -0400, Gabriel Scherer wrote: >> If you were willing to make publicly available a patchset with your >> GC tuning on top of Racket's current master branch (or whatever; or >> apply them to master directly, of course), [...] > > Certainly --- those changes are already in the master branch (pushed > before my original reply). > -- You received this message because you are subscribed to the Google Groups "Racket Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/racket-dev/CAPFanBGjbV-RUrr%2Bsw8rcfWJP5T%3D3nKGMJK2gPkSDc6EY7qEFg%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
