実行時間の観点から既存のコードをプロファイリングするという点で、いくつかの助けが必要です。意図はそれをスピードアップすることです。
以前に作業したコードがいくつか与えられました。これは、オブジェクト指向の概念を使用して完全にC++で記述されています。これにはGUIベースのインターフェイスがあり、特定のオプションを選択すると、選択したコードが実行されます。(プロジェクトの一環として約11のクラスがあります)。
GUIオプションを押して、コードを実行し、次のようなリソースマップを生成できるようにしたいです。
Functions of Class 1 = 20% of execution time
Functions of Class 2 = 60% of execution time
Functions of Class 3 = 10% of execution time
Functions of Class 4 = 10% of execution time
そうすることで、どのクラスが最も時間を費やしているかがわかり、次にどのクラスに取り組み、改善するかがわかります。しかし、私はこれをどうやってやるのか分かりません。私は基本的なC++の知識しか持っていません。
私はこの投稿を読みました:プログラムはシリアルではないので、c++の実行時間を見つけてください。あるクラスが別のクラスを呼び出し、それが別のクラスを呼び出します。システムクロック/ティックがどのように実装可能かわかりませんか?
Valgrind、Zoom、Poor Man's Profilerなどのプログラムを読んだのですが、正直なところ、それをコードと統合することについてはわかりません。こんなに簡単な方法はありますか?
私もこの方法を読みました:Linuxで実行されているC ++コードをプロファイリングするにはどうすればよいですか?、しかし、クラスベースの情報(クラス1、クラス2など)に関してピンポイントの情報を取得する方法がわかりません。
誰かが初心者のためにアドバイスしてもらえますか?