人。我对以下结果感到困惑:
1)。 时间xxxxx
real 0m28.942s
user 0m28.702s
sys 0m0.328s
2)。 / usr / bin / time -p xxxxx
real 28.48
user 0.00
sys 0.13
如此。我有一些问题(用户:0m28.702s!= 0,sys:0m0.328s!= 0.13):
任何建议?
答案 0 :(得分:1)
使用type
:
$ type time
time is a shell keyword
$ type /usr/bin/time
/usr/bin/time is /usr/bin/time
因此第一个命令使用内置的bash,而后者则使用外部程序。但是,不知道你使用的系统,我不知道该程序来自哪里。在Gentoo Linux上,默认情况下没有/usr/bin/time
,唯一可用的实现是GNU time,它具有不同的输出。
也就是说,我尝试过类似于你的命令(假设它正在处理1G文件),并得到以下结果:
$ time sed -e 's/0//g' big-file > big-file2
real 0m40.600s
user 0m31.295s
sys 0m4.174s
$ /usr/bin/time sed -e 's/0//g' big-file > big-file2
35.06user 3.31system 0:40.58elapsed 94%CPU (0avgtext+0avgdata 3488maxresident)k
8inputs+2179176outputs (0major+276minor)pagefaults 0swaps
如您所见,数字相似。
然后,鉴于您的结果(0
用户空间时间是非常不可能的),我会说您的/usr/bin/time
只是被打破了。这可能值得向其作者报告错误。