4 ms·
If you're running Ruby 1.9.3, go upgrade to 2.1.2. It is such an improvement all around - deploy time, restart time, test time, console startup (if you're usin
by tcopeland 12y ago
If you're running Ruby 1.9.3, go upgrade to 2.1.2. It is such an improvement all around - deploy time, restart time, test time, console startup (if you're using Rails), etc. Just a whole different experience.
And if you've done a 1.8.7 to 1.9.3 upgrade, going from 1.9 to 2.1 is nothing. Piece of cake by comparison.
- jerhinesmith 12y agoIf you're on heroku (or similarly memory-constrained VPS), it's worth noting that 2.1+ can use significantly more memory. I've been collecting bookmarks on how to properly tune the GC environment variables in these situations -- hopefully they'll help someone else: Heroku discussion: https://discussion.heroku.com/t/tuning-rgengc-2-1-on-heroku/359/6 https://discussion.heroku.com/t/tuning-rgengc-2-1-on-heroku/... Using Out-of-band GC on 2.1: http://tmm1.net/ruby21-oobgc/ http://tmm1.net/ruby21-oobgc/
- timr 12y agoMaybe this will help someone, as well...we've been trying to collect all of the different tuning and implementation information on the Ruby GC in one place: https://www.omniref.com/ruby/2.1.2/symbols/GC#annotation=88&line=1 https://www.omniref.com/ruby/2.1.2/symbols/GC#annotation=88&...
- jerhinesmith 12y agoThat's actually a huge help. What I've also been looking for (and haven't been able to find) is a good guide on How to Tune your GC settings. Aman Gupta has gotten the closest so far* (I think), but I'd really love a step-by-step of "OK, open your console, run `GC.start`, take note of this property because it means X and indicates that Y would be a good setting for Z, etc. etc" * http://tmm1.net/ruby21-rgengc/ http://tmm1.net/ruby21-rgengc/
- MrBra 12y agoIt would be interesting or useful to know more about it, but what I think is that ideally a right impementation of a GC should not require any tweeks from the outside... and I am pretty sure you are not going to get any signifcant performance boost by using different GC values than default.
- joevandyk 12y agoI wish there was a "webapp" environment flag you could set that would tell Ruby to apply reasonable GC/memory settings for a larger / constantly running app.