1
我希望使用蒙特卡羅方法來計算我的程序的運行時間,該程序接近PI。我已經編寫了一個unix shell腳本,它爲K = 1,2,... 7提供程序No的點數N = 10^{k}。 現在我想在Unix程序時間內找到Each N的執行時間。我的UNIX shell腳本如下所示:使用Unix程序計算每次迭代的程序運行時間
#!/bin/bash
k=1
N=10
while [[ k -le 7 ]]
do
echo "$k N" | ./pi $N
((k = k + 1))
((N = N * 10))
done
現在,當我鍵入:$ time ./pi.sh
,它返回我的總執行時間
10 3.6 0.1459155902616465
100 3.08 0.01960555055392467
1000 3.104 0.01196611328551369
10000 3.1284 0.004199352062629202
100000 3.1432 0.0005116342528909465
1000000 3.139704 0.0006011771092076384
10000000 3.141432 5.113762588206346e-05
real 0m0.583s
user 0m0.560s
sys 0m0.012s
我在想,如果我必須寫一個bash腳本得到執行每N次輸入的時間或我必須在我的代碼中做一些事情。
這很好用!在我得到的三個時間輸出中,哪一個表示程序運行時間? – bhjghjh
「真實」是一個真正的字時間花了。當應用程序睡眠或CPU被另一個應用程序使用時,此計時器仍會打勾。 「用戶」是在用戶模式下花費的CPU時間。 「sys」是在內核模式下花費的CPU時間。 –
好的,那個真正的運行時單元是什麼?如何在幾秒鐘內從unix腳本中獲取? – bhjghjh