Rust のパフォーマンス計測シリーズ
Rust のプログラムを高速化したいと思い、パフォーマンス計測ツールを色々試した。
perf
Rust 専用ではなく、汎用のパフォーマンス計測ツール。perf record でプログラムを実行すると perf.data なるファイル生成され、これを perf report などで見る。perf の出力結果を可視化するGUIツールとして hotspot や Firefox Profiler などもある。
flame
GitHub - llogiq/flame: An intrusive flamegraph profiling tool for rust.
コード内に仕込んでおくといい感じに時間を計測し、結果を flamegraph などに出力することができる。また、結果をブラウザ上で可視化する speedscope などもある。内部では static なコレクションの読み書きをしまくるので、計測自体のオーバーヘッドが結構ある。