wassup?

新ブログ→memo.wass80.xyz

ISUCON6本戦を復習して勉強する

(過去のblogから移動しました 元公開日時 2016-10-24 13:08:12)

ISUCON6お疲れ様でした。とても楽しかったです。

:innocent:チームは順位表で😇と表示されていました。 これは運営の方がわざわざ実装をしてくださったらしいです。 絵文字のチームが増えると 🍣と🍺問題 http://blog.kamipo.net/entry/2015/03/23/093052 が起こりうるのでやめましょう。 競技中のポータルサイトの右上に現れる"Hello, 😇"は面白かったです。 ぜひこの絵文字を結果発表で前に大きく出したかった。

:innocent:チームは与えられた実装よりスコアを下げてしまいました。 全くもって付け焼き刃が通らないという様子で作問者の思惑通りに手のひらの上で転がされた感じになりました。チームの3人の知識を合わせて0.01人の量に満たないことがわかったので, これから勉強していきたいと思います。

docker上で実行されているrackアプリにrack-lineprofileを仕込むという戦略を最初に予定していたのですが, 実行したところ一切のログが残らず混乱をしてしまいました。プロファイルを取る方法を失い, nodeでのボトルネック具合もよくわからないので, 問題点を追求できなかったです。 その場合でもCPU時間を参考にすればよかったです。

今回はチーム内での分担も行うことが出来ず, 問題に取り組む効率が最悪だったと思います。 全体の構成図を最初に書いておけば方針の決定に役立ったと思いました。 本番中はreactやらSSEやらSSLやらでかなり打ちのめされていました‥。

やることがたくさんあるとてもいい問題だったので, KMC内で本戦に出ていないチームともう一度解き直す会を行いたいです。

チームメイトutgwの様子 http://utgwkk.hateblo.jp/entry/2016/10/23/233114

ISUCON6予選学生枠通過しました

(過去のblogから移動しました 元公開日時2016-09-18 14:23:20)

びっくりしました。

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

やったことは,

  1. GET /が遅くてSCOREが0

  2. とりあえずhtmlifyの無駄を関数をくくりだして呼び出しを減らす。

  3. すべてのカラムを使っていないSelect *を削減。

  4. POST /starが遅くてSCOREが0

  5. データベースを直接問い合わせる。疎結合なにそれおいしいの。

  6. 静的ファイルのキャッシュ

  7. utgwくんが調べてやってくれた。

  8. GET /keyword/が遅い

  9. 難敵。utgwくんのProfileによるとここが他の100倍ぐらいの律速

  10. 原因は動的生成される長大な正規表現gsub。

  11. 自分で実装書き換えるのは試したけど厳しかった。

  12. 頭が冷えていれば, まずテストケースを作るところからやるべき。

    • だけどそんな筋力がない。アホコラは競プロでお願いします。
  13. 終了一時間前に

pattern = pattern.select{|pat| contents.include?(pat) }

  • みたいなことを書いた以外もとの実装のままで最終SCOREの19610点
  • yu3のアイデア。さすが。

僕は初っ端にKのキートップが外れたので, vimが使えませんでした。 そのため, コード読みながらutgwくんに色々言っていました。 今回殆どの準備をutgwくんがやってくれたので彼を祭り上げたい https://www.amazon.co.jp/wishlist/3JZEEE505CI87/ref=cm_sw_r_tw_wlp_HiglL.41T49YJ です。

utgwくんのブログ → ISUCON6 に出て予選で打ちのめされてきた #isucon http://utgwkk.hateblo.jp/entry/2016/09/18/182304

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