tick_time=0
tock_time=0
# arg1=start, arg2=end, format: %s.%N
function getTimeInterval
{
start=$1
end=$2
start_s=$(echo $start | cut -d '.' -f 1)
start_ns=$(echo $start | cut -d '.' -f 2)
end_s=$(echo $end | cut -d '.' -f 1)
end_ns=$(echo $end | cut -d '.' -f 2)
# echo $start
# echo $end
# 10# 表示后面的值是10进制的
time=$(( ( 10#$end_s - 10#$start_s ) * 1000 + ( 10#$end_ns / 1000000 - 10#$start_ns / 1000000 ) ))
echo " ---------- $time ms"
}
function tick
{
# %s: 毫秒 %N: 纳秒
tick_time=$(date +%s.%N)
}
function tock
{
tock_time=$(date +%s.%N)
getTimeInterval $tick_time $tock_time
}
用法就是:
tick
shell 命令
tock
PS: 发现一个更加简便的方法
begin=$SECONDS
do something
end=$SECONDS
spend_time=$[end - begin]
网友评论