Journal article
Title:
Reusing Just-in-Time Compiled Code
Authors:
M. Mehta, S. Krynski, H. Gualandi, M. Thakur, J. Vitek
Publication:
Artifact of "Reusing Just-in-Time Compiled Code"
7
(OOPSLA2)
DOI:
Year:
2023
Abstract:
Most code is executed more than once. If not entire programs then libraries remain unchanged from one run to the next. Just-in-time compilers expend considerable effort gathering insights about code they compiled many times, and often end up generating the same binary over and over again. We explore how to reuse compiled code across runs of different programs to reduce warm-up costs of dynamic languages. We propose to use speculative contextual dispatch to select versions of functions from an off-line curated code repository. That repository is a persistent database of previously compiled functions indexed by the context under which they were compiled. The repository is curated to remove redundant code and to optimize dispatch. We assess practicality by extending Ř, a compiler for the R language, and evaluating its performance. Our results suggest that the approach improves warmup times while preserving peak performance.
BibTeX:
@article{mehta_reusing_2023, title = {{Reusing Just-in-Time Compiled Code}}, author = {Mehta, Meetesh Kalpesh and Krynski, Sebastián and Gualandi, Hugo Musso and Thakur, Manas and Vitek, Jan}, year = {2023}, journal = {{Artifact of "Reusing Just-in-Time Compiled Code"}}, number = {OOPSLA2}, doi = {10.1145/3622839}, pages = {263:1176--263:1197}, url = {https://dl.acm.org/doi/10.1145/3622839}, volume = {7}, }