This event has ended. View the official site or create your own event → Check it out
This event has ended. Create your own
View analytic
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 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, and he was a core contributor to HHVM's JIT compiler in the early days of the project. Before Facebook, Drew was at Microsoft where he worked on improving the... Read More →

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

Attendees (41)