性能評価・プロファイリング

実行時間の測り方のうち、「壁時計時間」と「CPU時間」の違いとして正しいものはどれか。

  1. A壁時計時間は始めから終わりまでの実際の経過時間で、入出力の待ちなども含み、CPU時間はCPUがそのプログラムを実行していた時間だけを数える
  2. B壁時計時間とCPU時間は、必ず同じ値になる
  3. CCPU時間は、部屋の時計で測った時間のことである
答えと解説を見る

正解:A. 壁時計時間は始めから終わりまでの実際の経過時間で、入出力の待ちなども含み、CPU時間はCPUがそのプログラムを実行していた時間だけを数える

壁時計時間は、利用者が実際に待つ時間で、ディスクやネットワークの待ち、ほかのプログラムに順番を譲っていた時間も含みます。CPU時間は、CPUがそのプログラムの命令を実行していた時間の合計です。壁時計時間がCPU時間よりずっと長ければ、何かを待っている時間が長いことが分かります。逆に、複数のスレッドで並列に動くと、CPU時間の合計が壁時計時間より長くなります。

  • A. 正しい。両者の差から待ちの時間が分かります。
  • B. 待ちや並列の実行があると違う値になります。
  • C. 部屋の時計で測るのは壁時計時間です。
この分野を解く 分野ページへ

性能評価・プロファイリングのほかの問題

  1. サーバの性能を表すスループットとレイテンシの説明として正しいものはどれか。
  2. Webのサービスの応答時間を評価するとき、平均の値だけでなく99パーセンタイルの値(遅い方から1%の境目)を見ることが多い理由として正しいものはどれか。
  3. あるサーバに毎秒100件の要求が届き、1件の処理に平均0.2秒かかる(定常状態とする)。サーバの中で同時に処理中の要求は平均何件か(リトルの法則)。
  4. サーバの使用率(忙しい時間の割合)が100%に近づくと、要求の待ち時間はどうなるか。
  5. プログラムの性能を改善するときにプロファイラを使う目的として正しいものはどれか。