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

introduce Ruby JIT -- the force awakens

introduce Ruby JIT -- the force awakens

Shanghai RubyTuesday

Avatar for Jason Hou

Jason Hou

March 24, 2018

More Decks by Jason Hou

Other Decks in Programming

Transcript

  1. MRI

  2. 栈式 VS 寄存器器式 对⽐比 指令条数 栈式 > 寄存器器式 代码尺⼨寸 栈式

    < 寄存器器式 移植性 栈式优于寄存器器式 指令优化 栈式更更不不易易优化 解释器器执⾏行行速度 栈式解释器器速度稍慢 代码⽣生成难度 栈式简单 简易易实现中的数据移动次数 栈式移动次数多
  3. MJIT MRI VM Thread worker thread MJIT JIT worker worker

    thread worker thread 预编译头 C 代码 动态链接库 header building execution
  4. Optcarrot fps FPS 0 22.5 45 67.5 90 v2.0 base(v2.5)

    rtl mjit mjit-cl 85.43 82.06 35.75 39.71 29.02 Intel 3.9GHz i3-7100 with 32GB memory under x86-64 Fedora Core25 1.0x 1.37x 1.23x 2.83x 2.94x
  5. Optcarrot fps FPS 0 15 30 45 60 v2.0 v2.6

    v2.6 jit off v2.6 jit on 58.88 51.31 51.46 37.32 1.00x 1.38x 1.37x 1.58x Intel 4.0GHz i7-4790K with 16GB memory under x86-64 Ubuntu 8 Cores