性能評価・プロファイリング
実行時間の測り方のうち、「壁時計時間」と「CPU時間」の違いとして正しいものはどれか。
- A壁時計時間は始めから終わりまでの実際の経過時間で、入出力の待ちなども含み、CPU時間はCPUがそのプログラムを実行していた時間だけを数える
- B壁時計時間とCPU時間は、必ず同じ値になる
- CCPU時間は、部屋の時計で測った時間のことである
答えと解説を見る
正解:A. 壁時計時間は始めから終わりまでの実際の経過時間で、入出力の待ちなども含み、CPU時間はCPUがそのプログラムを実行していた時間だけを数える
壁時計時間は、利用者が実際に待つ時間で、ディスクやネットワークの待ち、ほかのプログラムに順番を譲っていた時間も含みます。CPU時間は、CPUがそのプログラムの命令を実行していた時間の合計です。壁時計時間がCPU時間よりずっと長ければ、何かを待っている時間が長いことが分かります。逆に、複数のスレッドで並列に動くと、CPU時間の合計が壁時計時間より長くなります。
- A. 正しい。両者の差から待ちの時間が分かります。
- B. 待ちや並列の実行があると違う値になります。
- C. 部屋の時計で測るのは壁時計時間です。