PHP獲取程式碼段執行的毫秒時間和消耗記憶體

OldBoy~發表於2018-02-03

我們在專案開發經常需要做一些優化型測試,比如優化程式碼段,排查程式碼段效率問題,或者降低記憶體消耗成本。

<?php
$start_memory = memory_get_usage();                 //開始記憶體
echo '開始記憶體:' . $start_memory . '<br>'; 

$start_time = microtime(true);                         //獲取程式開始執行的時間

//----------------------程式程式碼段開始-----------------------------------//
$arr = [
    'name' => '風的季節',
    'age'  => '29',
    'sex'  => 1,
    'address' => '山東省德州市慶雲縣',
    'qq'   => '645631686',
    'phone'=> '15712953567',
];

$all = [];
for($i = 0; $i< 1000; $i++) {
    $str = json_encode($arr);
    $arr = json_decode($str, true);
    $all[] = $arr;
}

unset($all); 
//----------------------程式程式碼段結束-----------------------------------//

$end_time = microtime(true);                        //獲取程式執行結束的時間
$run_time = ($end_time - $start_time) * 1000;       //計算差值 毫秒
echo "[頁面執行時間:{$run_time}]毫秒<br>";
$end_memory = memory_get_usage();
echo '執行後記憶體:'. $end_memory . '<br>';  
  
echo '使用的記憶體:' . ($end_memory - $start_memory) . '<br>';
echo '回到正常記憶體:'.memory_get_usage(); 
//結果
開始記憶體:390224
[頁面執行時間:2.8541088104248]毫秒
執行後記憶體:391256
使用的記憶體:1032
回到正常記憶體:391256

 

相關文章