「推測するな、計測せよ」パフォーマンスの話題でよく耳にするフレーズですが、その実践は意外なほど難しいものです。
ひとくちに「計測」といっても、何を計測するかを判断し、得られた計測値を解釈するとき、開発者の技量は大いに試されます。
数ある「計測」ツールの中でもひときわ強力なのが、perfやpprofに代表される「プロファイラ」。
プログラムの関数単位で呼び出し回数や実行時間を集計し、flamegraphなどのビジュアライズを出力できます。
しかし、使いこなすためには少々の知識が必要です。
Rubyプロファイラ開発者として、一人のプロファイラおたくとしてこれらの疑問に答え、良き「計測」をする方法、そして理想のプロファイラについてお話しします。合言葉は「全部知る」!