社会人10年目、在米6年目。今年は 家を買った Rubyのブランチメンテナになった 子供が日本語のプリスクールも行き始めた という感じの一年だった。 仕事 Ruby 3.4でも引き続きYJITの開発をがんばった。いろいろやったが、予告通りローカル変数へのレジスタ割付をサポートしたのがメインの仕事で、これは今年の前半からリリース直前まで作業が続いた難産であった。 Ruby 3.3ではコンパイル時のメタデータを固定長のstructに保管していたのが、3.4では可変長のバイト列で保存するようになったため、レジスタ割付に使うメタデータも妥協のないものにでき、性能的に妥協のないものが出せた。 一方、YJITは現在のデザインでやれる最適化はかなり出しつくした感があり、Ruby 3.5ではYARV命令やbasic blockの境界を超えた最適化がもっと簡単になるべきだと思う。 Ruby 3.4は、it