Paul Krill
Editor at Large

Ruby 3.3.0 nears release with new parser

news
Dec 12, 20232 mins

Ruby language upgrade with Prism parser, Lrama parser generator, and experimental Ruby JIT compiler is available in a release candidate.

yellow brick road ruby slippers not in kansas any more wizard of oz
Credit: Getty Images

Ruby 3.3.0, a planned update to the popular dynamic language that features a new parser, has reached the release candidate stage.

RC1 of Ruby 3.3.0 was announced December 11. It can be accessed from ruby-lang.org.

Featured is the Prism parser as a default gem. Prism is billed as a portable, error-tolerant, maintainable, recursive-descent parser for the Ruby language. A C library, Prism can be used in place of Ripper.

Also featured in Ruby 3.3.0 is the Lrama LALR parser generator, which is intended to provide an error-tolerant parser for CRuby with minimal changes to the CRuby parse.y file. Other highlights of Ruby 3.3.0 include:

  • The pure-Ruby RJIT Ruby JIT compiler replaces MJIT. RJIT is currently experimental; YJIT should be used in production.
  • YJIT receives major performance improvements over Ruby 3.2. Memory usage also has been improved in YJIT.
  • The M:N thread scheduler is introduced.
  • For performance, defined?(@ivar) is optimized with Object Shapes.
  • Garbage collector performance has been improved.
  • Most core classes now use Variable Width Allocation, notably Hash, Time, Thread::Backtrace, Thread::Backtrace::Location, File::Stat, and Method. This makes these classes faster to allocate and to free, and reduces memory use and heap fragmentation.

After the release of RC1, Ruby’s builders will avoid introducing ABI (application binary interface) incompatibilities wherever possible. Predecessor Ruby 3.2.2, featuring security fixes, was released March 30.

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author