g ++ 4.2.4を使用しています。私のコードでいくつかのパフォーマンスの問題を追跡しようとしています。関数__tcf_0とは何ですか? (gprofとg ++を使用したときに表示される)
私はプロファイルを生成するためには、gprofを実行している、と私は最も高価な機能が__tcf_0であるという点で、次の「ストレンジネス」を取得しています:[この機能を
Each sample counts as 0.01 seconds.
% cumulative self self total
time seconds seconds calls ms/call ms/call name
40.00 0.04 0.04 1 40.00 95.00 __tcf_0
は私のユーザーのほとんどの通話に表示されます(つまり、メインから呼び出されたものです)。私がこれで見つけた最も近い説明はhereでしたが、そのリンクは静的オブジェクトとatexitを参照していますが、私の場合はこれが当てはまりません。
私はBoost(program_optionsとfusion)とHDF5ライブラリを使用しています。
UPDATE:
建物があるときに、私が使用するコマンド:
g++ -Wreturn-type -Wunused -Winline -pg -DLINUX -DHAS_SETENV \
-DFUSION_MAX_MAP_SIZE=15 -DFUSION_MAX_VECTOR_SIZE=15 -g -O0 \
--param large-function-growth=300 --param inline-unit-growth=200
質問に使用するビルドコマンドを追加しました。私たちはきわめて柔軟なビルドシステムを持っています。これは過去に成功した特別な "gprof" make設定を使用しています。だから原則として私は*私は必要なすべての設定を持っていると思う*。 –
どちらの回答も正しいですが、担当者がおそらくもっと役に立ちます。 –