タグ

2023年4月7日のブックマーク (1件)

  • RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog

    僕はRustRubyのJITを書く仕事をしているのだが、去年の12月くらいから、趣味ではRubyRubyのJITを書いている。 それまではC言語でコード生成を行なうMJITを5年くらいメンテしていたのだが、先月、Rubyで機械語を直接アセンブルするRJITに差し替えた。 github.com なので、今Rubyのmasterブランチには、会社で業務として開発しているRust製のYJITと、僕が趣味で開発しているRuby製のRJITの2つのJITコンパイラが存在している。余談だが、JITの開発をしすぎてRubyの作者であるまつもとさんのコミット数を最近抜いた。 なぜMJITをやめたのか MJITも結構がんばっていて、去年開発していたRuby 3.2ではMJITのコンパイラの実装をCからRubyにフルスクラッチした上、バックグラウンド処理をpthreadからfork + SIGCHLDで行

    RJIT: RubyでRubyのJITコンパイラを書いた - k0kubun's blog
    fujihiro0
    fujihiro0 2023/04/07
    "MJITはこれらのベンチマークでは多くの場合インタプリタより遅いという状態だった" MJIT 登場時は早かったはずなので、interpreter が高速化されたことで MJIT の方がが遅くなったってことかな?