問題タブ [gprof]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
629 参照

c++ - gprof でテンプレート化されたメソッドのコール グラフを表示するパラメータの形式は?

gprof を使用してテンプレート化されたクラスのメソッドの関数呼び出しグラフを表示するコマンド ライン形式は何ですか?

単純な C メソッドの場合、次のように指定します。

parseメソッドは次のうちどのように指定しますか。

0 投票する
3 に答える
3791 参照

c++ - gprof の単一関数のプロファイル

C ++で単一の関数をラインプロファイリングするためにgprofを使用することは可能ですか?

何かのようなもの:

、うまくいかないようです。

0 投票する
2 に答える
2231 参照

c++ - 関数 __tcf_0 とは何ですか? (gprof と g++ の使用時に見られる)

私たちは g++ 4.2.4 を使用しており、コード内のいくつかのパフォーマンスの問題を突き止めようとしています。

プロファイルを生成するために gprof を実行していますが、最も高価な関数が __tcf_0 であるという点で、次のような「奇妙さ」を感じています。

この関数は、ほとんどのユーザー関数を呼び出すように見えます (つまり、メインから呼び出される関数です)。これについて私が見つけた最も近い説明はhereでしたが、そのリンクは静的オブジェクトと atexit を参照しており、これは私の場合には当てはまらないと思います。

参考になれば、Boost (program_options と fusion) と HDF5 ライブラリを使用しています。

アップデート:

ビルド時に使用するコマンドは次のとおりです。

0 投票する
3 に答える
3659 参照

c++ - gprof を使用して時間を蓄積できません - GNU プロファイラー

Windows で cygwin を実行しており、コードのプロファイリングに gprof の最新バージョンを使用しています。私の問題は、コード内の各関数に対してフラット プロファイルがゼロ秒を示していることです。関数をループしようとしましたが (for ループを 100 万回試行しました)、gprof はいつでも累積できません。助けてください。これが私のサンプル関数の1つです。

0 投票する
5 に答える
668 参照

c++ - C++ で 2D double 配列を交換する

C ++で2つのdouble配列(double **)を交換する次の方法があります。コードをプロファイリングすると、メソッドは実行時間の 7% を占めています...これは低コストの操作であるべきだと考えていましたが、何か提案はありますか? 私はC ++を初めて使用しますが、配列への参照を交換することを望んでいました。

0 投票する
1 に答える
706 参照

linux - gprof エラー: プロファイル ファイルにサポートされていないバージョンがあります

共有ライブラリをプロファイリングしようとしていますが、gprof を呼び出すとエラーが発生します:

共有ライブラリが -ggdb -pg フラグでコンパイルされました。

gcc バージョン 4.2.1、gprof バージョン 2.20、linux 2.6.22

問題は何ですか?

0 投票する
7 に答える
76016 参照

profiling - gprofの代替

他にどのようなプログラムがgprofと同じことをしますか?

0 投票する
4 に答える
7807 参照

c - gprof がプロファイリングできるように C プログラムを変更する方法は?

C プログラムで gprof を実行すると、プログラムの累積時間がないと表示され、すべての関数呼び出しの時間が 0 と表示されます。ただし、関数呼び出しはカウントされます。

gprof が実行にかかる時間をカウントできるようにプログラムを変更するにはどうすればよいですか?

0 投票する
1 に答える
295 参照

gprof - gprof-リモートロケーションで実行可能(PATH内)

シェルスクリプトから作成された一連のブラックボックステストがあります(GNU Helloのテストと同様です)。

gmon.outが見つかった場合(プロジェクトが--enable-profで構成されている場合)、フラットプロファイルを自動的に生成するようにしようとしています。

問題は、テストが実行可能ファイル自体とは異なるディレクトリにあり、実行可能ファイルがPATHにある場合でも、gprofが実行可能ファイルを見つけることができないことです。

どういうわけかgprofに実行可能ファイルまたは類似のもののパスを検索させることは可能ですか?

0 投票する
3 に答える
28721 参照

c - gprof:メインプログラムにリンクされている共有ライブラリ内の関数のコールグラフを生成する方法

私はLinux環境に取り組んでいます。2つの「C」ソースパッケージtrainとtest_trainがあります。

  1. コンパイル時にtrainパッケージはlibtrain.soを生成します
  2. test_trainはlibtrain.soにリンクし、実行可能なtrain-testを生成します

ここで、gprofを使用してコールグラフを生成します。これは、メインプログラムとlibtrain.so内の関数の呼び出しシーケンスを示しています。

両方のパッケージを-pgオプションでコンパイルおよびリンクしており、デバッグレベルはo0です。./train-testを実行すると、gmon.outが生成されます。それから私はします:

ここで、出力は、train-testの関数のコールグラフを示していますが、libtrain.soにはありません。

何が問題なのか?