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/headius_enebo JRuby 9000 is here! After years of work, JRuby now supports Ruby 2.2 and ships with a redesigned optimizing runtime. The first update release improved performance and compatibility, and we've only just begun. In this talk we'll show you where we stand today and cover upcoming work that will keep JRuby moving forward: profiling, inlining, unboxing...oh my!
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
# Upcoming Improvements to JRuby 9000 This video presents a talk by Thomas E Enebo and Charles Nutter at RubyKaigi 2015 about the latest enhancements in JRuby 9000, a Ruby implementation on the Java platform designed to maintain compatibility with CRuby while offering unique advantages. ### Key Points Discussed: - **Introduction to JRuby**: - JRuby aims to closely match CRuby but is built on the Java platform. - Key advantages include the absence of the Global Interpreter Lock (GIL), access to native threads, and the ability to use Java libraries seamlessly. - **Current Versions**: - JRuby 9000 supports Ruby 2.2 and includes a new runtime called Internal Representation. - There is also a maintenance release for JRuby 1.7 supporting older Ruby versions. - **Internal Representation**: - This allows JRuby to represent Ruby semantics directly, optimizing performance through various compiler phases, such as semantic analysis and optimization. - **Performance Enhancements**: - **Compiler Optimizations**: Emphasis on compiling blocks alongside methods to improve execution speed. - Benchmarks show that with the enhancements in JRuby 9004, performance aligns more closely with expectations, especially for defined methods in common Ruby code patterns. - **Exception Handling Improvements**: - Optimization of exception handling to decrease the overhead related to producing backtraces, significantly improving performance on libraries like CSV.rb. - **Forthcoming Innovations**: - Future work includes method inlining, numeric specialization to optimize performance, and robust profiling mechanisms to inform optimization strategies. - Collaboration with the OpenJDK team aims to simplify the native interface for calling C libraries directly from Ruby. - Upcoming enhancements like an AOT compiler are planned to improve startup times, a traditionally weak area for JRuby. - **Community Engagement**: - The speakers express gratitude to those supporting JRuby and encourage more contributions, particularly for the new JRuby 2.3 release expected by January. ### Conclusions: - The JRuby team is making significant strides in improving performance, compatibility, and functionality of JRuby 9000, and they encourage users to consider JRuby for its threading capabilities and integration with Java, especially for performance-sensitive applications. - Continuous engagement with the community is vital for future enhancements, and upcoming features promise to further close the performance gap between JRuby and CRuby while maintaining extended capabilities.
Suggest modifications
Cancel