Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
http://rubykaigi.org/2015/presentations/youngrw_CraigLehmann Every language community implements the same core components. Things like garbage collection, just-in-time compilation and threading. Wouldn't it be great if these were shared between languages? An improvement to one language would mean an improvement to all. We’re actually doing it: open sourcing the core components of IBM’s Java Virtual Machine into an open language toolkit. Our first proof of concept language is Ruby. This talk will discuss the process and results of integrating a new garbage collector into Ruby.
Date
Summarized using AI?
If this talk's summary was generated by AI, please check this box. A "Summarized using AI" badge will be displayed in the summary tab to indicate that the summary was generated using AI.
Show "Summarized using AI" badge on summary page
Summary
Markdown supported
The video titled "It's dangerous to GC alone. Take this!" presented at RubyKaigi 2015 by Robert Young and Craig Lehmann discusses the integration of IBM's Open Multi-language Runtime (OMR) garbage collection (GC) framework into Ruby. The talk outlines how OMR is a pivotal open-source toolkit for language runtime development, derived from IBM's J9 Java Virtual Machine, designed to enhance the performance of various programming languages through shared core components. Key points discussed include: - **Introduction to OMR**: OMR serves as a shared backbone, making it possible for various language runtimes to benefit from improvements made in one language. It currently supports Ruby in a proof-of-concept integration. - **Garbage Collection in Ruby**: The presenters delve into the inner workings of Ruby's garbage collection, specifically in MRI (Matz's Ruby Interpreter), highlighting its incremental GC strategy aimed to manage memory more effectively. - **Integration Process**: Young and Lehmann described their approach to integrating OMR's GC into Ruby, which involved understanding Ruby's internals and modifying the existing GC mechanisms to allow for a more efficient mark-sweep process. They emphasized maintaining full compatibility with Ruby’s C extension API. - **Achievements**: They discussed the successful transition to a parallel mark-sweep GC in Ruby, utilizing OMR's advanced features to optimize performance significantly. The integration included developing tools like the Garbage Collection Memory Visualizer and Health Center to monitor and improve GC performance. - **Focus on Performance**: By addressing object allocations and heap management, they improved mutator performance—reducing GC overhead from eight percent to three percent, demonstrating a notable enhancement in Ruby on Rails performance tests. - **Future Directions**: The speakers hinted at future experiments, such as implementing a non-copying generational GC, with aims to further optimize performance and reduce memory fragmentation issues in long-running Ruby processes. They also expressed their intent to continue collaborating with the Ruby community for feedback and contributions to C Ruby. - **Call to Action**: The session concludes with a call for community engagement, mentioning an upcoming technology preview that incorporates the discussed advancements and a desire to open-source their OMR work. In summary, the presenters outline the systematic approach taken to integrate OMR's garbage collection into Ruby, resulting in enhanced performance and robust tools for developers, while looking forward to further improvements and collaborations with the Ruby community.
Suggest modifications
Cancel