Ruby Garbage Collection Force

Tuning approaches lourens wrote this on feb 20th 2015 9 19 am mri maintainers have put a tremendous amount of work into this is the den a publication crafted by the friendly cubs at bear metal.
Ruby garbage collection force. Moreover it only concerned with the objects created and managed by ruby. Ruby now garbage collects dynamically generated symbols so this vulnerability isn t an issue in the latest versions of ruby but older versions are common. This post focuses on the latest released version of cruby which is 2 7. These include a generational garbage collector introduced in ruby 2 1 incremental garbage collection in 2 2 and compaction in 2 7.
The json gem suffered from this vulnerability before ruby 2 0 0 and mr. Generational garbage collection was introduced in ruby 2 1. How does garbage collection work in ruby. The garbage collection has undergone a number of changes since ruby 2 was released in 2013.
To preserve backward compatibility with old c extensions ruby. Ruby like most other modern high level programming languages doesn t force you to manage memory this feature is called garbage collection or gc and you get it for free in ruby. You can write tons of ruby code and never give a second thought to the fact that under the covers ruby is doing a bang up job of allocating and freeing memory for your code to use. Ruby s garbage collection is only concerned with ruby objects.
For instance the following function will cause a memory leak even if ruby is running.