HipHop Virtual Machine for PHP

Facebook Software Engineer and HipHop for PHP team member Jason Evans provides details on Facebook’s move to a new high-performance PHP virtual machine. Described by Evans is ”a new PHP execution engine based on the HipHop language runtime that we call the HipHop Virtual Machine (hhvm).” He sees it as replacement for the HipHop PHP interpreter (hphpi). He continues:
We have long been keenly aware of the limitations to static analysis imposed by such a dynamic language as PHP, not to mention the risks inherent in developing software with hphpi and deploying with hphpc. Our experiences with hphpc led us to start experimenting with dynamic translation to native machine code, also known as just-in-time (JIT) compilation … we developed a high-level stack-based virtual machine specifically tailored to PHP that executes HipHop bytecode (HHBC). hhvm uses hphpc’s PHP>AST implementation and extends the pipeline to PHP>AST>HHBC.
He estimates the hhvm bytecode interpreter is approximately 1.6X faster for certain Facebook-specific benchmarks, with still better performance in the offing. But, as described in his blog post on the PHP compilation innovations, there is still work ahead. You can view HipHop-related information at GitHub.

Source: http://bppro.link/?c=NfN

No Comments

Leave a Reply

Training
The Savvy Cook – my second cookbook!

(UK cover on the left, US cover on the right) I’m done with exams, back in London and I’m finally going to talk about my new book, The Savvy Cook, today!! If you haven’t pre-ordered already you can do so here: Amazon UK   (out June 29th) Amazon US   (out June 20th) Dymocks …

Training
Young Gun-founded Entrepreneur First clinches £9.5m from LinkedIn co-founder

Latest funding will be used to help the organisation scale and to invest in its ongoing operational costs…In Funding news Source: http://bppro.link/?c=VRx

Training
Quite intimidating. Much. Very.

Share and Enjoy:The post Quite intimidating. Much. Very. appeared first on Indexed. Source: http://bppro.link/?c=TDF