Vladimir Makarov

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 at 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.

Vladimir Makarov's contributions

Vulnerability analysis of Golang applications and more with Red Hat CodeReady Dependency Analytics v0.3.2
Article

Register allocation in the Go compiler

Vladimir Makarov

Dive into register allocation in the Go compiler, including the register allocator's components, how it works, and its advantages and disadvantages.

Featured image for: Mostly harmless: An account of pseudo-normal floating point numbers.
Article

An MIR-based JIT prototype for Ruby

Vladimir Makarov

Get insights for improving JIT (just-in-time) compiler performance for Ruby based on a GCC engineer's experience developing an MIR-based JIT prototype.

Featured image for: Mostly harmless: An account of pseudo-normal floating point numbers.
Article

How I developed a faster Ruby interpreter

Vladimir Makarov

Learn about 8 optimization techniques for a faster interpreter in Ruby which I developed using a dynamically specialized internal representation (IR).

ossible future development directions for the MIR project.
Article

MIR: A lightweight JIT compiler project

Vladimir Makarov

Take an in-depth look at the MIR lightweight JIT compiler project's goals and state of development, such as the addition of support for CRuby.

Ruby logo
Article

Register Transfer Language for CRuby

Vladimir Makarov

This post shows the advantages and disadvantages of using register transfer language (RTL) for CRuby, and it compares the performance of RTL CRuby with that of trunk CRuby.

Ruby logo
Article

Towards The Ruby 3x3 Performance Goal

Vladimir Makarov

This blog post is about my work to improve CRuby performance by introducing new virtual machine instructions and a JIT. It is loosely based on my presentation at RubyKaigi 2017 in Hiroshima, Japan. Version 3 of Ruby should be 3 times faster than version 2.