質問

Mac OS Xのサメは、アプリケーションのプロファイリングに最適なツールです実行中のシステム。 Linux用の同様のツールはありますか?

OProfile は、可能性があるように見えますが、誰も使用していませんか?

役に立ちましたか?

解決

OProfile は、サンプリングベースのプロファイリングを行うツールですアプリケーションとシステムの両方がそれを呼び出します。これにより、どこで時間を費やしているかに関する詳細情報を確認できます。 GUIはありませんが、実行からの情報を処理できるフロントエンドがいくつかあります。

デスクトップアプリケーションと組み込みシステムの両方で、これを広範囲に使用しました。結果を解釈するには少し手間がかかりますが、コールグラフ出力はここで非常に役立ちます。

他のヒント

別の答えを拡張して、valgrindの「callgrind」オプションを使用します( http://valgrind.org )。次に、KDEから kcachegrind をインストールして、GUIインターフェースを作成します。

ダミーのチュートリアルとして、次を実行します。

1)デバッグ情報を使用してアプリケーションをコンパイルします。最適化をオンとオフの両方でプロファイリングを試みることをお勧めします。最適化をオフにすると、より多くの情報が得られますが、正確性が低下する場合があります(特に小さな関数は、必要以上に時間がかかるようです。

2)で実行:

valgrind --tool=callgrind <name of your app> <your app's options>

これにより、「callgrind.something」というファイルが生成され、kcachegrindにロードできます。

次もご覧ください:

valgrind --tool=cachegrind <name of your app> <your app's options>

アプリがCPUのキャッシュとどのように対話しているかについての情報を提供します。

valgrindとsharkは似たようなアプリのように見えますが、動作は大きく異なります。 valgrindでアプリを実行すると、通常よりも何倍も遅くなります(多くの場合40倍以上遅くなります)が、得られる結果はサメよりもはるかに正確です。私は両方を使用する傾向があるため、可能な限り多くの情報を取得できます!

おそらくValgrind( http://valgrind.org/ )を試すことができます。ランタイムとコンパイル時の両方のプロファイリングツールがあります。

これに答えるには少し遅れましたが、最も近い答えはズームです。 Sharkチームの一部はそれに取り組みました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top