
32
3 章 性能を測定する
3.2.2
ベースライン性能を測定し目標を立てる
一人で作業している開発者の場合には、最適化プロセスは適当でよく、性能が「十分だと感じら
れる」まで繰り返せばよい。しかし、チームで作業している開発者の場合には、満足させねばなら
ないマネージャや関係者がいる。最適化作業は、最適化をする前の性能のベースライン測定と性能
目標という
2
つの数字によってガイドされる。ベースライン性能測定は、個別の改善の成功を測
るためだけではなく、最適化作業のコストを関係者に納得させるためにも重要なのだ。
最適化は収穫逓減プロセス(収穫がだんだん減ってゆくプロセス)だから、性能目標が大切だ。
最初は、「すぐ手に取れる果実」がある。素朴なコードの関数などは最適化すると大幅に改善でき
る。しかし、そのような簡単に最適化できる対象を改善した後は、次の最適化の局面ではもっと多
くの作業が必要になる。
多くのチームは、単にそうすることに慣れていないというだけの理由で、最初に、性能や応答性
の目標を立てようと考えない。幸い、惨めな性能は気付きやすい(反応に長くかかるユーザインタ
フェース、スケールアップしないサーバ、
CPU
時間の過大なホスティングコストなど)。チームで
性能を検討すれば、性能目標は簡単に設定できる。ユーザエクスペリエンス(
UX
)設計の原則の
一部は、ユーザが待つ時間をどう感じているかに基づいている。次に、よく使われる性能測定項目
と、それに加えて危機感を覚える
UX
指標とを挙げる。
起動時間
エンターキーを押してからプログラムが入力処理ループに入るまでの経過時間。開発者は、常 ...