From mboxrd@z Thu Jan 1 00:00:00 1970 MIME-Version: 1.0 Received: by 10.96.157.163 with HTTP; Sat, 21 Jun 2014 10:55:51 -0700 (PDT) In-Reply-To: <1403344734-sup-985@pruts.nl> References: <1403344734-sup-985@pruts.nl> Date: Sat, 21 Jun 2014 19:55:51 +0200 Message-ID: Subject: Re: [sup-talk] Tuning Ruby's GC params for faster `sup` From: Gaute Hope To: Ico Doornekamp Cc: sup-talk Content-Type: multipart/alternative; boundary=047d7b2e538420f4a404fc5c52fb --047d7b2e538420f4a404fc5c52fb Content-Type: text/plain; charset=UTF-8 On Sat, Jun 21, 2014 at 11:59 AM, Ico Doornekamp 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 --047d7b2e538420f4a404fc5c52fb Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
On S= at, 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 ope= n 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 wallcl= ock
> time was spent in GC.
>
> So, I tuned Ruby's GC to not run so often, resulting in GC now tak= ing only
> 13% of wall clock time. Anecdotally, I also noticed that threads loade= d
> 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 consider= ing
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 b= e a possibility, would be happy to review a suggestion on how to do it. Thi= s 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 (d= oes ruby require them to be set beforehand? or is there an interface to the= GC?).

- gaute

--047d7b2e538420f4a404fc5c52fb--