วันอังคารที่ 28 กุมภาพันธ์ พ.ศ. 2560

ทำความรู้จักกับ HipHop Virtual Machine (HHVM)


     HHVM เป็นโอเพนซอร์สที่ออกแบบมาสำหรับเพิ่มประสิทธิภาพการประมวลผลโค้ดของภาษา PHP พัฒนาโดย Facebook เมื่อปี 2011 โดยจะทำหน้าที่เป็นตัวแปลภาษา PHP เป็นภาษา C++ ก่อนแล้วค่อยคอมไพล์ปกติอีกครั้ง และใช้เทคนิค Just-In-Time (JIT) Compilation ซึ่งปกติภาษา PHP จะประมวลผลแบบ Interpreter เป็นการประมวลผลทีละบรรทัด โดยจะทำการอ่าน Source Code แล้วแปลความหมายจนกระทั่งจบโปรแกรม ซึ่งการประมวลผลแบบ Interpreter จะมีข้อเสียคือทำให้โปรแกรมบางโปรแกรมทำงานได้ช้า แต่ JIT จะทำการเปลี่ยนตัว Bytecodes และทำการ Compile เป็น Native Code เพื่อส่งไปให้ CPU ทำการประมวลผล ซึ่งจะเห็นว่าการ Executing Code แบบ JIT จะทำงานได้เร็วกว่าแบบ Interpreter เพราะมีชุดคำสั่งที่ได้ทำการแปลไว้แล้วเก็บไว้ ทำให้ไม่ต้องแปล Method ที่ใช้งานซ้ำกันอีกรอบ เมื่อนำมาใช้งานจริงพบว่า HHVM สามารถประมวลผลได้เร็วกว่าปกติ และลดการใช้ทรัพยากรของเครื่องได้


     เนื่องจาก Facebook มีผู้ใช้งานจำนวนมาก เพราะฉะนั้นเรื่องของความเร็วในการประมวลผลจึงเป็นสิ่งสำคัญ และด้วยพื้นฐานของภาษา PHP ไม่สามารถตอบโจทย์ได้ ถึงเป็นจุดกำเนิดของ HHVM ซึ่งก่อนนี้ Facebook ได้พัฒนา HipHop for PHP (HPHPc) ซึ่งเป็น "Source code transformer" การทำงานคือ Hiphop จะแปลงโค้ด PHP เป็น C++ แล้วจากนั้นค่อยแปลง C++ เป็นไบนารีด้วย G++ ซึ่งเป็น C++ compiler ในชุด GCC มาตรฐานของโครงการ GNU โดย HPHPc ยอมแลกฟีเจอร์ที่ไม่ค่อยมีคนใช้ เช่น eval() ของ PHP กับประสิทธิภาพที่เพิ่มขึ้น ในชุด Hiphop ประกอบด้วยส่วนประกอบ 3 อย่างคือ Code transformer, ตัว PHP runtime เวอร์ชันของตัวเอง, และ PHP Extensions เวอร์ชันปรับแต่งอีกหลายตัว แต่ทำให้งานซับซ้อนและหาบุคคลากรได้ยากขึ้น ทำให้ Facebook หันไปพัฒนา HHVM แทน

ไม่มีความคิดเห็น:

แสดงความคิดเห็น

Set MongoDB in the windows path environment

  Let’s set MongoDB in the windows environment in just a few steps. Step 1: First download a suitable MongoDB version according to your mach...