Cで計算時間を計るとき、実時間とCPU時間があるそうです。
実時間については、あいまいながら理解はしているつもりですが、CPU時間については理解しかねています。
さらにCPU時間は、ユーザCPU時間とシステムCPU時間に分類されるそうです。
誰かこのユーザCPU時間とシステムCPU時間の違いについて詳しく教えてください。
お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

実時間=経過時間とも言う。


CPU時間=プログラムの実行でCPUを使った時間。
 (ディスクを読んでる最中などは経過時間は当然必要だが、CPUは使わない)
ユーザーCPU時間:アプリケーションプログラム自体が直接CPUを使っている時間。計算時間など。
システムCPU時間:アプリケーションの依頼でOSが仕事をする(例えばディスクを読む)時にOSが使うCPU時間。ディスクを読む場合には、実際にディスクを読んでいる時間中でなくその前後でOSがCPUを使う。
システムCPU時間のことをオーバーヘッド(頭の上)とも言います。必要で、ありがたいものですが、あまりでかいと嫌われます。(親みたいなもの?)

この回答への補足

丁寧な解説ありがとうございます。
実時間とCPU時間について理解が深まりました。
できれば、参考文献や参考URLなどご存知であれば教えてください。

補足日時:2002/02/05 14:27
    • good
    • 1

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QAMD製CPUの性能比較サイト

AMD製CPUの性能を数値で一覧で比較しやすいサイトはありますでしょうか?
INTELの比較サイトはあったのですが、AMDは見つかりません…。
おおまかな比較でもかまいません。

異なるCPUの性能は単純に比較できない事は分かっています。
ですが、性能を細かく正確に知りたいワケではなく、おおまかに位置付けを感覚的に把握したいので、強引にでも杓子定規でも何でも、性能を数値化してCPUの種類を超えて、ある程度過去から現在にかけてのCPU性能を比較しているサイトが好ましいです。
具体例として、このような比較表のサイトが望ましいです。

INTELのCPUの比較表のサイト
http://maximums.gatt.nobody.jp/cpu.html
GPUの性能比較
http://mizushima.ne.jp/topic/GPU-benchmark/index.php

今回はAMDの過去から現在にかけてのCPU性能を比較しているサイトを質問していますが、分かりやすいINTELとAMD製CPU比較サイトもありましたらよろしくお願いします。

AMD製CPUの性能を数値で一覧で比較しやすいサイトはありますでしょうか?
INTELの比較サイトはあったのですが、AMDは見つかりません…。
おおまかな比較でもかまいません。

異なるCPUの性能は単純に比較できない事は分かっています。
ですが、性能を細かく正確に知りたいワケではなく、おおまかに位置付けを感覚的に把握したいので、強引にでも杓子定規でも何でも、性能を数値化してCPUの種類を超えて、ある程度過去から現在にかけてのCPU性能を比較しているサイトが好ましいです。
具体例として、このよう...続きを読む

Aベストアンサー

>INTELのCPUの比較表のサイト
>http://maximums.gatt.nobody.jp/cpu.html
ここにAMDも載っているのですが、これではダメなのでしょうか。

Qプログラム動作時のCPU処理時間とCPU負荷の取得

シミュレーションを行うために、C言語で書いたプログラムのCPU処理時間(CPUがそのプログラムのために動作していた時間)と、横軸が時間で縦軸がCPU負荷(%)を取得したいのですが、方法を教えてください。

プログラムはwindowsでVC++ or Linuxでgccでコンパイルしようと思っています。

よろしくお願いいたします。

Aベストアンサー

Linuxは処理時間の計測はtimeコマンドでよいのではないでしょうか(参考URL)。
負荷の遷移はtopコマンドでdelayを指定してデータを集められると
思います。
http://homepage2.nifty.com/cs/linux_command/command/top.html

これらがCygwinにあるかどうかは不明です。

参考URL:http://www.linuxworld.jp/command/-/13221.html

Qcpuの比較

最近はCPUがたくさんありますが、いまいち比較ができません。
インテルはクロック重視だし
AMDはIPC?(一サイクルに使うクロック?みたいな)重視なので、単純には比較できません。

そこで、もっと比較しやすい基準ってないんですか?
ベンチマークみたいな

そんなサイトがあれば、価格とパフォーマンスをみてcpu決められるんですが・・・

