Talks
Speakers
Events
Topics
Sign in
Home
Talks
Speakers
Events
Topics
Leaderboard
Use
Analytics
Sign in
Suggest modification to this talk
Title
Description
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
In this talk titled "Ruby JIT Hacking Guide," Takashi Kokubun, a member of the Ruby Infrastructure Team at Shopify, discusses Just-In-Time (JIT) compilation in Ruby. The presentation aims to educate attendees about writing JIT compilers and introduces a new tutorial repository called Ruby Challenge. Key points covered include: - The evolution of JIT compilation in Ruby, starting with the introduction of MJIT in Ruby 2.6 and the more recent Arjit compiler in Ruby 3.3, which is designed for production workloads and is written in Ruby rather than C. - The performance improvements associated with Ruby 3.3, which include a 70-80% performance enhancement over Ruby 3.2. - How to use Arjit for experimental purposes, including building Ruby in a Rust-enabled environment and enabling JIT with the command line flag or an environment variable. - An overview of Ruby's internal workings, focusing on how the stack-based virtual machine compiles Ruby code to machine code, illustrated with examples demonstrating how to read assembly code generated by Ruby. - The process of writing a custom JIT compiler, highlighting the importance of understanding Intel's Software Developers Manual for instruction syntax. - Practical advice and optimization strategies for JIT compilers, including managing method definitions, handling local variables more efficiently, and implementing polymorphic methods for improved performance. Kokubun encourages attendees to participate in writing their own JIT compilers, emphasizing collaborative community efforts to enhance Ruby's performance. The overall message is one of experimentation and contribution, inviting developers to explore the capabilities of JIT in Ruby, thus paving the way for future improvements in Ruby programming. The key takeaway is the potential for creating faster Ruby environments through tailored JIT compilers, enhancing performance without competing against existing implementations. The session ends with a call to the community to engage in discussions about optimizing Ruby, ultimately benefiting the broader Ruby ecosystem.
Suggest modifications
Cancel