These include a generational garbage collector introduced in ruby 2 1 incremental garbage collection in 2 2 and compaction in 2 7.
Ruby garbage collection force.
To preserve backward compatibility with old c extensions ruby.
The garbage collection has undergone a number of changes since ruby 2 was released in 2013.
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.
For instance the following function will cause a memory leak even if ruby is running.
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.
Schneeman has some other examples of this vulnerability in his post about symbol garbage collection in ruby 2 2.
Conversely speaking if the memory is allocated without following a certain procedure it won t be taken care of.
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.
Illustration of using write barrier to add object e to the remember set.
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.
Moreover it only concerned with the objects created and managed by ruby.
How does garbage collection work in ruby.
Generational garbage collection was introduced in ruby 2 1.