ZJIT Performance Improvements and File Optimization

Ruby Core merged 9 pull requests focused heavily on ZJIT compiler optimizations, including support for optional keyword arguments and ARM64 stack improvements. Additional changes include File.basename optimization and syntax parsing fixes.

Duration: PT1M52S

Episode overview

This episode is a short developer briefing from Ruby Core Updates.

It explains recent repository work in plain language.

  • Show: Ruby Core Updates
  • Published: 2026-01-21T11:42:48Z
  • Audio duration: PT1M52S

Transcript excerpt

This excerpt keeps the crawler page concise. Listen to the episode or use the RSS feed for the full update.

Good morning, this is Ruby Core Updates for January 21st, 2026.

Randy Stauner merged ZJIT support for optional keyword arguments in direct send, implementing constant filling for unspecified optional keyword args with static default values. This optimization shows significant improvements in ActiveRecord benchmarks, with over 6 million parameter optimizations converted to faster…

Jeff Zhang merged ARM64 stack optimization changes, adding CPushPair and CPopPair instructions to avoid gaps in the stack when pushing registers. This addresses efficiency issues in the ARM64 backend compilation.

Alan Wu merged cleanup work removing CPushAll and CPopAll instructions from ZJIT, simplifying the codebase by eliminating manual register preservation that's now handled automatically.

Zhang also merged IsA compilation improvements for String, Array, and Hash types, converting these operations into more efficient load and compare instructions rather than method calls.

Jean Boussier merged File.basename optimization work, improving performance by 4-5x through reduced setup costs and single-byte checks for common encodings while maintaining the existing algorithm.

Nearby episodes from Ruby Core Updates

  1. Segfault Fix and Performance Improvements
  2. ZJIT Performance and Documentation Updates
  3. ZJIT Performance Improvements and Documentation Updates
  4. ZJIT Compiler Enhancements and Core Bug Fixes
  5. Performance Optimizations and JIT Improvements
  6. ZJIT Optimizations and Core Stability Fixes
  7. Week of January 06 - January 13, 2026
  8. January 12, 2026