GORAGOD.com

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