時計を壊せ

駆け出してからそこそこ経ったWebプログラマーの雑記

YAPC::Tokyo 2019で「ISUCON8予選問題の裏側」について話します

こんな感じのトークをします:

ISUCONとはIikanjini Speed Up CONtestの略で、アプリケーションからOSレイヤまでなんでもありのWebアプリケーションの総合的な高速化スキルを競うコンテストです。2018年で第8回目の開催となり、参加者数は1000人を超えます。本年度の出題はDeNAとカヤックでした。僕はDeNAのエンジニアの一人としてISUCON8予選の問題作成に携わりました。

ISUCONの問題の提供のためには、参照実装(具体的な問題)の作成、ベンチマーカーの作成、競技を成立させるための最低限の制約であるそしてそれが十分に高速化できることを示すための模範解答の作成が必要です。ISUCON8の予選問題はPerlで最初に参照実装が作成されました。そして、模範解答も実はPerlで作成されています。そして、その参照実装が各言語へ移植されて競技で各言語ごとに様々なチューニングが行われました。

その過程で様々な学びを得ました。たとえば、ISUCONのような競技で気を遣うべきポイントはなにか、どのようにして問題を考えていくと良いのか、どのようにしてブラックボックスとなっているアプリケーションが仕様を満たしているかをテストするとよいのか。極限までチューニングする上でどのようにプロファイリングするとよいのか。他言語移植においてどのようなポイントで問題が起きるのか。などといったものです。

このセッションではISUCON8予選問題の作問の過程から、どのような学びを得たかについて語ります。

あんまりPerlっぽいことは出てこないのでPerl詳しくなくても聞きやすいと思います。 ぜひ聞きに来てください!

個人的注目トークです:

blog.yapcjapan.org

公式見どころ情報です:

blog.yapcjapan.org

明日までにチケットを買えば自由なサイズのTシャツが購入できます。 気になってきた方はこれを見てどうぞ:

blog.yapcjapan.org