Member-only story

💎 Ruby 3.3.0 And Rounding To Even That Rounds To Odd Part 1

Tom Smykowski
5 min readJun 27, 2023

--

I was browsing today through changelogs of major programming lamguages, frameworks and libraries, as I usually do.

So far I’ve learned there is nothing new in some. Eventually I stumbled upon Ruby changelogs.

In May a preview of Ruby 3.3.0 was released with some performance improvements.

Thw documentation is pretty scarse though:

  • YJIT
  • Significant performance improvements over 3.2
  • Splat and rest arguments support has been improved.
  • Registers are allocated for stack operations of the virtual machine.
  • More calls with optional arguments are compiled.
  • Integer#!=, String#!=, Kernel#block_given?, Kernel#is_a?, Kernel#instance_of?, Module#=== are specially optimized.
  • Instance variables no longer exit to the interpreter with megamorphic Object Shapes.
  • Metadata for compiled code uses a lot less memory.
  • Improved code generation on ARM64

There is lack of links or details of these so I headed to commit history and stumbled upon something interesting that was done in December 2022.

--

--

Tom Smykowski
Tom Smykowski

Written by Tom Smykowski

🚀 Senior/Lead Frontend Engineer | Angular · Vue.js · React | Design Systems, UI/UX | Looking for a new project! 📩 contact@tomasz-smykowski.com

Responses (1)