びっくりしました。

:innocent:チームのチームメイトはKMCの同期の @utgwkk くんと先輩の @yu3mars さんでした。お疲れ様でした。

やったことは,

  1. GET /が遅くてSCOREが0
    • とりあえずhtmlifyの無駄を関数をくくりだして呼び出しを減らす。
    • すべてのカラムを使っていないSelect *を削減。
  2. POST /starが遅くてSCOREが0
    • データベースを直接問い合わせる。疎結合なにそれおいしいの。
  3. 静的ファイルのキャッシュ
    • utgwくんが調べてやってくれた。
  4. GET /keyword/が遅い
    • 難敵。utgwくんのProfileによるとここが他の100倍ぐらいの律速。
      • 原因は動的生成される長大な正規表現gsub。
    • 自分で実装書き換えるのは試したけど厳しかった。
      • 頭が冷えていれば, まずテストケースを作るところからやるべき。
      • だけどそんな筋力がない。アホコラは競プロでお願いします。
    • 終了一時間前に
pattern = pattern.select{|pat| contents.include?(pat) }  
  • みたいなことを書いた以外もとの実装のままで最終SCOREの19610点
    • yu3のアイデア。さすが。

僕は初っ端にKのキートップが外れたので, vimが使えませんでした。 そのため, コード読みながらutgwくんに色々言っていました。 今回殆どの準備をutgwくんがやってくれたので彼を祭り上げたいです。

utgwくんのブログ → ISUCON6 に出て予選で打ちのめされてきた #isucon

キャッシュの知識がなかったので, 問題点に全力投資ができたことが救いだったらしいです。 本番はせっかくなのでもっと勉強してから挑戦します。 KMCでISUCON勉強会やりましょう。というかKMCONやりましょう。