Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Рэмбовидная проблема: особенности развития открытых технологий

Рэмбовидная проблема: особенности развития открытых технологий

Minsk, Rubizza, February 2018

Aliaksandr Lomau

February 28, 2018
Tweet

More Decks by Aliaksandr Lomau

Other Decks in Technology

Transcript

  1. deoptimization branch by Shyohei Urabe •contains first naive implementation of

    JIT •used very few of JIT optimizations, but uses less memory than full-power JIT implementation •submitted at 26 Aug 2016 Reference URL: https://github.com/ruby/ruby/pull/1419
  2. deoptimization branch by Shyohei Urabe •contains first naive implementation of

    JIT •used very few of JIT optimizations, but uses less memory than full-power JIT implementation •submitted at 26 Aug 2016 •not merged (and will not be) Reference URL: https://github.com/ruby/ruby/pull/1419
  3. MJIT by Vladimir Makarov Converted YARV to register-based instead of

    stack-based (smaller instructions but larger memory footprint). Built JIT on top of new VM implementation. MJIT can reach 230% performance of Ruby 2.0.0 but is pretty unstable.
  4. MJIT-JARV by Takashi Kokubun Based on Vladimir Makarov’s work, but

    without changing Ruby VM to register-based. Several JIT optimizations were turned off. These reverted changes made JIT slower but more stable. Reference PR: https://github.com/ruby/ruby/pull/1782 Reference ticket: https://bugs.ruby-lang.org/issues/14235 Partially merged in trunk Able to run Rails stably.