JITとXML実装の果てしなき戦い by Hiroya Fujinami

YAPC::Hakodate 2024
トーク (20分)

JITとXML実装の果てしなき戦い

make_now_just Hiroya Fujinami make_now_just
2

Rubyはバージョン3.2以降YJITと呼ばれるJIT実装が追加されています。
YJITはRubyのJIT実装としては完成度が高く、実際のプログラムも高速化でき、数%〜数十%の高速化につながります。

発表者はRubyコミッターであり、RubyのXML実装の1つであるREXMLにコントリビュートしています。
REXMLは全体がRubyで書かれているため、YJITで大いに高速化されます。
これは、他のXML実装であるNokogiriがC拡張で、YJITの恩恵をあまり受けられないのとは対照的です。
しかし、REXMLへの修正によっては、YJITを有効にしても高速にならないことや、遅くなってしまうこともありました。

この発表では、RubyのJITの仕組みや、JITのために望ましいコードの書き方など、JITという未来の技術を活かすための知識をみなさんに伝えたいと思います。