ISUCON14に、チーム洋風海老名コミックとして参加しました。最終スコアは21471。
今年は初挑戦の id:deflis55 id:nakataki と一緒に、自分としては初挑戦の Node.js 実装で。インフラ担当だったんですが、途中でやることなくなったのでペアプロデバッグなどやってる時間の方が長かった気がします。
今回は遅いところを順に倒せばいいって問題じゃなくて、ユーザーの評判を気にしながら上げていくって感じでした。スコアを上げるために単純に遅いところを見ていくんじゃない感じがすごく面白かったです。問題作成大変そうですが、おつかれさまでした。
具体的なスコアはこんな感じ。綺麗にスコア履歴が3フェーズあって面白い。
- 初動はまず計測したりしつつ、椅子のマッチングを改善。id:nakataki が最初にデータを眺めて都市と椅子の位置を見てくれたのが本当によかった。苦戦しつつも昼休み明けに終わり、一気にスコアが上がる。
- まだまだ時間に対する不満が高いので、DBボトルネックを解消するため重いクエリの原因になってる総走行距離情報を椅子に持たせつつDBサーバー分割したりなど。スコアが上がると決済リクエストのエラーが目立ったり、この辺は結構しんどかった。仕様読むの大事ね。
- そこまでやっても椅子が来るまでの時間の不満がまだまだ高いので、速度を考慮したアルゴリズムにしたり、
id:deflis55 が実装をリードしてくれたし、 id:nakataki がデータを見たりアルゴリズムを考えてくれたりと結構バランスいい動きがとれた気がします。
おつかれさまでした。向き合って作業するの最近やらないけどいいですね。割とちゃんとスコアは出たけど、このメンバーならもうちょっと頑張れたなーと悔しいところ。来年また出直します。
リポジトリはこちらです。
github.com
問題面白かったし、ベンチマークも最後まで快適でよかったです。運営の皆様、大変だと思いますがありがとうございました。