isucon3反省会に行ってきました。あとLTもしてきました。 #isucon

isucon3反省会に行ってきたのと、Noderとして参戦した時の話を発表資料として残したいと思ったので、発表もしてきました。

僕の話はLTとして話したので上の通りで、この前ブログにも書いたので、そこまで紹介しませんが、isucon3の反省会で得られた教訓についてまとめておきます。

isucon夏期講習資料はisucon参加する人必読

特にモリスさんが話してた、このisuconの夏期講習の話が一番ためになった。


これはisucon参加者は一回必ず目を通しておくべき資料で、isuconにおける心構えと時間配分や気をつけないといけないところを話してた。

「大きな改造はほぼワンチャンス」とか「スコア算出方法をよく読んで何を改善するべきか知る」とかそういう基本的なことなんだけど、できてないことがちゃんと書かれてて、焦ったらここに立ち返るべきだなと思った。

慣れたツールをちゃんと使えるようにするための準備

あとはkazeburoさんがモリスさん達のチームでfailを発生させないために、インストール周りやDB設定周りで失敗しないようにインストールのメモや設定ファイルのメモをwikiに書いてて、本当に素晴らしいと思った。

kazeburo/isucon3qualifier-myhack · GitHub


nginxの413のエラーとかkazeburoさんの設定ファイルでは、最初から回避されてるし、やっぱりこの当たりの細かい気配りというかちゃんと自分たちが使い慣れた設定を使うようにするための工夫が素晴らしくて、聞いてて「あ〜完敗だな、改めて。」という感じ。

画像変換ライブラリをFailさせないように使うとか。

あと、PerlのImagerを使ってアルゴリズムを変更していた、という部分は全部をそれに置き換えるのではなくて、サイズMの画像のcropの時だけそれを行い、あとのサイズSの画像に変換するところなどは外部コマンド呼び出しでそこまでアルゴリズムを変更しなかったということだったので、画像処理ライブラリをごそっと変えるのではなくて、変更できる部分にだけ適用して残りは元のライブラリを使って後はキャッシュすることで稼ぐという戦略はFailを発生させないようにしつつ、効率を稼ぐやり方ですごくうまいと思った。


あとは、Goの@methaneさんの正攻法をやっても面白くない、人と違うことをやりたい、という話はすごくかっこよかった。
Golangもやりたいなー。