私はgprofを調べました。しかし、次のことを達成する方法がよくわかりません。
クラスタリング手順を書きました。各反復では、4 つの関数が繰り返し呼び出されます。約 100000 回の反復が必要です。各機能にどれくらいの時間が費やされたかを知りたい。
これらの関数は他のサブ関数を呼び出す可能性があり、ハッシュマップ、マップなどのデータ構造が含まれる場合がありますが、これらのサブ関数は気にしません。すべての反復でこれらすべての親関数に費やされた合計時間を知りたいだけです。これにより、プログラムをより適切に最適化できます。
gprof の問題は、すべての関数を分析することです。そのため、stl データ構造の機能も考慮されます。
現在、clock_gettime を使用しています。関数ごとに、各反復にかかった時間を出力します。次に、この出力ファイルを操作します。このために、多くのプロファイリング コードを入力する必要があります。プロファイリング コードにより、コードが非常に複雑に見えるので、それを避けたいと考えています。これは業界でどのように行われますか?
これを行う簡単な方法はありますか?
他にきれいな方法があれば教えてください