LinuxでC++を実行しているコードをプロファイルする必要があります。皆さんはいくつかのプロファイラをお勧めしますか?Linux上でC++用の使いやすいプロファイラは何ですか?
答えて
gprofは、プロファイリングの標準gnuツールです。
Googleはまた、google-perftoolsの一部として素敵なプロファイラを持っています。これらはDebian/Ubuntuやその他のディストリビューションに含まれています。
KCacheGrindをご覧ください。これはvalgrindのグラフィカルフロントエンドであり、本当に使いやすいものです。
gprofを使用してください。
-pg
フラグでコンパイルしてください(ただし、わかりませんが)最適化を有効にする必要があります)。gprofを使用して、実行ファイルが生成するgmon.outファイルを解析します。
例:
gcc -pg -o whatever whatever.c
./whatever
gprof whatever gmon.out
同じことのG ++とcppを持ちます。
最適化されていないコードのプロファイリングはちょっと意味がありますね。同様に、-pgで大幅に変更されたコードをプロファイリングすると、誤った箇所を最適化することが誤っていることがよくあります。 – federal
ズームRotateRight(http://www.rotateright.com)からは、私が使用してきたものです。それは機能のバタフライのビューを持っていますし、任意の機能をダブルクリックしてソースコードまたはASMコードにダイブすることができます。あなたのソースを見るためにデバッグ情報(-g)でビルドしますが、コードをビルドしてプロファイルする必要があります。
ちょうどこのプログラムを与えた、それは本当に素晴らしいです!現在、私の好きなプロファイラはLinuxです。しかし、 '-fno-omit-frame-pointer'を使って効果的にプロファイリングするためにコードを構築する必要があることに言及する価値はあります。 –
リンクが死んでいるようです。他の場所でどこに見つけられるかは誰にも分かりますか? –
Sysprofをご覧ください。あなたが流通している可能性が最も高いです。
アプリケーションがフレームポインタを使用してコンパイルされている場合、上記のプロファイラはすべて最適に機能することに注意してください。つまり、gccコマンドラインで-fno-omit-frame-pointerを使用する必要があります。
- 1. JvisualVMのサンプラーとプロファイラの違いは何ですか?
- 2. CやC++用のオープンソースの電子メールライブラリとは何ですか?
- 3. SQLプロファイラを使用する最良の方法は何ですか
- 4. C#/ ClooでAMD APPプロファイラを使用することはできますか?
- 5. 最も使いやすいウェブ "リッチテキストエディタ"とは何ですか
- 6. 何とかC#コードやC#ライブラリをjava androidプロジェクトで使用できますか?
- 7. Linux用のgetDesktopProperty()は何ですか?
- 8. は、.NET 4.0用のCLRプロファイラですか?
- 9. Linux用のDirectX APIがない理由は何ですか?
- 10. "arm-linux-user"と "armeb-linux-user"の違いは何ですか?
- 11. Linux上の共有ライブラリに関する良いプラクティスは何ですか?
- 12. Linux用の使いやすいツールのようなMFC
- 13. OSXとLinux上のg ++コンパイラの主な違いは何ですか?
- 14. OracleのSQLプロファイラに相当するものは何ですか?
- 15. Linux上の独自のコーデック。合法とは何ですか?
- 16. どのC++プロファイラを使用しますか?
- 17. C++&arrayとarrayの使い方の違いは何ですか?
- 18. Window 7で最も使いやすいUI SVNクライアントは何ですか?
- 19. C# - 使いやすいグラフィックライブラリ
- 20. tf.EstimatorでTensorflowプロファイラを使用する
- 21. C/C++を使用したLinuxでの端末とのやりとり
- 22. Objective-CブロックはLinux上のコンパイラでサポートされていますか?
- 23. CでUDPソケット上のファイルを転送しています! Linux
- 24. jupyterのセル上のタグの使い方は何ですか?
- 25. C/C++用のマルチプラットフォームベクターグラフィックスライブラリは何ですか?
- 26. Linux上でPOSIXメッセージキューをユーザー間で使用できますか?
- 27. XPathの//と?/の違いは何ですか?の使用は何
- 28. C++ - コピーコンストラクタでconstを使用する場合と使用しない場合の違いは何ですか?
- 29. C - LinuxでのAPIライブラリの使い方
- 30. 使いやすいコントロールフローライブラリやモジュールをmongooseとノードで使用するのは
LinuxおよびC++タグを追加する必要があります。あなたはおそらくより良い応答と意見の範囲を得るでしょう。 – Duck
http://stackoverflow.com/questions/375913/what-can-i-use-to-profile-c-code-in-linuxの複製のようです。 –
例:likwid、LLTng、oprofile、valgrind、vtune、gprof、perf、gperftools、pTop – Shan