The document discusses the history and features of garbage collection (GC) in Ruby. It notes that while GC has gotten a bad reputation for being slow or causing errors, it has actually been improved over time thanks to contributions from pioneering computer scientists. The document urges readers to see GC as an opportunity to strengthen their skills rather than a scapegoat for performance issues.
6. Features of Ruby 1.9 series
✓ Suppression of Fragmentation -
since 1.9.1
✓ GC::Profiler - since 1.9.1
✓ LazySweepGC - since 1.9.3
✓ GC tuning params - since 1.9.3
5/51
GC FAQ Powered by Rabbit 0.9.3
8. GC tuning params
✓ You can tune GC by using
environment variables.
✓ RUBY_GC_MALLOC_LIMIT
✓ RUBY_HEAP_MIN_SLOTS
✓ RUBY_FREE_MIN
✓ Since Ruby 1.9.3
7/51
GC FAQ Powered by Rabbit 0.9.3
9. GC tuning params
✓ It's originally and idea from REE.
✓ <URL:http://
www.rubyenterpriseedition.com/
documentation.html#_garbage_collector
_performance_tuning>
✓ Please check this page if you are
interesting.
8/51
GC FAQ Powered by Rabbit 0.9.3
11. REE's Bitmap Marking
✓ It's implemented on Ruby 1.8's
heap structure.
✓ To port it for Ruby 1.9 would be
hard.
✓ And, it would be slow.
10/51
GC FAQ Powered by Rabbit 0.9.3
18. Pains
✓ These algorithms need a write
barrier.
✓ We should insert a write barrier
on the C extension.
✓ This breaks compatibility of the C
extension.
17/51
GC FAQ Powered by Rabbit 0.9.3