I think the takeaway is that there
actually is a straight-up bug in the 2.1.1 GC that causes unbounded memory growth, and that the new GC does typically result in higher memory use.
The memory issue isn't really that serious, as it seems to be a tradeoff for performance. Although it's not like Ruby is light on memory use as it is…
Far more interesting are some of the other issues, like this one: https://bugs.ruby-lang.org/issues/9262
For an app like Discourse 3-10% of request time is occupied looking up methods, due to cache inefficiency.
That's amazing, and demonstrates that there's probably still quite a lot of low-hanging performance fruit that Ruby can look to exploit.
All of that aside, performance is generally so much better in the 2.1.1 series that it's really worth using.
The memory issue isn't really that serious, as it seems to be a tradeoff for performance. Although it's not like Ruby is light on memory use as it is…
Far more interesting are some of the other issues, like this one: https://bugs.ruby-lang.org/issues/9262
For an app like Discourse 3-10% of request time is occupied looking up methods, due to cache inefficiency.
That's amazing, and demonstrates that there's probably still quite a lot of low-hanging performance fruit that Ruby can look to exploit.
All of that aside, performance is generally so much better in the 2.1.1 series that it's really worth using.