-2

ベンチマークを実行し、ベンチマークの実行中に CPU 周波数を監視しようとしています。可能な限り最小のフットプリントでこれを行うための最良の方法は何ですか?

基本的に、私は実行したいベンチマークと、データの cpu レジスタをポーリングして cpu 周波数を計算するスクリプト化された while ループを持っています。ベンチマークが終了したら、while ループも終了するようにします。何か案は?

ありがとう。

編集: より明確に説明するために、while ループでポーリングを続行する必要があります。このタスクが CPU の特定のコアに割り当てられているとします。そのコアをベンチマークでも利用できるようにしたいと考えています。

主に、ポーリング ループが存在しないかのようにベンチマークを実行し、同じ動作を示したいと考えています。コアが 4 つある場合、while ループが他のコアに割り当てられているため、ベンチマークで 3 つだけを使用することは望ましくありません。

4

1 に答える 1

2

序文: 私はコンピュータ サイエンスの学生です。
私の理解では、Python で記述された 2 つのプログラムがあり、両方のプログラムを同時に実行したいと考えています。両方のプログラムを実行した場合の処理​​方法は、オペレーティング システムによって決まります。ただし、スレッド化を使用して、必要なリソースへのアクセスを手動で制御できます。

スレッドに関する Python ドキュメント: http://docs.python.org/library/threading.html

園芸品種の *nix ディストリビューションを使用している場合は、コマンドの最後に & を追加して、バックグラウンドで実行できます。OS がそこから引き継ぎ、while() スクリプトをベンチマークの横で実行されている別のプログラムとして扱います。(待っている間にソリティアをするようなものです)

python myBenchamrk.py &
python myWhile.py &

上記が mac OS X にも当てはまると確信しています (おそらく *nix システムと見なされるでしょうか?)
Windows にも同等の機能があると確信しています。

于 2012-06-20T19:26:19.260 に答える