如何在Mac OS X的shell脚本中测量以毫秒为单位的时间?
lmvvr0a81#
使用time命令(manpage)。这比调用ruby来告诉你运行时间要便宜得多:
time
ruby
$ time a_command
字符串要从命令do(未测试)中“提取”real时间:
real
real_time=$(time a_command | grep ^real | awk 'print $2')
型(其中a_command可以是shell函数,如果需要的话)这将返回以分钟和秒为单位的值,所以如果你想要以毫秒为单位的结果,那么使用python(或你最喜欢的脚本语言)在子进程调用的外部运行带有计时函数的进程,并且你不会只为了获取当前时间而调用脚本语言。有关详细信息,请参见this answer和this answer。
a_command
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))
型
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"
字符串
3条答案
按热度按时间lmvvr0a81#
使用
time
命令(manpage)。这比调用ruby
来告诉你运行时间要便宜得多:字符串
要从命令do(未测试)中“提取”
real
时间:型
(其中
a_command
可以是shell函数,如果需要的话)这将返回以分钟和秒为单位的值,所以如果你想要以毫秒为单位的结果,那么使用python(或你最喜欢的脚本语言)在子进程调用的外部运行带有计时函数的进程,并且你不会只为了获取当前时间而调用脚本语言。有关详细信息,请参见this answer和this answer。
iih3973s2#
您可以用途:
字符串
或者只使用shell内置函数(适用于bash和zsh):
型
6ovsh4lw3#
计算主shell脚本中的代码执行
字符串