timeコマンドとは
`time`コマンドは、
UNIXや
Linuxなどのオペレーティングシステムで、指定されたコマンドの実行時間を測定するために使用されるプログラムです。コマンドの実行時間に関する詳細な情報を提供し、パフォーマンス分析や最適化に役立ちます。
基本的な使い方
`time`コマンドの最もシンプルな使い方は、実行時間を計測したいコマンドの前に`time`を記述するだけです。例えば、`ls`コマンドの実行時間を計測する場合、次のように記述します。
bash
time ls
このコマンドを実行すると、`ls`コマンドが実行された後、`time`コマンドによって実行に要した時間に関する情報が出力されます。具体的には、User
CPU時間、System
CPU時間、Real
CPU時間が表示されます。
出力例
以下は、`host wikipedia.org`コマンドの実行時間を計測した例です。
bash
$ time host wikipedia.org
wikipedia.org has address 103.102.166.224
wikipedia.org mail is handled by 50 mx2001.wikimedia.org.
wikipedia.org mail is handled by 10 mx1001.wikimedia.org.
host wikipedia.org 0.04s user 0.02s system 7% cpu 0.780 total
$
この出力例から、以下の情報を読み取ることができます。
`user`: User
CPU時間(プログラムがユーザーモードで実行された時間)
`system`: System
CPU時間(プログラムが
カーネルモードで実行された時間)
`total`: Real
CPU時間(経過時間)
User CPU時間: プログラムが自身の処理(例えば、ループ処理など)を実行するために費やした時間です。
System CPU時間: プログラムがオペレーティングシステムの
カーネルに対して
システムコール(例えば、`exec`や`fork`など)を行うために費やした時間です。
Real CPU時間: User
CPU時間とSystem
CPU時間を合計した時間であり、プログラムが実際に実行に要した経過時間を示します。
`time`コマンドの活用
`time`コマンドは、コマンドのパフォーマンスを評価する上で非常に有用です。特定の処理が遅い原因を特定したり、プログラムの最適化前後の効果を測定したりする際に役立ちます。例えば、複雑な計算処理を行うスクリプトの実行時間を計測することで、改善の余地がある箇所を特定できます。
関連するコマンド
UNIX時間:
UNIXオペレーティングシステムにおける時間の基準となる時間。
cron: コマンドを定期的に実行するためのスケジューラ。
at: 指定した日時にコマンドを一度だけ実行するためのスケジューラ。
sleep: 指定した時間だけ処理を一時停止するコマンド。
参考資料
JM Projectのtimeマニュアルページ
time(1) man page(SunOS リファレンスマニュアル)
*
time(1) man page(HP-UX リファレンス)