プロファイラ開発者と見る「推測するな、計測せよ」 by Daisuke Aritomo (osyoyu)

YAPC::Hakodate 2024
採択
2024/10/05 11:05〜
Track C
トーク (40分)

プロファイラ開発者と見る「推測するな、計測せよ」

osyoyu Daisuke Aritomo (osyoyu) osyoyu
13

「推測するな、計測せよ」パフォーマンスの話題でよく耳にするフレーズですが、その実践は意外なほど難しいものです。
ひとくちに「計測」といっても、何を計測するかを判断し、得られた計測値を解釈するとき、開発者の技量は大いに試されます。

数ある「計測」ツールの中でもひときわ強力なのが、perfやpprofに代表される「プロファイラ」。
プログラムの関数単位で呼び出し回数や実行時間を集計し、flamegraphなどのビジュアライズを出力できます。
しかし、使いこなすためには少々の知識が必要です。

  • そもそも実行時間とは何か?
  • 得られた情報はどれほど「真実」か?
  • プロファイラのオーバーヘッドをどう制御するか?

Rubyプロファイラ開発者として、一人のプロファイラおたくとしてこれらの疑問に答え、良き「計測」をする方法、そして理想のプロファイラについてお話しします。合言葉は「全部知る」!