Ruby 2.1: Out-of-Band GC

Ruby 2.1’s GC is better than ever, but ruby still uses a stop-the-world GC implementation. This means collections triggered during request processing will add latency to your response time. One way to mitigate this is by running GC in-between requests, i.e....

Ruby 2.1: RGenGC

Ruby 2.1 adds a “restricted” generational collector, with minor mark phases that dramatically reduce the cost of GC. Let’s take a look at the evolution of Ruby’s GC. Ruby 1.8: simple mark and sweep Classic mark and sweep implementation. The...