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

PHP 程式執行時間測量:microtime、hrtime 與 Xdebug 精準分析

     編輯:PHP 相關知識

基本計時函式

<?php
// PHP 5/7 相容
function getMicrotime() {
    [$usec, $sec] = explode(' ', microtime());
    return (float)$usec + (float)$sec;
}

$start = getMicrotime();
// ... 程式碼 ...
$end = getMicrotime();
echo "執行時間: " . ($end - $start) . " 秒";

PHP 7.3+ 高精度 hrtime

<?php
$start = hrtime(true); // 納秒
// ...
$end = hrtime(true);
echo "耗時: " . (($end - $start) / 1e9) . " 秒";

記憶體與時間同步監控

<?php
$startTime = hrtime(true);
$startMem = memory_get_usage();
// ...
$endTime = hrtime(true);
$endMem = memory_get_usage();
echo "時間: " . (($endTime - $startTime)/1e9) . "s, 記憶體: " . (($endMem - $startMem)/1024) . " KB";

進階分析工具

工具用途安裝
Xdebug + Webgrind函式級呼叫次數、耗時、記憶體、呼叫圖pecl install xdebug
Blackfire.io生產級、時間軸、比較兩次執行、CI 整合註冊帳號安裝 Agent
Tideways類 Blackfire、開源 PHP 擴充composer require tideways/php-xhprof-extension
PHPBench基準測試框架、統計顯著性composer require phpbench/phpbench

微效能優化原則

  • 先測量、找熱點,再優化(過早優化是萬惡之源)。
  • 關注「演算法複雜度」優於「微觀語法」(如 echo vs print)。
  • 資料庫查詢通常是最大瓶頸:索引、EXPLAIN、避免 N+1。
  • OpCache 必開啟(opcache.enable=1),生產環境 opcache.validate_timestamps=0。

結語

用 hrtime()(PHP 7.3+)或 microtime() 做基本計時;引入 Xdebug/Blackfire 做深度剖析。記住:測量是優化的起點,演算法與架構優於語法技巧。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved