Rust のパフォーマンス計測シリーズ

Rust のプログラムを高速化したいと思い、パフォーマンス計測ツールを色々試した。

perf

Rust 専用ではなく、汎用のパフォーマンス計測ツール。perf record でプログラムを実行すると perf.data なるファイル生成され、これを perf report などで見る。perf の出力結果を可視化するGUIツールとして hotspotFirefox Profiler などもある。

flame

GitHub - llogiq/flame: An intrusive flamegraph profiling tool for rust.

コード内に仕込んでおくといい感じに時間を計測し、結果を flamegraph などに出力することができる。また、結果をブラウザ上で可視化する speedscope などもある。内部では static なコレクションの読み書きをしまくるので、計測自体のオーバーヘッドが結構ある。

speedscope