2
我正在使用雲託管。 PHP腳本運行時間差垂直刻度變化:php如何計算執行時間?
- 10S:128MB - 200Mhz的
- 1S:2GB - 3 GHz的
但我覺得執行時間在這兩個情況下小於1s ,因爲我set_time_limit(1)並沒有顯示超時錯誤。
可以肯定,我使用getrusage()來計算執行時間。在這兩種情況下,他們都小於1秒。
這是什麼行爲?爲什麼第一個設置需要10秒才能執行1s任務而不顯示超時錯誤?
<?php
set_time_limit(1);
$rustart = getrusage();
echo date("m/d/Y h:i:s a", time()).'<br>';
//Begin of the task
$a = 0;
for ($i=0; $i<6000000; $i++) {
$a = $a + $i;
if ($i % 1000000 == 0){
echo "$i <br>";
}
}
//End of the task
echo date("m/d/Y H:i:s a", time());
echo '<br>';
function rutime($ru, $rus, $index) {
return ($ru["ru_$index.tv_sec"]*1000 + intval($ru["ru_$index.tv_usec"]/1000))
;
}
$ru = getrusage();
echo "This process used " . rutime($ru, $rustart, "utime") .
" ms for its computations<br>";
echo "It spent " . rutime($ru, $rustart, "stime") .
" ms in system calls<br>";
?>