表参道rb
テーマ:パフォーマンスチューニング
http://omotesandorb.connpass.com/event/18069/
ActiveRecordを速くしたいだけの人生だった のデモと気持ちの話。
- Railsをバージョンアップをすると重くなる
- Rubyをバージョンアップすると早くなる。Rubyの努力をRailsが食いつぶすw
- ActiveRecordRelationオブジェクトを一つ生成するだけで三桁のメソッドが定義される。辛い。
- 計測する。 benchmark-ips 便利そう。これからこっちにします。
- Railsのコミットを遡ってパフォーマンスをチェックする人力Bisectwww
- Railsの実装をオーバーライドするパッチを読み込んで動作させる、メンテする男気。
- 英語を読む(RailsのPRとか)
大正義
ActiveRecordを最も速度を出す方法です ActiveRecordオブジェクトをインスタンス化しない 単なるクエリビルダとして使う
— ⁰⁰⁰⁰null (@yuroyoro) 2015, 8月 3
to_query して mysql.query に投げてHashをゴニョゴニョする
いろいろなMySql互換の話
- Percona早そう
- Aurora来ました
- 表参道.rbがきっかけで転職成功
細かすぎて伝わらないパフォーマンスTips
- 文字列リテラルは
.freeze
すると有利 - 'str' + 'str' よりも 'str' \ 'str' のほう有利(
str
str
の書き換え) - 定数にして
.freeze
すると有利 - 繰り返しの中でオブジェクトを新しく生成しない
- 明示的に
to_f
呼び出しよりもRubyの勝手な変換に身を任せたほうが微妙に有利