ちなみに同じことがグラフィックボードにもいえます。
nVIDIAとATIで比較できないし

Aベストアンサー

CPUの比較は色々なサイトで見つかりますよ。
例えば、これ↓
http://www.xbitlabs.com/articles/cpu/

ビデオカードならこれ↓とか。
http://www.xbitlabs.com/articles/video/

QAdmin権限ユーザと一般ユーザで共有のファイルを操作したい

WindowsXP、VC++6.0 の環境です。
<やりたいこと>
Admin権限ユーザ、一般ユーザで情報を共有したい。
どちらのユーザでログオンしたとしても、
「同じ格納場所」に情報をリード/ライトする処理を
したい。

「同じ格納場所」としてレジストリを考え、以下の質問をしましたが回答がなく、またテストしてもダメそうでした。
http://oshiete1.goo.ne.jp/kotaeru.php3?q=545935

で、ファイルを共有しようと考えましたが、Admin権限で作成したファイルに一般ユーザはライトできませんでした。
一般ユーザでもライトできるように権限を変更する
Win32API関数などはあるでしょうか。

または、上記の要求を満たせるような方法はあるでしょうか。
ご存知の方がいればアドバイスお願いします。

Aベストアンサー

Admini権限でファイル作成した場合に
Everyoneに書き込み権限を付与するように作成されたら
いかがですか?ダメ?
キーワードは、ACLs・・かな?
http://www.loa.espci.fr/winnt/cacls/cacls.htm
このURLのソースを解析して作成してみては?

QCPUの性能比較サイトを教えて欲しい

Core2DuoとPenDとPen4とCeleronDの性能比較したグラフを以前どこかのサイトで見たのですが知っている方、おられませんでしょうか?
いくら探しても見つかりません。
また4種類のCPU比較ではなくても良いので、CPUのベンチマークなどの性能比較しているサイトがあれば教えてください。

Aベストアンサー

Tom's Hardware Guide Processors: CPU Charts 2006
http://www23.tomshardware.com/cpu.html?modelx=33&model1=430&model2=464&chart=173
他にもPCマーク、オフィスのベンチもあります
http://www.dosv.jp/feature/0610/05.htm

QCPUの構造を理解する意味は?

CPUの構造を理解する意味は?

よくプログラムの勉強をするときにCPUの内部構造である制御装置、演算装置、レジスタなどの解説があって、さらにそれらがどういう繋がりがあって、どうお互いを利用しているか、ということを説明する本に出会います。
しかし実際アセンブリ言語で開発しようという人間以外に、誰がこの知識を必要とするのか全くわかりません。
C言語以上の高級言語を使用するのであればこれらの知識は不要ですよね??

※C言語の勉強でメモリーの構造を理解する必要があるのはわかります。

Aベストアンサー

>しかし実際アセンブリ言語で開発しようという人間以外に、誰がこの知識を必要とするのか全くわかりません。

OSを設計、移植する場合には、CPUの詳細な内部構造が必要です。
OSというと、なんかすごいプログラムのように思ってしまうかもしれませんが、実際にはMCUを使用する場合にメモリの制約が厳しいので、その時々に必要な機能のOSをコーディングしています。サイズは数百byte~数Kbyte。初期のUNIXとかカーネルが4Kbyteぐらいしかなかったのですよ。

それは別の話として、高速なソフトウェアを書くためにはCPUの詳細な情報がかかせません。
現在、モバイル器機を中心に消費電力を下げる競争が盛んになっています。結局消費電力を小さくするためには、ソフトウェアの実行速度を上げてクロック周波数を下げるか、休止させてる時間を多くするしかないのです。したがって今後は遅いプログラムしか書けないエンジニアはモバイルを中心に追放されそうな感じです。

マイコンのCPUのクロックが数MHzの30年前は、どうやって高速でメモリの少ないプログラムが書けるかというのが課題で、そのテクニックを競っていました。その結果プログラミングした本人でも後からみるとどうやって動作しているのか判らないような「なぞなぞソフト」が大量に作りだされたのです。
「なぞなぞソフト」が大量に増えた結果、ソフトウェアのメンテナンスに支障が生じたために、今度はオブジェクト指向などのメンテナンス性が高いソフトウェアが主流となりました。時は巡って、省エネ問題からまた高速性が追求されることに・・・
世の中って面白いですね(^ ^)ノ

