จุดกำเริ่มต้นของ HHVM (HipHop Virtual Machine) 

ต้องย้อนไปปี 2010  Facebook เปิดตัว HipHop for PHP ตัวแปลภาษา PHP เป็นไบนารีเพื่อเร่งความเร็วของ PHP  โดยจะแปลงเป็น C++ ก่อนแล้วค่อยคอมไพล์ปกติอีกครั้ง

HipHop เวอร์ชันแรกมีปัญหาเรื่องความซับซ้อนของโค้ด และ ไม่สนับสนุนภาษา  PHP  เต็มรูปแบบ บางคำสั่งก็ได้ บางคำสั่งก็ไม่ได้ รวมถึงคำสั่งที่ใช้บ่อยในการเขียน Advance PHP Programming ในยุคหลังอย่าง create_function, eval ก็ใช้งานไม่ได้เช่นกัน ผนวกกับปัญหาอีกมากมาย เช่นกิน Resource ในการคอมไพล์มาก Debug ยาก จนส่งผลให้ท้ายที่สุด Facebook ก็ประกาศยกเลิกใช้เจ้า HPHPc ไป ช่วงปลายปี 2011 บริษัทเลยออกซอฟต์แวร์เวอร์ชันสองชื่อ HipHop Virtual Machine หรือ HipHop VM (HHVM) โดยใช้เทคนิคด้านการแปลงโค้ดแบบใหม่มาช่วย ซอฟต์แวร์เวอร์ชันสองสามารถทดแทนซอฟต์แวร์เวอร์ชันแรกในบางส่วน แต่ยังไม่สามารถเอาชนะซอฟต์แวร์เวอร์ชันแรกในส่วนของ C++ ในเรื่องประสิทธิภาพได้ อีก 2 ปีต่อมา Facebook ได้ประกาศว่า HHVM นั้นมีประสิทธิเหนือกว่า HPHPc แล้ว

สำหรับเจ้าตัว HHVM นั้นทำตัวเป็น Interpreter ทำงานแทน PHP Interpreter เช่นพวก php5-fpm เลยโดยสมบูรณ์ ทำหน้าที่รับโค้ดเข้ามา แล้วแปลงเป็น Bytecode (HHBC) ก่อนจะแปลงเป็น Binary เพื่อรันแบบ Native อีกทีหนึ่งด้วย JIT ผลคือไม่ต้องมานั่งคอมไพล์ก่อนรันเพราะมันคอมไพล์แบบ Runtime ให้ แถมยังคงซึ่งประสิทธิภาพที่เหนือกว่า  PHP  ทั่วไปอย่างมหาศาล จากการที่มันเป็น Native และ I/O Non Blocking

http://nuuneoi.com/blog/671/hhvm-vs-hphpc1.png

ยังไม่หมดเพียงแค่นั้นทาง Facebook ได้ปล่อย Hack Language  ที่สร้างขึ้นมาเองเพื่อนพัฒนาเจ้าตัว HHMV

http://files.phpclasses.org/files/blog/file/hhvm-hack.png

โดยสร้างโครงสร้างภาษาเพิ่มเติมจาก  PHP  ของตัวเองขึ้นมาพร้อมกับ Library เพิ่มเติมบางส่วน ชื่อว่า Hack Language ที่ทำให้การเขียนโปรแกรมด้วย  PHP  ที่ว่าง่ายแล้ว ง่ายขึ้นไปอีกและมีรูปแบบภาษาที่ Flexible น้อยลง 

Credit : http://nuuneoi.com/

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
M181 - อธิราช กุลเมือง
โดย athirach.offcial จ 25 มี.ค. 2024 10:15 am บอร์ด Dev Teams
0
9
จ 25 มี.ค. 2024 10:15 am โดย athirach.offcial View Topic M181 - อธิราช กุลเมือง
การสำรองข้อมูล Backup Joomla! ทั้งเว็บ ด้วย MJClone
โดย mindphp อ 24 มี.ค. 2024 1:33 am บอร์ด MindPHP News & Feedback
0
217
อ 24 มี.ค. 2024 1:33 am โดย mindphp View Topic การสำรองข้อมูล Backup Joomla! ทั้งเว็บ ด้วย MJClone
Start Directadmin แบบเมนนวล
โดย mindphp ศ 22 มี.ค. 2024 5:35 am บอร์ด Linux - Web Server
1
233
ศ 22 มี.ค. 2024 5:43 am โดย mindphp View Topic Start Directadmin แบบเมนนวล
คำสั่ง Command Line สำรองเว็บไซต์ บน Directadmin Backup Website ขนาดใหญ่
โดย mindphp ศ 22 มี.ค. 2024 5:31 am บอร์ด Linux - Web Server
1
465
ศ 22 มี.ค. 2024 11:52 pm โดย mindphp View Topic คำสั่ง Command Line สำรองเว็บไซต์ บน Directadmin Backup Website ขนาดใหญ่
Vmware Exsi 5 เพิ่ม HDD เป็น data store ไม่ได้เจอ Error Call "HostDatastoreSystem.QueryVmfsDatastoreCreateOptions" for
โดย mindphp พฤ 21 มี.ค. 2024 6:53 am บอร์ด ถาม - ตอบ คอมพิวเตอร์
3
504
ศ 05 เม.ย. 2024 10:04 am โดย mindphp View Topic Vmware Exsi 5 เพิ่ม HDD เป็น data store ไม่ได้เจอ Error  Call "HostDatastoreSystem.QueryVmfsDatastoreCreateOptions" for
ถ้าใช้เมนบอร์ดที่ใส่ cpu ได้สองตัว และ cpu รันปกติแต่ vmwere
โดย Anonymous พ 20 มี.ค. 2024 3:09 pm บอร์ด ถาม - ตอบ คอมพิวเตอร์
1
216
พฤ 21 มี.ค. 2024 6:48 am โดย mindphp View Topic ถ้าใช้เมนบอร์ดที่ใส่ cpu ได้สองตัว และ cpu รันปกติแต่ vmwere
วิธีตั้งค่าการเก็บ Logs Error ของ OpenLiteSpeed ใช้ได้กับ Apache, Nginx
โดย mindphp พ 20 มี.ค. 2024 2:27 pm บอร์ด Linux - Web Server
0
280
พ 20 มี.ค. 2024 2:27 pm โดย mindphp View Topic วิธีตั้งค่าการเก็บ Logs Error ของ OpenLiteSpeed ใช้ได้กับ Apache, Nginx
วิธีแก้ปัญหา ลืมรหัสผ่าน ไม่รู้รหัสผ่าน เข้า WebAdmin Console ของ OpenLiteSpeed ไม่ได้
โดย mindphp พ 20 มี.ค. 2024 2:16 pm บอร์ด Linux - Web Server
0
171
พ 20 มี.ค. 2024 2:16 pm โดย mindphp View Topic วิธีแก้ปัญหา ลืมรหัสผ่าน ไม่รู้รหัสผ่าน เข้า WebAdmin Console ของ OpenLiteSpeed ไม่ได้