プロファイル駆動開発(Profile-Driven Development: PDD)とは、最初にプロファイル用のテストコードを書き、テストコードが動くように実装した後、プロファイル結果が良くなるまで最適化を行う開発手法で、一般的なワードではありませんが、この手法で開発したところ良い結果を得ることができたので紹介させていただきます。
このPDDには、実装中はラピッドイテレーションによる高い生産性があり、実装後は継続的プロファイルによりパフォーマンスが保守される特徴があります。この高い生産性と保守性が、コア部分での開発では非常に重要です。
今回は弊社で実践しているPDDの中から、クラスやメソッドなどのユニットレベルでプロファイルする手法を、実践した数学系ライブラリの事例と一緒に紹介します。
講演者プロフィール
坂爪 武
トライエース一筋17年。
研究開発部で社内ゲームエンジンの開発を約15年続けている。主にネットワーク系全般、システムコア部分、CIなどを担当しているが、特定の分野にとらわれず、様々なジャンルに飛び込むのが大好き。
《講演者からのメッセージ》
プロファイル駆動開発という手法を紹介させていただきます。
高速かつ高品質が要求されるコア部分にはピッタリの手法で、優秀なOSSに勝とうと努力していたらいつの間にかこの手法に辿り着きました。今回は数学系ライブラリの開発を事例として紹介しますが、さまざまなジャンルで取り入れることができる開発手法です。幅広くいろいろな方にご紹介できればと思ってます。