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 has been deployed to run not only Facebook, but also many other sites across the web, including Wikipedia, Baidu, Slack and Box.
In addition to my work on the HipHop compiler and HHVM, at Facebook I’ve also built and contributed to the HFSort and BOLT open-source binary-optimization tools, which use profiling to improve the code locality and performance of large-scale binaries deployed across Facebook and elsewhere.
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
CC - March 3, 2021
Maksim Panchenko, Rafael Auler, Laith Sakka, Guilherme Ottoni
CGO - March 1, 2021
Guilherme Ottoni, Bin Liu
CGO - February 20, 2019
Maksim Panchenko, Rafael Auler, Bill Nell, Guilherme Ottoni
Bayesian Analysis 2018 - August 16, 2018
Ben Letham, Brian Karrer, Guilherme Ottoni, Eytan Bakshy
PLDI 2018 - June 20, 2018
CGO 2017 - February 4, 2017
Guilherme Ottoni, Bertrand Maher
OOPSLA - October 24, 2014
Keith Adams, Jason Evans, Bertrand Maher, Guilherme Ottoni, Drew Paroski, Brett Simmers, Edwin Smith, Owen Yamauchi
OOPSLA - October 24, 2012
Haiping Zhao, Minghui Yang, Xin Qi, Mark Williams, Charlie Gao, Guilherme Ottoni, Drew Paroski, Scott MacVicar, Jason Evans, Stephen Tu