Guilherme Ottoni

Software Engineer

Since joining Facebook in 2011, I’ve been focusing on compilation techniques to improve the performance of dynamic languages, particularly PHP and Hack.  I initially contributed to the HipHop compiler, which is a static compiler from PHP to C++.  After that, I moved on to building the HipHop Virtual Machine (HHVM), which is based on Just-In-Time (JIT) compilation. For many years now, I’ve been leading the design, implementation and optimization of the HHVM JIT compiler, and also HHVM’s overall performance effort. Because of its high performance, HHVM is now used to run not only Facebook, but also many other sites across the web, including Wikipedia, Baidu and Box.

Prior to Facebook, I was a staff research scientist at Intel Labs, where I conducted research on compiler, microarchitecture and binary-translation techniques to optimize and parallelize applications for modern and future Intel microprocessors.

I received my BS from FURG, MS from UNICAMP (both in Brazil) and PhD from Princeton University.


Compilers, code optimization, virtual machines, performance analysis and optimization, computer architecture and algorithms

Latest Publications

BOLT: A Practical Binary Optimizer for Data Centers and Beyond

Maksim Panchenko, Rafael Auler, Bill Nell, Guilherme Ottoni

CGO - February 20, 2019

Constrained Bayesian Optimization with Noisy Experiments

Ben Letham, Brian Karrer, Guilherme Ottoni, Eytan Bakshy

Bayesian Analysis 2018 - August 16, 2018

Optimizing Function Placement for Large-Scale Data-Center Applications

Guilherme Ottoni, Bertrand Maher

CGO 2017 - February 4, 2017

The HipHop Virtual Machine

Keith Adams, Jason Evans, Bertrand Maher, Guilherme Ottoni, Drew Paroski, Brett Simmers, Edwin Smith, Owen Yamauchi

OOPSLA - October 24, 2014

The HipHop Compiler for PHP

Haiping Zhao, Minghui Yang, Xin Qi, Mark Williams, Charlie Gao, Guilherme Ottoni, Drew Paroski, Scott MacVicar, Jason Evans, Stephen Tu

OOPSLA - October 24, 2012