LoginSignup
119
78

More than 5 years have passed since last update.

bashのSECONDS変数で簡単に処理時間を測定する

Last updated at Posted at 2014-09-02

bashで特定の処理にかかった秒数を測定するには、dateコマンドで前後の秒数をとって引き算するのが一般的です。

#!/bin/bash

start_time=`date +%s`

### 時間測定したい処理
sleep 3

end_time=`date +%s`

time=$((end_time - start_time))

echo $time

しかし別の方法として、bashの特殊変数の1つであるSECONDS使う方法があります。
この変数を参照するとbashが起動されてからの秒数が取得でき、任意のタイミングで代入によってリセットすることができます。

$ echo $SECONDS
31
$ echo $SECONDS
35
$ SECONDS=0
$ echo $SECONDS
2
$ echo $SECONDS
5

この変数を使うと、とても簡単に処理時間が測定できます。

#!/bin/bash

SECONDS=0

### 時間測定したい処理
sleep 3

time=$SECONDS

echo $time
$ sh seconds.sh
3
119
78
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
119
78