Writing Fast Rubyというスライドが良い

Pocket

ちょっとしたコードの書き方でパフォーマンスが変わることがあります。リーダビリティを重視する向きからすれば小手先のテクニックに映るかも知れないのですが、リーダビリティを維持しながらちゃんとしたパフォーマンスを出すためにも、テクニックを知ることは大事なことだと思うのです。

結構違うもんですなー

というわけで、そんなテクニックをまとめたスライドがWriting Fast Ruby。見ていて参考になったのでメモ。

たとえば引数に&blockをとってcallするよりも、yieldの方が5倍速い、とか、

mapにブロックを渡すよりも、シンボルを渡す方が20%速い、とか

mapしてからflattenを呼び出すよりも、flat_mapを使ったほうが4.5倍速い、とか

Hash#mergeよりも、Hash#merge!の方が3倍速い、とか

そういう例がいくつも載っているのです。思うに、Rubyはインスタンスを作るコストが大きいのかな。塵も積もれば山となるって感じですね。ぜひご参考に。