Mac OS X Shell脚本测量经过的时间

camsedfj  于 2023-08-07  发布在  Shell
关注(0)|答案(3)|浏览(140)

如何在Mac OS X的shell脚本中测量以毫秒为单位的时间?

lmvvr0a8

lmvvr0a81#

使用time命令(manpage)。这比调用ruby来告诉你运行时间要便宜得多:

$ time a_command

字符串
要从命令do(未测试)中“提取”real时间:

real_time=$(time a_command | grep ^real | awk 'print $2')


(其中a_command可以是shell函数,如果需要的话)
这将返回以分钟和秒为单位的值,所以如果你想要以毫秒为单位的结果,那么使用python(或你最喜欢的脚本语言)在子进程调用的外部运行带有计时函数的进程,并且你不会只为了获取当前时间而调用脚本语言。有关详细信息,请参见this answerthis answer

iih3973s

iih3973s2#

您可以用途:

start_ms=$(ruby -e 'puts (Time.now.to_f * 1000).to_i')
# do some work
end_ms=$(ruby -e 'puts (Time.now.to_f * 1000).to_i')
elapsed_ms=$((end_ms - start_ms))
echo "$elapsed_ms ms passed"

字符串
或者只使用shell内置函数(适用于bash和zsh):

start_ns=$(date +%s%N)
# do some work
end_ns=$(date +%s%N)
elapsed_ms=$(((end_ns - start_ns) / 1000000))

6ovsh4lw

6ovsh4lw3#

计算主shell脚本中的代码执行

START=$(date +%s) 

//you script like flutter build ipa

END=$(date +%s)
DIFF=$(echo "$END - $START" | bc)
echo "whole process finished in $DIFF seconds"

字符串

相关问题