首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 相關知識

PHP 取得腳本執行時間:microtime() 精確測量

     編輯:PHP 相關知識

基本用法

<?php
$start = microtime(true); // 以 float 秒為單位

// 待測程式碼
$sum = 0;
for ($i = 0; $i < 100000; $i++) {
    $sum += $i;
}

$end = microtime(true);
$elapsed = $end - $start;
echo "執行時間: $elapsed 秒"; // 例: 0.0045320987701416 秒
?>

格式化輸出函式

function formatRuntime($seconds) {
    if ($seconds < 1e-6) return round($seconds * 1e9, 2) . " ns";
    if ($seconds < 1e-3) return round($seconds * 1e6, 2) . " µs";
    if ($seconds < 1)    return round($seconds * 1e3, 2) . " ms";
    return round($seconds, 4) . " s";
}

echo "耗時: " . formatRuntime($elapsed);

應用場景

  • 效能瓶頸分析:包裹關鍵函式/查詢測量耗時
  • API 回應時間監控:記錄慢查詢日誌
  • 演算法複雜度驗證:不同輸入規模測量時間成長曲線
  • 頁面底部顯示「頁面生成耗時 0.032 秒」

進階:XHProf / Xdebug Profiler

針對大型專案建議使用專業分析工具:

// XHProf 範例
xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY);
// ... 執行程式碼 ...
$data = xhprof_disable();
// 儲存 $data 並用 xhprof_html 介面分析

注意事項

  1. microtime(true) 回傳 float,精度達微秒級
  2. 單次測量誤差較大,建議重複執行 1000 次取平均
  3. 避免在測量區塊包含 I/O (DB、HTTP、檔案) 除非刻意測量端到端延遲
  4. PHP 7.3+ 可用 hrtime(true) 取得奈秒級單調時鐘
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved