質問

一部のプラットフォームの開発を行っているについてお答えくださいプロファイリングツールです。い提案/技術だ個人として使用する特定のホットスポットなどを使わずに、プロファイラ.

対象言語はC++.

んだ個人として使用します。

役に立ちましたか?

解決

私は、非常に有:

#ifdef PROFILING
# define PROFILE_CALL(x) do{ \
    const DWORD t1 = timeGetTime(); \
    x; \
    const DWORD t2 = timeGetTime(); \
    std::cout << "Call to '" << #x << "' took " << (t2 - t1) << " ms.\n"; \
  }while(false)
#else
# define PROFILE_CALL(x) x
#endif

使用できるの呼び出し機能など:

PROFILE_CALL(renderSlow(world));
int r = 0;
PROFILE_CALL(r = readPacketSize());

他のヒント

冗談:のほか、ダンピングのタイミングをstd::coutその他のテキスト/データ向けたアプローチも使っとビープ音を鳴らなくなります。かつ聴覚のギャップの静寂と"音"の検問所が異なるような印象を与えます。

このような違いを見書シート、音楽、実際に聴覚ライブを楽しんで下さいました。いの違いを読みrgb(255,0,0)を見た火災-エンジン。

なので、今私はクライアント/サーバーアプリと音が鳴りますの異なる周波数、マーキングのお客様がメッセージを送信し、サーバを開始し、回答が終了し、その回答、回答へ進入し最初の顧客などでも自然にとっては時間がバランスを保っています。

本場合、プロファイリングツールではないたお客さまにおかれましては、見習いプロファイラが行われます。挿入するカウンターへの機能について興味深いとど、潜在的にどのサイズ/うの引数彼らは呼び出されます。

アクセスできる場合はずれだけ票入りすぎだから自演票プラットフォームは、始動/停止にこれらの末に該を取得する関数の実行時間情報についても、この明らかにしています。私たちの社会における音楽だけのバルに複雑なコードが通常でも多くの機器かわいらしさがひとしおである。けるのではなく、取得できるまで過ごした時間の一部のセクションのコードでは専属のタイマー。

これら二つの手法をタンデム形反復型アプローチにも利用されています。に広い部コード消費の過半数のサイクル用タイマー、機器、各機能での細かなる磨きをかけの問題です。

場合でも十分に長期間などa分のの、実行中のソフトウェアデバッガとその後の休憩に数回、デバッガがすくうためのソフトウェア(例:ご休憩10倍であり、すべて同じることが分かるので何か面白い!).大荒れで準備が必要としませんが、ツール、計測等

なんなのかどのようなプラットフォームまたは組み込みマイコンでも役に立twiddleスペアデジタル出力線を測定しますパルス幅をオシロスコープ、カウンタタイマーは、ロジックの測定を行いました。

混雑して待たされることは、80/20ルール、タイマ周辺のビームがホットスポット、または興味深い話を行った。すべての一般的なアイデアのボトルネックするとともに多数の実行パスの利用により、適切なプラットフォーム依存の高分解能タイマー(QueryPerformanceCounters,gettimeofdayます。

また、普段はかわいい起動時や停止の場合は不要)についての明確な"チョークポイント"では、通常のメッセージの通過または何らかのアルゴリズム計算します。私はこのメッセージ吸収/srcs(シンクmoreso),キュー、ミューテックスは、平野堂-ユビキチン-プロテアソームのアルゴリズムループ)普通口座のほとんどの待ち時間行います。

を使用していまVisual Studio?

に利用できる/Ghおよび/GHスイッチ。 ここでの例を伴うスタック検査

これらのフラグを許可するファイルのファイルを登録装飾を持たな機能と呼ばれる毎に手法を入力して/または左に行います。

ご登録時のプロファイリング情報だけでなく、タイミング情報。スタック-ダンプ、住所、戻りアドレスなどをいいます。が重要ですので、それが知りたい機能のX使用Yの時間関数Z'だけでなく、合計で過ごす時間関数X.

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