こんにちは、Coincheckの牟田です。
5/15からの3日間、Rubykaigi2024で沖縄に来ています。
この記事ではDay1レポートに続いてレポートしたいと思います!
会場の雰囲気
現地ではこんな感じで非常に賑わっています!
会場・ブース
あじとやのカレー弁当
おやつ
オフィシャルパーティー
海沿いでのバーベキューでした。
自分で焼いていくスタイルで他のRubyistと一緒に焼きながら色々とお話しました。
セッションについて
開幕冒頭のペンさんのセッションに始まり(Day1レポートをご覧ください)、 Ractorやパーサー、NameSpace、Falconなど興味深くも面白いセッションが盛りだくさんでした。
その中でも個人的に気になっていたYJITのセッションを聴いてきたので軽く触れてみたいと思います。
RubyにはRubyとC言語で書かれたコードがあり、C言語はRubyでいじれないところもいじれるし、速いのでパフォーマンスが必要な部分がC言語で書かれています。
ただYJITによってRubyが速くなったことにより、C拡張があるとJITコンパイラの恩恵を得られなくて困るケースが出てくるようになりました。
例えば、C言語だとメモリとか具体に指定する必要がありますが、Rubyだと結果だけあればOKなので最適化の余地が大きく、速くできます。
こういうケース↓
また、protobufのRuby実装であるprotoboeufというものを実装中とのことです。
まだ実験段階だそうですが、デコードに関してはprotobufよりも速いそうです(エンコードでは遅い)
※ちなみにYJITなしでデコードに関してはprotobufよりも速いとのこと。
さらにRuby3.4にてパフォーマンスの向上を既に確認しており、下記のことが期待されるとのことです。
・全面的なパフォーマンス向上
・同等のメモリ使用量
・バイナリI/O最適化のサポート
Ruby3.4がますます楽しみになりましたね!
最後に
残り1日少しとなりましたが、最後までRubykaigi2024を楽しんでいこうと思います!
現地で参加されている方はぜひお話しましょうー
なお、Coincheckでは一緒に働くエンジニアを募集中です!
詳しくは求人ページをご覧ください。
Rubykaigiリキャップイベントも6月4日に開催予定ですので、チェックしてみてください!