There are many ways to improve performance of a serious program like CRuby. This presentation is an illustration of this on three different size projects.
One project is pretty small. It is to introduce a **new CRuby internal representation of IEEE 754 double precision numbers** to improve CRuby floating point performance. The second one is a medium-size **project to generate RTL from YARV instructions** and to use RTL for the interpretation and JIT compilation. And the third one is a very ambitious project to create a **light-weight JIT** which can be used together with MJIT as a tier 1 JIT compiler or as a single JIT for mruby.
RubyKaigi 2018 https://rubykaigi.org/2018/presentations/vnmakarov
RubyKaigi 2018