HackerNews

Rubyを機械語にコンパイルする

Compiling Ruby to machine language

https://patshaughnessy.net/2025/11/17/compiling-ruby-to-machine-language


この記事では、Rubyの最新バージョン(3.x)の新しいエディションに関する内容、特にYJITとZJITについて説明しています。YJITは、プログラムが特定の関数やブロックを呼び出した回数をカウントし、閾値に達すると、そのコードを機械語に変換する仕組みです。これにより、Rubyは元のYARV命令の代わりに機械語を実行します。また、YJITブロックは、YARV命令の順序をグループ化して最適化されたコードを生成するもので、複数のYJITブロックが1つのRuby関数やブロックに対応します。ZJITは、次世代のJITコンパイラとしての機能を持ち、Rubyの実行性能をさらなる向上を目指しています。記事は、技術的な詳細や実験結果を交えつつ、Rubyの実行環境の進化を紹介しています。