如何計算一段php程序代碼的執行消耗時間?
對于系統時間,可能很多同學對PHP的time()函數并不陌生,可惜time()函數只返回自從 Unix 紀元(格林威治時間 1970 年 1 月 1 日 00:00:00)到當前時間的秒數. 沒錯,是秒.我們一段php程序代碼執行耗時可能并不超過一秒,所以time()并不適用.php提供了一個更為精確的時間函數microtime(): microtime — 返回當前 Unix 時間戳和微秒數.
格式: mixed microtime ([ bool $get_as_float ] )
函數以 “msec sec” 的格式返回一個字符串,sec 是自 Unix 紀元(0:00:00 January 1, 1970 GMT)起到現在的秒數,msec 是微秒部分。 如果輸入參數為true,microtime() 將返回一個浮點數。
例如:echo microtime(); 會返回:0.08845800 1376983061。
echo microtime(true);則返回:1376983061.08845800
在dedecms和康盛的UCenter代碼中使用了microtime()然后字符串分隔
在thinkphp3.2框架代碼中使用了microtime(true);
好了,然后的事情很簡單,為了免于對返回的結果做復雜的字符串轉換,我們設定microtime()輸入參數為true,使得其返回的結果為浮點數。 然后在程序開始和結束分別計算一次,兩次結果相減便是程序執行的時間。(PHP手冊里有一句話:永遠不要比較兩個浮點數是否相等。 ) 最后使用number_format格式化浮點數。此方法僅供測試,結果不一定精確。
代碼如下:
<?php $start = microtime(true); $end = microtime(true); $time=$end-$start; //精確到十位小數,可自行調節 echo number_format($time, 10, '.', '')." seconds"; ?>新聞熱點
疑難解答
圖片精選