Vladimir Makarov is a software developer. His major interests lay in algorithms, programming languages, compilers and JITs. Vladimir finished Moscow Institute of Physics and Technology and got his PhD in computer science in Russian Academy of Sciences. Last 20 years he has been working on GCC in RedHat. Vladimir started his work on Ruby MRI in 2015. His MRI projects are new hash tables and ongoing implementation of new VM instructions and MJIT. Vladimir lives in Toronto, Canada.
Three Ruby performance projects
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.