2025-08-30: RubyKaigi 2025 follow upイベントだった
やったこと
RubyKaigi 2025 follow up
発表してきた。
発表スライドは以下の通り。
前日に気合いで作った。
https://speakerdeck.com/makenowjust/recent-my-study-and-ruby-contributions
時間を5分に収められなくて申し訳なかった。
5分収まるわけないだろ。
来年からは15分枠にするようにします。
KiriMochiという名前が刺さったみたいで良かった。
発表前後の暇な時間はKiriMochiを色々なRuby実装で動かしてみていた。
TruffleRubyがやけに遅いと思ったけれど、見ていたのがCPU時間で、なんか謎に5コアぶん動いているっぽく、5倍の時間が表示されているだけだった。
それでも非JITのRubyとそんなに速度が変わらないのは意外かもしれない。
あと、ささださんから聞いたのだけど、多重代入はブロックの末尾にあるとき、戻り値のために配列のアロケーションが起こるらしい。
つまり、次の2つは実行速度の点で後者が有利、らしい。
1000_000.times do
a, b = 1, 2
end
1000_000.times do
a, b = 1, 2
nil
end
あと、YJITだとアロケーションの無い多重代入は中間変数を使った場合と同様の最適化がされるっぽくて、パフォーマンスがほぼ同じだった。
この辺りは後でちゃんとまとめたい。