ツイート
シェア
LINEで送る
B! はてぶでブックマーク
Pocketでブックマーク
RSSフィード

Linux time, プログラム全体の実行時間を計測する

programing image

ベンチマークテストでプログラムの実行時間が知りたいことがありますよね?

かんたんな方法としてtimeコマンドがあります。そのシンプルな使い方を説明します。

CPUの処理時間も計測され、ユーザー、システムのCPU時間が別々に出るので、シンプルな割に使い勝手が良い。

time command
commandプログラムの実行コマンド。
シェルコマンドでもよい。

timeコマンドのパラメータにプログラムの実行コマンドを入力するだけです。

たとえば、test.phpの実行時間を計測します。

time php test.php

すると、結果が標準出力されます。

timeコマンドの結果
real    0m1.758s
user    0m0.020s
sys     0m0.022s
realプログラムの実行時間
user実行プログラムのユーザーCPU時間。
CPUがユーザーモードのとき。
sysシステムCPU時間
CPUがカーネルモードのとき。

プログラムの開始から終了までのトータルの時間はrealです。user, sysの時間も含まれます。

user, sysは、CPUが処理した時間で、

user + sys = プログラムを実行するのに使ったCPUの処理時間。

プログラムのCPU負荷が見れます。

timeコマンドにはオプション-pがありますが、計測結果の時間の書式を変えるだけなので、そこまで必要ありません。

ここでは説明を省略します。

realはuser + sysにならない

user, sysはファイルの読み込み・書き込みなどの時間は含まれません。ファイル操作にはCPUが関係ないHDDへのアクセスがあります。

メモリまわりも同じ。

だから、realはuser + sysよりも大きくなることがあります。

標準入出力も、ファイル操作ほどではないですがCPU以外の処理時間があります。

前の投稿
Linux firewall-cmd, ファイアウォールのポートを開け閉めする
Linux dig, グローバルIPアドレスを取得する。curlコマンドより速いのでおすすめ。
次の投稿

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください