filmov
tv
CppCon 2014: Drew Paroski 'How HHVM Uses Modern C++ for Fun and Profit (Literally)'

Показать описание
--
--
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 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 performance of Microsoft's runtime and JIT compiler for .NET languages (C#, VB.NET, F#, and more) known as the Common Language Runtime. Drew enjoys designing and optimizing complex low-level systems and been coding in C++ for over 10 years.
--
*-----*
*-----*
--
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 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 performance of Microsoft's runtime and JIT compiler for .NET languages (C#, VB.NET, F#, and more) known as the Common Language Runtime. Drew enjoys designing and optimizing complex low-level systems and been coding in C++ for over 10 years.
--
*-----*
*-----*