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.
Interests
Compilers, code optimization, virtual machines, performance analysis and optimization, computer architecture and algorithms
Latest Publications
CGO - February 20, 2019
BOLT: A Practical Binary Optimizer for Data Centers and Beyond
Maksim Panchenko, Rafael Auler, Bill Nell, Guilherme Ottoni
Bayesian Analysis 2018 - August 16, 2018
Constrained Bayesian Optimization with Noisy Experiments
Ben Letham, Brian Karrer, Guilherme Ottoni, Eytan Bakshy
PLDI 2018 - June 20, 2018
HHVM JIT: A Profile-Guided, Region-Based Compiler for PHP and Hack
Guilherme Ottoni
CGO 2017 - February 4, 2017
Optimizing Function Placement for Large-Scale Data-Center Applications
Guilherme Ottoni, Bertrand Maher
OOPSLA - October 24, 2014
The HipHop Virtual Machine
Keith Adams, Jason Evans, Bertrand Maher, Guilherme Ottoni, Drew Paroski, Brett Simmers, Edwin Smith, Owen Yamauchi
OOPSLA - October 24, 2012
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