ฉันสร้างคลาส ExecutionTime จากคำตอบ phihag ที่คุณสามารถใช้ออกจากกล่อง:
class ExecutionTime
{
private $startTime;
private $endTime;
public function start(){
$this->startTime = getrusage();
}
public function end(){
$this->endTime = getrusage();
}
private function runTime($ru, $rus, $index) {
return ($ru["ru_$index.tv_sec"]*1000 + intval($ru["ru_$index.tv_usec"]/1000))
- ($rus["ru_$index.tv_sec"]*1000 + intval($rus["ru_$index.tv_usec"]/1000));
}
public function __toString(){
return "This process used " . $this->runTime($this->endTime, $this->startTime, "utime") .
" ms for its computations\nIt spent " . $this->runTime($this->endTime, $this->startTime, "stime") .
" ms in system calls\n";
}
}
การใช้งาน:
$executionTime = new ExecutionTime();
$executionTime->start();
// code
$executionTime->end();
echo $executionTime;
หมายเหตุ: ใน PHP 5 ฟังก์ชัน getrusage ใช้งานได้กับระบบ Unix-oid เท่านั้น ตั้งแต่ PHP 7 มันยังทำงานบน Windows