>しかし実際アセンブリ言語で開発しようという人間以外に、誰がこの知識を必要とするのか全くわかりません。

OSを設計、移植する場合には、CPUの詳細な内部構造が必要です。
OSというと、なんかすごいプログラムのように思ってしまうかもしれませんが、実際にはMCUを使用する場合にメモリの制約が厳しいので、その時々に必要な機能のOSをコーディングしています。サイズは数百byte~数Kbyte。初期のUNIXとかカーネルが4Kbyteぐらいしかなかったのですよ。

それは別の話として、高速なソフトウェアを書くために...続きを読む

QCPUの処理スピード比較がわかるサイト

最近のパソコンに使用されているCPUには、たくさんの種類がありますが、それらのCPUについてベンチマークテストによるスピード比較が行われているようなサイトはありますか?

Aベストアンサー

いわゆるパソコン用のオフィスやマルチメディア系のアプリケーションのための性能ではなく、計算(CPUとメモリ)の性能という意味ではSPECというベンチマークが有名で、信頼されています。整数計算のSPEC INTと、実数計算のSPEC FPがあります。

参考URL:http://www.spec.org/cpu2000/results/cpu2000.html

Quwsc画像認識のあいまい判定について

uwscのCHKIMG関数にて画像を判定したマクロを組むことは出来たのですが、1ドットでも変化があると同じ画像として判定されません。

しかし調べてみると、あるブログにはuwscで画像のあいまい判定が可能と書いてありました。
もしかしたらほかに情報が出てこない以上、失礼ですがそのブログの人の勘違いという可能性もありますが、検索して出来た以上気になります。これは可能なのでしょうか?可能なのでしたら方法を教えていただけませんか?

あと今回のことにはあまり関係ありませんが、uwscのヘルプが目次で項目をクリックしているのですが表示されません。開き方が間違っているんでしょうか?

Aベストアンサー

>しかし調べてみると、あるブログにはuwscで画像のあいまい判定が可能と書いてありました。

どうやら有志の方がCHKIMGXという拡張関数を作成されているようですよ。
調べてみてください。

QCPUの比較

CPUの比較が基本的にできないことをなんとなく理解はできるのですが、下記のCPUの性能比較についてはどうでしょうか?
(1) インテル Core2Duoプロセッサー
(2) インテル Pentium Dual-Coreプロセッサー
(3) AMD Turion64×2 モバイル・テクノロジー
(4) AMD Athlon64×2

ハイビジョン撮影したビデオカメラの編集用に、これから新しいPCを購入しようと思うのですが、どのCPUがいいですか? できれば長く使いたいのと、初期不良とかの不安要素はできるだけ、減らしたいという考えです。
皆様の使用感でもいいのでアドバイスお願いします。

Aベストアンサー

たびたびすいません。
No.4に書き忘れました。

数字の文字列はお察しの通り、大きいほどCPU性能は上昇します。
例)「Core 2 Duo E6600」は動作周波数2.40GHzで「E6700」は2.66GHz

IntelとAMDではそのナンバーと動作周波数が違うので比較する際には注意してください。

QC言語の分類名

C言語で、 + - * と / % とで分類する際、
(2つの数字で演算する際、0が使えるかどうかの違い)
グループ名をそれぞれつけろと言われました。
決まったようなグループ名があるように言われたのですが、本やサイトで調べても分かりませんでした。
分かる方おりましたらよろしくお願いします。

Aベストアンサー

> C言語で、 + - * と / % とで分類する際、

単項の + - * と二項の / % を分類するのであれば、単項演算子と二項演算子ですが、両方とも他の演算子も存在します。

+ - と * / % の分類であれば、
+ - は加減演算子(additive operators)、 * / % は乗除演算子(multiplicative operators)と分類されていますが、 + - * と / % の分類というのは、少なくとも規格の中には見つけられませんでした。

> (2つの数字で演算する際、0が使えるかどうかの違い)

オペランドに0を指定すると未定義になるという意味でしょうか?
コンパイルエラーになるものも含めれば、間接参照演算子も、関数呼び出し演算子も、矢印演算子などもそうなります。

> グループ名をそれぞれつけろと言われました。

誰に言われたのでしょうか?
推測ですが、そのグループ名というのは、その人の「俺語」かと思います。


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報