Abstract
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.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Reference41 articles.
1. The hiphop virtual machine
2. Alexa. 2017. The top 500 sites on the web. Web site: http://www.alexa.com/topsites. Alexa. 2017. The top 500 sites on the web. Web site: http://www.alexa.com/topsites.
3. Design and Analysis of Benchmarking Experiments for Distributed Internet Services
4. Dynamo
5. Threaded code
Cited by
1 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Twig: Profile-Guided BTB Prefetching for Data Center Applications;MICRO-54: 54th Annual IEEE/ACM International Symposium on Microarchitecture;2021-10-17