Guido Chari, Diego Garbervetsky, Stefan Marr,
"A Metaobject Protocol for Optimizing Application-Specific Run-Time Variability"
: Proceeding ICOOOLPS'17 Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems, ACM, New York, 2017, ISBN: 978-1-4503-5088-4
Original Titel:
A Metaobject Protocol for Optimizing Application-Specific Run-Time Variability
Sprache des Titels:
Englisch
Original Buchtitel:
Proceeding ICOOOLPS'17 Proceedings of the 12th Workshop on Implementation, Compilation, Optimization of Object-Oriented Languages, Programs and Systems
Original Kurzfassung:
Just-in-time compilers and their aggressive speculative optimiza-
tions reduced the performance gap between dynamic and static
languages drastically. To successfully speculate, compilers rely on
the program variability observed at run time to be low, and use
heuristics to determine when optimization is bene€cial. However,
some variability paŠerns are hard to capture with heuristics. Specif-
ically, ephemeral, warmup, rare, and highly indirect variability are
challenges for today?s compiler heuristics. As a consequence, they
can lead to reduced application performance. However, these types
of variability are identi€able at the application level and could be
mitigated with information provided by developers. As a solution,
we propose a metaobject protocol for dynamic compilation systems
to enable application developers to provide such information at run
time. As a proof of concept, we demonstrate performance improve-
ments for a few scenarios in a dynamic language built on top of
the Tru„e and Graal system.