Tôi nghĩ rằng tôi sẽ chia sẻ chức năng tôi đặt cùng nhau. Hy vọng nó có thể giúp bạn tiết kiệm thời gian.
Ban đầu nó được sử dụng để theo dõi thời gian của tập lệnh dựa trên văn bản, do đó đầu ra ở dạng văn bản. Nhưng bạn có thể dễ dàng sửa đổi nó thành HTML nếu bạn thích.
Nó sẽ thực hiện tất cả các tính toán cho bạn trong bao nhiêu thời gian đã được sử dụng kể từ khi bắt đầu tập lệnh và trong từng bước. Nó định dạng tất cả các đầu ra với 3 số thập phân chính xác. (Xuống đến mili giây.)
Khi bạn sao chép nó lên đầu tập lệnh của mình, tất cả những gì bạn làm là đặt các lệnh gọi hàm recordTime sau mỗi phần bạn muốn tính thời gian.
Sao chép này vào đầu tập tin kịch bản của bạn:
$tRecordStart = microtime(true);
header("Content-Type: text/plain");
recordTime("Start");
function recordTime ($sName) {
global $tRecordStart;
static $tStartQ;
$tS = microtime(true);
$tElapsedSecs = $tS - $tRecordStart;
$tElapsedSecsQ = $tS - $tStartQ;
$sElapsedSecs = str_pad(number_format($tElapsedSecs, 3), 10, " ", STR_PAD_LEFT);
$sElapsedSecsQ = number_format($tElapsedSecsQ, 3);
echo "//".$sElapsedSecs." - ".$sName;
if (!empty($tStartQ)) echo " In ".$sElapsedSecsQ."s";
echo "\n";
$tStartQ = $tS;
}
Để theo dõi thời gian trôi qua, chỉ cần làm:
recordTime("What We Just Did")
Ví dụ:
recordTime("Something Else")
//Do really long operation.
recordTime("Really Long Operation")
//Do a short operation.
recordTime("A Short Operation")
//In a while loop.
for ($i = 0; $i < 300; $i ++) {
recordTime("Loop Cycle ".$i)
}
Cung cấp đầu ra như thế này:
// 0.000 - Start
// 0.001 - Something Else In 0.001s
// 10.779 - Really Long Operation In 10.778s
// 11.986 - A Short Operation In 1.207s
// 11.987 - Loop Cycle 0 In 0.001s
// 11.987 - Loop Cycle 1 In 0.000s
...
// 12.007 - Loop Cycle 299 In 0.000s
Hy vọng điều này sẽ giúp được ai đó!