生物信息学与算法

shell程序计时

2020-01-13  本文已影响0人  生信编程日常

有时候写了一个pipeline,我们想知道具体会跑多长时间,这就需要实现计时功能,可以用date或者time实现。

  1. date

首先用man date查看以下说明:


image.png

举几个例子更容易理解:

date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"

输出:
DATE: 2020-01-13
TIME: 10:48:28
(当前时间)

date -v1m

输出:
2020年 1月13日 星期一 10时50分20秒 CST

 date "+%m%d%H%M%S"

输出:
0113105443
即1月13日10点54分43秒。

比如以下脚本计时:

start=`date +%s` # %s可以计算的是1970年以来的秒数
sleep 20 
end=`date +%s`

time=`echo $start $end | awk '{print $2-$1}'`
echo $time

可以输出20。

  1. time
    time可以计算某个程序的运行耗时(real), 用户态cpu耗时(user), 系统态cpu耗时(sys)。比如测试上面的主函数sleep 20的时间:
time sleep 20

输出:
real 0m20.007s
user 0m0.002s
sys 0m0.003s

如果测试脚本的话,格式为time sh xxx.sh。

欢迎关注公众号:生信编程日常


公众号
上一篇 下一篇

猜你喜欢

热点阅读