我已经检查过这个,但是提供的解决方案对我不起作用。
使用 date 我可以获得以秒为单位的执行时间:
T="$(date +%s)"
#some work here
T="$(($(date +%s)-T))"
echo "execution time (secs) ${T}"
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试这样做时:
T="$(date +%s%N)"
#some work here
T="$(($(date +%s%N)-T))"
Run Code Online (Sandbox Code Playgroud)
将 %N(如上)添加到日期以获得纳秒精度我得到以下错误:-bash: 1369320760N: value too great for base (error token is "1369320760N")
有谁知道如何在 Mac OS X 下使用 bash 测量以毫秒为单位的执行时间?
gle*_*man 16
由于 OSX 是一个 BSD-ish 系统,它的 strftime 库没有%N(http://www.freebsd.org/cgi/man.cgi?query=date)
bash 内置time命令是否提供了您需要的信息?
time some work here
Run Code Online (Sandbox Code Playgroud)
hpa*_*avc 13
如果我需要毫秒并且 BSD 不支持日期,我会走这条路 +%s%N
perl -MTime::HiRes -e 'printf("%.0f\n",Time::HiRes::time()*1000)'
Run Code Online (Sandbox Code Playgroud)
echo $(($(date +%s%N)/1000000))
这将从纳秒转换为毫秒。
来自@mpy,date +%s.%N有效。
linux 和 OS X 之间的输出是不同的:
linux: 1369322592.573787111
OS X:1369322610.N
| 归档时间: |
|
| 查看次数: |
25866 次 |
| 最近记录: |