ดังที่กล่าวไว้ข้างต้น เฉพาะการค้นหาโค้ดที่ส่งผลต่อความเร็วเท่านั้นที่เราสามารถปรับให้เหมาะสมได้ คลาส Benchmark_Timer และคลาส Benchmark_Iterate ในแพ็คเกจเบนช์มาร์กของ PEAR สามารถใช้เพื่อทดสอบความเร็วของการเรียกใช้สคริปต์ได้อย่างง่ายดาย (โปรดตรวจสอบข้อมูลที่เกี่ยวข้องด้วยตัวคุณเองสำหรับการติดตั้งและการกำหนดค่า PEAR)
ขั้นแรก ให้ใช้คลาส Benchmark_Iterate เพื่อทดสอบเวลาดำเนินการของฟังก์ชันหรือวิธีการบางอย่างของคลาสในโปรแกรม
benchmark1.php
need_once('เกณฑ์มาตรฐาน/Iterate.php');
$benchmark = new Benchmark_Iterate();
$benchmark->run(10, 'myFunction','test');
$result = $benchmark->get();
echo "
"; print_r($ผลลัพธ์);
-
ออก;
ฟังก์ชั่น myFunction($var) {
//ทำอะไรสักอย่าง
สะท้อน 'สวัสดี';
}
?>
สร้างเบนช์มาร์ก วนซ้ำอ็อบเจ็กต์ $benchmark อ็อบเจ็กต์นี้ใช้เพื่อรันฟังก์ชัน myFunction 10 ครั้ง
ตัวแปร $argument จะถูกส่งผ่านไปยัง myFunction ในแต่ละครั้ง ผลการวิเคราะห์ของการรันหลายครั้งจะถูกจัดเก็บไว้ใน $result จากนั้นรับข้อมูลโดยใช้เมธอด get() ของออบเจ็กต์การวัดประสิทธิภาพ ผลลัพธ์นี้จะถูกส่งออกไปยังหน้าจอโดยใช้ print_r() โดยปกติแล้วผลลัพธ์จะเป็นดังนี้:
Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello Hello
Array
-
[1] => 0.000427 [2] => 0.000079 [3] => 0.000072 [4] => 0.000071 [5] => 0.000076 [6] => 0.000070 [7] => 0.000073 [8] => 0.0 00070 [ 9 ] => 0.000074 [10] => 0.000072 [mean] => 0.000108 [iterations] => 10)
ทุกครั้งที่ myFunction ถูกดำเนินการ ออบเจ็กต์การวัดประสิทธิภาพจะติดตามเวลาดำเนินการ และเวลาดำเนินการโดยเฉลี่ย (เส้น [mean]) จะถูกคำนวณ เมื่อเรียกใช้ฟังก์ชันเป้าหมายหลายครั้ง คุณจะได้รับเวลาทำงานโดยเฉลี่ยของฟังก์ชัน
ในการทดสอบจริง จำนวนฟังก์ชันควรมีอย่างน้อย 1,000 ครั้ง เพื่อให้ได้ผลลัพธ์ตามวัตถุประสงค์มากขึ้น