最終スコア 2335 で本戦出場です。スコアそのものは不完全燃焼感が否めないけどクッソ嬉しい。
レポジトリはこれ。チーム名は「ヌルポインターマリアユニバース」*1、メンバーは漏れと id:wtatsuru
id:Pasta-K。やったことはこの repo みてくれ (master ブランチの内容がスコアのあれです)
チームメンバーのエントリはこれら:
ビール2L飲んだけど記憶が生きてるうちの個人的反省箇条書き:
- なぞって検索のN+1を完全に2クエリ (O(1)) にできたのはよかった
- 17時くらいに疲れてすこしダレてしまった
- 疲れたのはしゃあない
- 全体的にログや fixture のデータ数を眺めた上での優先度判断ができた (俺が) のはよかった
- LIKE 検索してるやつそんなないっすねという話
- 初期データ 30000 件もないっすねという話
- MySQL の設定素朴すぎるのに気づけたのは良かった
- クエリキャッシュ有効化できた
id:wtatsuru さんにスレーブ立てたりしてもらったけど、スレーブでクエリキャッシュ有効化や InnoDB buffer pool 拡大してなくないすか?? っていうのに終了 30 分前くらいに気づけたのもよかった
- この気づきで 100 点以上稼いでいる
- クエリキャッシュ有効化できた
- 反省点
- 作業タイムの 15 分スプリント、そこそこ機能した気がするけど途中でダレてしまった
#isucon で15分おきのスプリントやってて結構良かった。「この15分ではこれをやりました。次のスプリントではこれをやります」と進捗共有する https://t.co/A2DwnThTIl
— マジカルペンネくん🍝 (@pastak) September 12, 2020- 自分が根詰まると根詰まってしまう (はい)
id:wtatsuru さんに下回り的なタスクはだいたい丸投げできることは最初から自明だった *2 と思うけど、まあ実際そこに乗っかることでワークした面はあったと思う
- お前が MySQL のレプリ組めや!! ってなっていたとしたら MySQL レプリケーション やり方 でググるところからスタートだったと思う……
- 継続的に会話できたことで、やればどう考えてもスコアが上がる (けどその実装をシュッとやるには手慣れが必要) 担当 (
id:wtatsuru) + 飛び道具で優勝狙い担当 (漏れ +
id:Pasta-K)、をちゃんと配分しつつやっていけたのはよかった
- ログをぼーっと眺めて傾向をエスパーするテクニックは役に立った
- features で LIKE が発生してるのは気になるけど、そんなにリクエストされてないので後回しでよくないですか、みたいな
いろいろ話題はあるけどパッと思い出せるのはこれくらいです、随時追記はしそう
*1:サークル名ジェネレータ http://www.doujinbu.com/cng/ を適当に回していて、ヌルポインター、しかもマリア (→ MariaDB への連想) というポイントで即決
*2:なぜならプロだから