จุดกำเริ่มต้นของ 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/

กระทู้ล่าสุดจากเว็บบอร์ด
หัวข้อกระทู้
ตอบ
เปิดดู
ล่าสุด
สร้าง Web Layout ยอดนิยมด้วย Bootstrap, CSS
โดย Sakana ศ 20 มิ.ย. 2025 1:20 pm บอร์ด Booststap Knowledge
0
4
ศ 20 มิ.ย. 2025 1:20 pm โดย Sakana View Topic สร้าง Web Layout ยอดนิยมด้วย Bootstrap, CSS
สร้างเว็บไซต์ Responsive ด้วย Bootstrap: ตั้งแต่ติดตั้งจนถึงตัวอย่างการใช้งานจริง
โดย Sakana ศ 20 มิ.ย. 2025 11:43 am บอร์ด Booststap Knowledge
0
8
ศ 20 มิ.ย. 2025 11:43 am โดย Sakana View Topic สร้างเว็บไซต์ Responsive ด้วย Bootstrap: ตั้งแต่ติดตั้งจนถึงตัวอย่างการใช้งานจริง
Hash Password คืออะไร?
โดย Sakana พฤ 19 มิ.ย. 2025 4:40 pm บอร์ด Microsoft Office Knowledge & line & Etc
0
19
พฤ 19 มิ.ย. 2025 4:40 pm โดย Sakana View Topic Hash Password คืออะไร?
วิธีใช้ Recursive function ใน JavaScript
โดย Sakana พฤ 19 มิ.ย. 2025 1:41 pm บอร์ด jQuery & Ajax Knowledge
1
25
พฤ 19 มิ.ย. 2025 5:07 pm โดย Sakana View Topic วิธีใช้ Recursive function ใน JavaScript
การใช้ List Comprehensions ร่วมกับ map() ใน Python
โดย Sakana พฤ 19 มิ.ย. 2025 11:13 am บอร์ด Python Knowledge
0
13
พฤ 19 มิ.ย. 2025 11:13 am โดย Sakana View Topic การใช้ List Comprehensions ร่วมกับ map() ใน Python
การเชื่อมโยงข้อมูล Primary Key (PK) และ Foreign Key (FK) ใน MySql
โดย Sakana พฤ 19 มิ.ย. 2025 10:16 am บอร์ด SQL Knowledge
0
21
พฤ 19 มิ.ย. 2025 10:16 am โดย Sakana View Topic การเชื่อมโยงข้อมูล Primary Key (PK) และ Foreign Key (FK) ใน MySql
Python map() คืออะไร? ประยุกต์ใช้เพื่อเปลี่ยนข้อมูลในพริบตา
โดย Sakana พ 18 มิ.ย. 2025 7:00 pm บอร์ด Python Knowledge
0
35
พ 18 มิ.ย. 2025 7:00 pm โดย Sakana View Topic Python map() คืออะไร? ประยุกต์ใช้เพื่อเปลี่ยนข้อมูลในพริบตา
ผมติดตั้ง Joomla ไม่ได้ครับ
โดย Sakana พ 18 มิ.ย. 2025 4:20 pm บอร์ด สอบถามปัญหาการใช้ phpBB3, SMF, Joomla, Wordpress, CMS, CRM
5
54
พ 18 มิ.ย. 2025 5:57 pm โดย Sakana View Topic ผมติดตั้ง Joomla ไม่ได้ครับ