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

From: Aravind Narayanan <[email-masked]>
Date: Thu, 12 Jun 2014 17:04:11 -0700

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.

Anyone else notice this? Are there any other tricks people use to speed up
`sup`?

Regards,
Aravind
_______________________________________________
sup-talk mailing list
[email-masked]
http://rubyforge.org/mailman/listinfo/sup-talk

---

From: Ico Doornekamp <[email-masked]>
Date: Sat, 21 Jun 2014 11:59:08 +0200

Hi,

> 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.

Ico

-- 
:wq
^X^Cy^K^X^C^C^C^C

---

From: Gaute Hope <[email-masked]>
Date: Sat, 21 Jun 2014 19:55:51 +0200

> 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