2009-09-03 19 views
9

使う道具など:私は、このツールの使用を開始すると最良の組み合わせを見つけようとしていますoprofileから最も有用な出力を得る最も良い方法は何ですか?

opannotate

  • opcontrol
  • opreport、例が を最も出すためにプロファイリングの KCachegrind

    +1

    "最高"の意味は常に "良い"の意味に依存しており、それが何であるかは必ずしも明らかではありません。あなたはあなたが探している良いものを記述できますか? – hlovdal

    答えて

    5

    ルック

    おかげ - それは、プロファイルデータ可視化ツールです。

    KCachegrindCallgrindプロファイラツールによって生成されたデータファイルを視覚化します。しかし、conversion scriptsの場合、KCachegrindOProfileのような他のプロファイラの出力を視覚化することができます。

    パッケージマネージャ(yum、apt-getなど)を使用してKCachegrindをインストールすると、Oprofileの出力をKCachegrindの形式に変換するop2calltreeというツールが得られます。

    6

    gprof2dotは、プロファイルデータ用の最も驚くべき視覚化ツールです。実際の問題のコードをドリルダウンするとき

    opcontrol --shutdown 
    opcontrol --callgraph=7 
    opcontrol --image=<abs/path/to/your/execuable> 
    opcontrol --start 
    
    ... time passes ... 
    
    opcontrol --dump 
    opreport -c > profile_info.txt 
    gprof2dot.py -f oprofile --strip profile_info.txt | dot -Tsvg > profile_graph.svg 
    inkscape profile_graph.svg 
    

    gprof2dot--skewオプションは本当にいいです。

    あなたが手作業でイベントカウンタを低い値に設定した場合は、コールグラフを設定できません。例のスクリーンショット:最小カウンタが--list-events


    編集に記載されているものより15倍大きい--callgraphオプションを使用する場合、デフォルトすること gprof2dot.py example output

    解像度は、機密データの開示を避けるために低減されしかし、あなたは考えを得る。

    +0

    それはKCachegrindよりも優れていると思いますか?スクリーンショットを持っていますか? –

    +2

    @NathanKidd:gprof2dotに関するより完全な回答があります:http://stackoverflow.com/a/4453999/28817 –

    +0

    スクリーンショットをアップロードしました。ツールに感謝します。 – ulidtko

    関連する問題