linuxやmac、windowsなんでもいいのですが、「CPU使用量」を取得するツールはありますか?
CPU使用率はよくありますが、これは割合であって絶対的な量ではないですよね。
別のマシン、CPU、別の周波数のCPUでも比較可能な絶対的なCPUの仕事量を表す値を取得することはできないでしょうか。
スーパーπで100万桁を計算する計算量を100とする。という具合の値を取得したいです。
よろしくお願いします。
>絶対的なCPUの仕事量
というものが測定しがたいために、ありません。
CPUには得意/不得意があります。
極端な例として、足し算が得意だがかけ算はちょっと遅いということもあります。
もしくはその逆。
また、処理量はメモリやバスの速度等、環境に大きく依存するために
CPU本体だけでは決まりません。
FLOPS - Wikipedia、MIPS - Wikipediaとかいうのが有ったりはします。
ただ単純に考えると、こういうのってあらかじめCPU使用率100%でどれだけの値が出るかと計算しておくとか、CPU側からこの値をもらえれればいいけど
そうじゃなかったら今の使用量ってだせないような気がします。
それにアセンブラをやれば分かるけど、CPUの違いとかメモリ量とか値を求めるFLOPSの値を求めるソフトによって計算量が変わったりするしどうしようもないかと。
業界側で取り決めをしてCPU側から使用率を取得できるようにするとかしないと無理じゃないかな。
トランジスタ総数x周波数x使用率でおおよそは数字が出せるんじゃないかなぁ・・・?
もしくは、Flopsに稼働時間と使用率を掛ければ、、、
ああ、それは面白そう。
コンパイラの出来不出来(CPU最適化)が分かりそうな予感――。
無駄に動作させる方が高い値を示しそうな....
>コンパイラの出来不出来(CPU最適化)が分かりそうな予感――。
これはそうだと思います。
>CPU使用量としたら何か参考になりうる値になりますかね。
発想はいいかも。
計算さえできれば十分参考値にはなりそうですね。
ただ、bogomipsはどうやってもとめるのかが問題ですね。
[http://ja.wikipedia.org/wiki/BogoMips:title=]に大まかな値が書いてますがここに出てこないCPUならばどうすればいいのかな?
あらかじめデータベースを持っていてそれで計算する?
まあ普通はPCしか使わないので、Wikipediaに乗っていないCPUは気にしなくてもいいのかな。(組み込み屋としてはこれはつらいけど)
そもそもCPU使用量をもとめるプログラムが動くから正しい値が求まらないし。
まあ参考値程度であればあまり気にしなくても良いのかなあ。
BogoMipsのWikipediaに以下のような1文が
>|
異なる種類のCPU間での性能比較には使えない。
|<
普通のPC同士でもCPUが異なれば比較できませんね。
>「CPU使用量」を「CPUが実行した命令数」と考えれば
その「考えれば」が誤りなんです。
1命令で複数データを扱うといったCPUもあり、またベクトル型とスカラ型といった違いもあり、「CPU使用量をCPUが実行した命令数」という考え方がそもそも誤りなのですよ。
質問者の問題の出し方もちょっと誤誘導がありますね。
最初は、「CPU使用率はよくありますが、これは割合であって絶対的な量ではないですよね」としておいて、質問内容は、「絶対的なCPUの仕事量を表す値」になっているところです。
つまり、質問内容は、CPU使用量ではなく、「絶対的なCPUの仕事量を表す値」となっておいるので、この「考えれば」という(CPU使用率を考えるという)論述の前提が誤っていることは、容易にわかると思います。