「デバッグ/プロファイリング」の版間の差分
ナビゲーションに移動
検索に移動
Kusanaginoturugi (トーク | 投稿記録) (英語版より新規作成) |
Kusanaginoturugi (トーク | 投稿記録) (→関連項目: add TranslationStatus.) |
||
31行目: | 31行目: | ||
バグをアップストリームに報告する場合は、{{ic|perf.data}} ファイルを提出してください。 |
バグをアップストリームに報告する場合は、{{ic|perf.data}} ファイルを提出してください。 |
||
− | == |
+ | == 参照 == |
* https://perf.wiki.kernel.org |
* https://perf.wiki.kernel.org |
||
* https://www.brendangregg.com/perf.html |
* https://www.brendangregg.com/perf.html |
||
* [[パフォーマンス]] |
* [[パフォーマンス]] |
||
+ | |||
+ | {{TranslationStatus|Debugging/Profiling|2024-08-14|813435}} |
2024年8月14日 (水) 18:50時点における版
パフォーマンスのリグレッション、最適化されていない新機能、または単に不明な要因がパフォーマンスに影響を与える場合、アプリケーションをプロファイルする必要があるかもしれません。Wikipediaによると:
- ソフトウェアエンジニアリングにおいて、プロファイリング(「プログラムプロファイリング」、「ソフトウェアプロファイリング」)は、動的プログラム解析の一種であり、プログラムの空間(メモリ)または時間の複雑さ、特定の命令の使用、または関数呼び出しの頻度と持続時間を測定します。最も一般的には、プロファイリング情報はプログラムの最適化、さらに具体的にはパフォーマンスエンジニアリングに役立ちます。
インストール
デバッグシンボルの取得
解釈可能な結果を得るためには、デバッグするアプリケーションのデバッグシンボルが必須です。手動でのデバッグ情報取得を参照してください。perf はまだ debuginfod をサポートしていないため、デバッグシンボルは手動で取得する必要があります。
デバッグシンボルなしでアプリケーションをプロファイルまたはデバッグしようとすると、実際の関数名の代わりにポインタしか表示されず、ほとんど役に立ちません。
使用方法
gdb と同様に、アプリケーションは perf 内で実行されます。
$ perf record -g -- command
これにより、データが perf.data
に記録されます。プログラムが終了したら、次のコマンドで結果を表示します:
$ perf report --stdio
より見やすい表示を希望する場合は、cargo-flamegraph を使用することを検討してください。
バグをアップストリームに報告する場合は、perf.data
ファイルを提出してください。