2010-12-01 8 views
1

与えられたCコードがプロセッサキャッシュをいかに効率的に使用するかを決定し、可能であれば、キャッシュに存在するデータとメインメモリに格納されるデータを決定したいと思います。素敵なことに) - これを行うことができるソフトウェアがありますか?Cコードのプロセッサキャッシュ効率の決定

私は、このコードが私が書いているコードをテストするツールとして使っているので、これはプログラミングに非常に関連していますが、これはスタックオーバーフローには合わないかもしれません。より適切な場所がある場合は、この質問を私に知らせてください。

さらに、Mac OS X/UNIX用のソフトウェアが好きです。

ありがとうございます!

+0

効率性はプロセッサに依存しません.Cコンパイラは命令の選択以外にも、キャッシュの使用を大量に制御しないためですか? –

+0

@ ring0 - 絶対に、私はソフトウェアがテストされている特定のプロセッサに適応することを期待しています(したがって、結果は異なるプロセッサには当てはまりません)。 Cの点では、生成されたデバッグシンボルを使ってCコードの点で、どのコードがキャッシュミスのホットスポットであるか、データ構造全体がキャッシュにあるかどうかなどをツールが示す能力があると便利です。 – ljs

答えて

3

定期的な時間間隔に基づくサンプリングの代わりに、キャッシュミスに基づいてプロファイルを取得できるさまざまなプロファイラーがあります。これにより、プログラム内でキャッシュを効果的に使用していない場所を知ることができます。 Mac OS XではShark(無料 - CHUDツールパッケージの一部)をチェックしてください。 LinuxではZoom(商用ですが、無料の30日間の評価ライセンスがあります)を試してください。

関連する問題