HHVM JIT: a profile-guided, region-based compiler for PHP and Hack
By Guilherme Ottoni. 2018
54 citations recorded by the source corpus.
Dynamic languages such as PHP, JavaScript, Python, and Ruby have been gaining popularity over the last two decades. A very popular domain for these languages is web development, including server-side development of large-scale websites. As a result, improving the performance of these languages has become more important. Efficiently compiling programs in these languages is challenging, and many popular dynamic languages still lack efficient production-quality implementations. This paper describes the design of the second generation of the HHVM JIT and how it addresses the challenges to efficiently execute PHP and Hack programs. This new design uses profiling to build an aggressive region-based JIT compiler. We discuss the benefits of this approach compared to the more popular method-based and trace-based approaches to compile dynamic languages. Our evaluation running a very large PHP-based code base, the Facebook website, demonstrates the effectiveness of the new JIT design.
Subfields: Artificial Intelligence, Hardware and Architecture, Software, ML Systems & Hardware, Software Engineering
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
In Hardware and Architecture
In Software
In ML Systems & Hardware
In Software Engineering
Citations in the corpus
- SoftSKU: Optimizing Server Architectures for Microservice Diversity @Scale (2019, methodology): “Web implements the HipHop Virtual Machine, a Just-In-Time (JIT) compilation and runtime system for PHP and Hack [18,24,25], to serve web requests originating from end-users.”