使用/ usr / bin / time shell命令提高%e精度(Linux)

时间:2013-03-31 00:12:39

标签: linux shell time precision

当我在shell time ./myapp中运行time命令时,我得到如下输出:

真实0m0.668s

用户0m0.112s

sys 0m0.028s

然而,当我运行命令\time -f %e ./myapp时,我失去了精确度,我得到了:

2.01s

为什么输出不是3位数的精度?如果我使用%E命令,我也会以同样的方式失去精度。如何更改它以再次获得更高的精度,但仍然只输出秒数?

我的研究基于 Linux / Unix Command: time

2 个答案:

答案 0 :(得分:1)

您可以尝试使用/usr/bin/time -p-p选项应以标准格式显示输出。这是我MacBook的一个例子:

gondolin% /usr/bin/time find . -name '*.pyc' > /dev/null
        0.10 real         0.04 user         0.05 sys
gondolin% /usr/bin/time -p find . -name '*.pyc' > /dev/null
real         0.10
user         0.04
sys          0.05

根据die.nettime实用程序应该允许您在TIME环境变量中指定格式。 bash builtin做了类似的事情,但改为使用TIMEFORMAT环境变量:

bash-3.2$ time find . -name '*.pyc' > /dev/null

real        0m0.155s
user        0m0.051s
sys         0m0.068s
bash-3.2$ export TIMEFORMAT='real    %R
user    %U
sys     %S'
bash-3.2$ time find . -name '*.pyc' > /dev/null
real    0.107
user    0.049
sys     0.058
bash-3.2$ 

答案 1 :(得分:0)

在其他论坛上询问后,其中一个人给了我正在寻找的答案。它可以在here中找到。