ฉันคิดว่าฉันจะแบ่งปันฟังก์ชั่นที่รวบรวมไว้ หวังว่ามันจะช่วยคุณประหยัดเวลาได้
เดิมใช้เพื่อติดตามเวลาของสคริปต์แบบข้อความดังนั้นเอาต์พุตจึงอยู่ในรูปแบบข้อความ แต่คุณสามารถปรับเปลี่ยนเป็น HTML ได้อย่างง่ายดายหากต้องการ
มันจะทำการคำนวณทั้งหมดให้คุณตามเวลาที่ใช้ไปนับตั้งแต่เริ่มต้นสคริปต์และในแต่ละขั้นตอน มันจัดรูปแบบผลลัพธ์ทั้งหมดด้วย 3 ทศนิยมความแม่นยำ (ลงไปมิลลิวินาที)
เมื่อคุณคัดลอกไปที่ด้านบนของสคริปต์ของคุณสิ่งที่คุณทำคือการใส่ฟังก์ชั่น recordTime หลังจากแต่ละชิ้นที่คุณต้องการเวลา
คัดลอกสิ่งนี้ไปยังด้านบนของไฟล์สคริปต์ของคุณ:
$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;
}
หากต้องการติดตามเวลาที่ผ่านไปเพียงทำ:
recordTime("What We Just Did")
ตัวอย่างเช่น:
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)
}
ให้ผลลัพธ์ดังนี้:
// 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
หวังว่านี่จะช่วยใครซักคน!