CppCon 2014 has ended
Back To Schedule
Monday, September 8 • 2:00pm - 3:00pm
How Facebook's HHVM Uses Modern C++ for Fun and Profit (Literally)

Log in to save this to your schedule, view media, leave feedback and see who's attending!

HHVM is a just-in-time compiler for PHP used by Facebook to serve billions of requests each day. This talk will give a quick overview of HHVM's history and architecture, followed by a deep dive into what made C++ the language of choice for writing HHVM.

C++ hits a sweet spot between performance and control on one end, and safety, maintainability, and convenience on the other.

The topics we’ll cover will include:
  • how to call into generated machine code from C++;
  • taking advantage of C++'s power to control "unsafe" details with memory including how memory is allocated, field size and layout, unions, reinterpret_casts, bit-stealing;
  • integrating generated machine code with C++ exception handling and C++ profiling tools;
  • leveraging templates and using the X Macro technique to improve performance and maintainability;
  • and taking advantage of new C++11 features like unrestricted unions and move constructors.
Finally, we'll go over some obstacles we encountered such as generating machine code that calls C++ virtual methods, and how C++'s superb flexibility allowed us to work around these obstacles.


Drew Paroski

Software Engineer, Facebook
Drew Paroski is a Software Engineer at Facebook and a co-creator of the HipHop Virtual Machine (HHVM) and the Hack programming language. Among other things, Drew is the primary designer and implementor of HHVM's virtual instruction set architecture and Hack's Collections framework... Read More →

Monday September 8, 2014 2:00pm - 3:00pm PDT

Attendees (0)