日常

ケ・セラ・セラ

沖縄 RubyKaigi 02 で Ruby の速いコードについて話してきました #okrk02

3/9 の 14:30 頃沖縄に着き、 3/11 の 19:15 の便で帰ってきました。沖縄、大変よかった。

ruby.okinawa

speakerdeck.com

話したこと

Ruby で速いコードを書く時に考えることを中心に、ベンチマーカーである benchmark_driver が良いという紹介と、ベンチマーク結果を元に、何故実行速度に差がでるのか、その追い方について話してきました。

benchmark_driver の好きな部分は大きくは 2 つあって、以下のものです。その他にも benchmark-ips と比較して改善ポイントがあるので、気になる方は READMEk0kubun さんの記事 を見てみると良いと思います。

  • 複数の指定した処理系の比較結果を得ることができる (x.rbenv '2.4.3', '2.5.0' のように)
  • 結果の出力形式を指定することができる(:markdown, :memory とか)

github.com

舞台裏的なはなし

難しかったのは、どこに焦点を合わせた内容にするかというところで、発表内容を考える時に悩みました。安定したベンチマークを取るための実行環境の話なども用意していたのですが、そこはバッサリと削りました。 また、一つ一つの Ruby の実装を詳細に追っていくよりも、よくある (と思っている) 数パターンの見方を説明した方が、そこから興味のある方は潜っていけるだろう。と、実はそういう選択をしていました。

今回、発表資料に自分で撮った首里城の写真を入れたいなという、謎のこだわりがあったのですが、スライド2枚目の首里城の画像は実際には発表後の 3/11 に行って撮ったものです。ちょうど人が映らない一瞬の隙を突いて撮れた会心の一枚です。 では発表時点ではどうしていたかというと、hsbt さんの日記に良い写真があることを知っていたので、一時的にお借りしたのでした。という裏話があったりします。

www.hsbt.org

お疲れ様でした。ありがとうございました。

沖縄 Ruby 会議 02 が開催されたことで、これまで会ったことのなかった Rubyist と色々な話をすることができました。特に、そんなことできるの...!!?? みたいな驚きのあるコードが次から次へと出てくる okinawarb の方々を知ることが出来たのは衝撃でした。

運営に携わった方々をはじめ、みなさんありがとうございました。沖縄 Ruby 会議 03 にはまた参加したいですね。