0

gperftools を使用したコードのプロファイリング (ソース コードの行ごと) を生成しようとしています。

gcc a.c -lprofiler -Wl,--no-as-needed -lprofiler -Wl,--as-needed

CPUPROFILE=out.ptof ./a.out 

しかし

pprof  ./a.out out.ptof --inuse_objects --lines --heapcheck  --edgefraction=1e-10 --nodefraction=1e-10 --gv
Using local file ./a.out.
Using local file out.ptof.
No nodes to print

pprof が「印刷するノードがありません」と表示するのはなぜですか?

4

1 に答える 1

0

いくつかの理由考え られ ます

最も可能性の高いものを引用します(コードが軽いと仮定して):

「印刷するノードがありません」[...] のようなメッセージが表示された場合、それは単純に、コードが速すぎてプロファイリングできなかったことを意味します。

と:

デフォルト モードでは、「低速」ルートのプロファイリング データはありません。これは、CPU サイクルがほとんど使用されないためです (「印刷するノードがありません」というメッセージが表示されます)。

そのため、プログラムを人為的に遅くする必要があるかもしれません...

于 2014-12-24T09:13:57.043 に答える