9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

dateコマンドを使って1秒未満のプログラム実行時間を計測する

Posted at

1秒未満の時間を取得

dateコマンドで+%Nオプションをつけると、000000000から999999999までのナノ秒単位で時間を返します。

ちなみに、単位の換算ですが、1秒は1,000,000,000ナノ秒です。

$ date +%N
479374300

したがって、これは「479,374,300ナノ秒」であることを示しています。

ただ、あまり小さな値は信用しないほうがいいでしょう。どれぐらいまで信用していいのかは知りません。

プログラムの実行時間を計測する

では早速、実行時間の計測をしましょう。

ここでは、1秒かからないプログラムとして、適当にecho "Hello, World!"を採用しました。

#!/bin/bash
NANOTIME1=`date +%N`
echo "Hello, World!"
NANOTIME2=`date +%N`
NANOTIME=`echo "scale=3; (${NANOTIME2} - ${NANOTIME1})/1000000000" | bc`
echo "It took ${NANOTIME} sec"

bcコマンドを使って小数の計算をし、単位を秒に変換しています。手元の環境では、"It took .050 sec"と出力されました。

なお、1秒以上かかるプログラムの実行時間を計測する場合については、以前Qiitaに投稿しています。

9
8
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
9
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?