To Compile or Not To Compile: Evaluating Static Heuristics to Reduce Binary Size of Hybrid Execution Systems
This program is tentative and subject to change.
To compile, or not to compile, that is the question: When \textquoteright tis nobler to optimize for performance. Modern compilers have many different optimizations and optimization goals. A common one is to balance between peak performance and startup time. A new ahead-of-time compiled native executable that embeds a managed runtime tries to offer both, while solidifying the notion that everything should be compiled. However, the cost of an enlarged binary size raises the question whether it is beneficial to compile everything.
In this paper, we evaluate static heuristics from classical AOT compilers as well as other techniques based on our own observations. Our goal is to identify heuristics that work in a compilation-first environment and that allow us to reduce binary size while maintaining peak performance.
We compare the different policies in a closed-world hybrid execution system for Java, based on GraalVM Native Image, on a set of 5 DaCapo and 13 Renaissance benchmarks. We find that with the best combination of heuristics we can reduce binary size by $20%$ while slowing down average performance by only $4%$, but avoiding the need for any run-time feedback or complex machine-learning-based approaches. The most promising combination for production use combines heuristics based on early returns, estimated CPU cycles, number of parameters, and whether a method is a static initializer.
This program is tentative and subject to change.
Tue 30 JunDisplayed time zone: Brussels, Copenhagen, Madrid, Paris change
16:00 - 17:30 | |||
16:00 30mTalk | A Unifying Approach to Supporting Multiple Garbage Collectors in AOT-compiled Binaries MPLR Thomas Schrott Johannes Kepler University Linz, Christian Häubl Oracle Labs, Hanspeter Mössenböck JKU Linz, Stefan Marr Johannes Kepler University Linz | ||
16:30 30mTalk | Load-Site-Based Filtering of Transiently Hot Objects to Reduce the Effective Working Set MPLR Naoki Nakanishi The University of Tokyo, Takato Hideshima The University of Tokyo, Japan, Tomoharu Ugawa University of Tokyo | ||
17:00 30mTalk | To Compile or Not To Compile: Evaluating Static Heuristics to Reduce Binary Size of Hybrid Execution Systems MPLR Christoph Pichler Johannes Kepler University Linz, Bernhard Urban-Forster Oracle Labs, Paley Li , Roland Schatz Oracle Labs, Stefan Marr Johannes Kepler University Linz | ||