2013-12-19 69 views

回答

4

你的意思是這樣?

$ time seq 1 5 | awk '{sum+=$1} END {print sum}' 
15 

real 0m0.019s 
user 0m0.000s 
sys 0m0.000s 
+0

您可以隨時使用'time(seq 1 5 | awk'{sum + = $ 1} END {print sum}')在子shell中執行它。 –

2

只是在前面加上time

time seq 1 5 | awk '{sum+=$1} END {print sum}' 

輸出:

15 

real 0m0.063s 
user 0m0.076s 
sys  0m0.030s 
+0

HA更完整的解釋,我的機器比你:-) –

+0

@FredrikPihl更快:我在Cygwin上ATM :-) – choroba

+0

解釋的數字...... –

2

可以使用time命令:

$ time seq 1 5 | awk '{sum+=$1} END {print sum}' 
2

時間是一個複雜的實體,有許多可能的答案。你想要CPU被阻塞的時間量嗎?進程還活着的時間?用戶不得不等待答案的時間量?或者時間的其他一些含義。

通常,您可以從POSIX time實用程序中獲得所需的信息。

time { seq 1 5 | awk … } 

real 0m0.005s 
user 0m0.002s 
sys 0m0.003s 

真正是經過的總時間。

用戶是在內核以外花費的CPU時間量。 (用戶模式CPU時間)

sys是在內核中花費的CPU時間量。

有一個在What do 'real', 'user' and 'sys' mean in the output of time(1)?