PHP Benchmark

PHP Benchmark คือการทดสอบเปรียบเทียบ ความเร็วในการประมวลผลโค้ดของ PHP (หรืออื่นๆ)เพื่อทำการ Optimize โค้ดให้ได้ความเร็วการทำงานสูงสุด

ทำไมถึงต้องทำการ Benchmark ลองนึกถึงการเรียกหน้าเพจหนึ่งๆ สมมุติให้ใช้เวลาการประมวลผลบน Server (ไม่เกี่ยวกับความล่าช้าอันเกิดจากการส่งผ่าน Internet หรือ การแสดงผลของ Browser นะครับ) เป็น 1 นาที ดังนั้นการเรียกเพจหนึ่งๆ จะสามารถทำได้เพียง 60 ครั้ง ใน 1 ชม. จาก Server ของเรา แต่หากเราสามารถลดเวลาการประผวลผลลงได้ครึ่งหนึ่ง เราก็สามารถรองรับการใช้งานของ User ได้อีกถึงเท่าตัว เห็นมั้ยครับว่า Benchmark มีความสำคัญแค่ไหน

 


ยกตัวอย่างที่เห็นกันบ่อยๆ ก็ในหน้าเพจของ Google ที่แสดงเวลาในการค้นหา(กรอบสีแดง)แหละครับ

การทำ Benchmark อาจกระทำกับการประมวลผลทั้งหน้าเพจเลยก็ได้ หรือเป็นการทำกับฟังก์ชั่นหนึ่งๆ เพื่อหาฟังก์ชั่นที่เร็วที่สุดก็ได้ ผมยกตัวอย่างการทำ Benchmark กับฟังก์ชั่นหนึ่งๆก่อนนะครับ

ยกตัวอย่างจากการ เปรียบเทียบตวามเร็วระหว่าง for-loop และ for-each เป็นการเปรียบเทียบความแตกต่างด้านความเร็วในการประมวลผลของแต่ละฟังก์ชั่น โดยการออกแบบให้ทำการวนลูปฟังก์ชั่นเพื่ออ่านค่าตัวแปรจาก array ในลูป for หรือ ลูป each ผลลัพท์จะเห็นได้อย่างชัดเจนว่า for-each มีความเร็วในการประมวลผลกว่า for อย่างเห็นได้ชัด เราก็เลือกเอา for-each ไปใช้งานแทน for ตามปกติแทน ก็จะทำให้การประมวลผลของเพจเราเร็วขึ้นแล้ว

หากเป็นการ เปรียบเทียบความเร็วการประมวลผลเพจ เราอาจใช้การวัดความเร็วของเพจหนึ่งๆก่อน ในครั้งแรก แล้วจดบันทึกไว้ หลังจากนั้นก็ลองทำการ Optimize โค้ด ด้วยการแก้ไขฟังก์ชั่น ลดขั้นตอน หรือเลือกใช้ฟังก์ชั่นที่เร็วที่สุดมาใช้ แล้วก็ทำการจดบันทึกความเร็ว ทำจนกระทั่งเราได้ความเร็วสูงสุด(หมดมุข) เป็นอันเสร็จ

จะเห็นได้ว่า การทำ Benchmark ควรทำคู่กับการ Optimize โดยทำการ Optimize แล้วตรวจสอบโดยการทำ Benchmark  

ผู้เขียน goragod โพสต์เมื่อ 11 พ.ย. 2553 เปิดดู 11,950 ป้ายกำกับ benchmark
^