[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [sup-talk] Tuning Ruby's GC params for faster `sup`



On Sat, Jun 21, 2014 at 11:59 AM, Ico Doornekamp <sup@zevv.nl> wrote:
Hi,

* On 2014-06-13 02:04:11 +0200, Aravind Narayanan wrote:

> Hey everyone,
>
> I'm sharing this to see if any else does this, and whether or not it makes
> sense to include in the defaults.
>
> `sup` was kind of slow for me, and sometimes took a few seconds to open up
> an (albeit large) email thread. I ran `perftools.rb` on it to see what was
> taking up so much time, and was surprised to find that ~ 60% of wallclock
> time was spent in GC.
>
> So, I tuned Ruby's GC to not run so often, resulting in GC now taking only
> 13% of wall clock time. Anecdotally, I also noticed that threads loaded
> much much faster. The params I set were
> https://gist.github.com/rvnd/756d6a5e82d1bba9fbb9.

I can confirm this makes a *huge* difference. I'm running sup on a
pretty big machine, but at times it's so creeping slow I'm considering
moving back to mutt.

Using the parameters you suggested speeds up things considerably,
loading big threads is now fast enough to be usable without getting
annoyed.

Thank your *very* much for pointing this out. I hope Sup will pick this
up and integrate it in the default application in some way.

Yup - that could be a possibility, would be happy to review a suggestion on how to do it. This has always been a problem for Sup.

I would think either, a) suggest to the user to set the variables or b) set them on start up (does ruby require them to be set beforehand? or is there an interface to the GC?).

- gaute