Zur Hauptnavigation wechseln Zur Suche wechseln Zum Hauptinhalt wechseln

Hybrid Execution: Combining Ahead-of-Time and Just-in-Time Compilation

Publikation: Beitrag in Buch/Bericht/KonferenzbandKonferenzbeitragBegutachtung

Abstract

Ahead-of-time (AOT) compilation is a well-known approach to statically compile programs to native code before they are executed. In contrast, just-in-time (JIT) compilation typically starts with executing a slower, less optimized version of the code and compiles frequently executed methods at run time. In doing so, information from static and dynamic analysis is utilized to speculate and help generate highly efficient code. However, generating such an efficient JIT-compiled code is challenging, and this introduces a trade-off between warm-up performance and peak performance. In this paper, we present a novel way to execute programs by bringing together the divergence that existed between AOT and JIT compilation. Instead of having the JIT compiler analyze the program during interpretation to produce optimal code, critical functions are initially executed natively with code produced by the AOT compiler in order to gain a head start. Thus, we avoid the overhead of JIT compilation for natively executed methods and increase the warm-up performance. We implemented our approach in GraalVM, which is a multi-language virtual machine based on the Java HotSpot VM. Improvements in warm-up performance show a speed-up of up to 1.7x.
OriginalspracheEnglisch
TitelVMIL 2023: Proceedings of the 15th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages
Herausgeber*innenAndrea Rosa, Martin Henz
VerlagACM Digital Library
Seiten39-49
Seitenumfang11
ISBN (elektronisch)9798400704017
DOIs
PublikationsstatusVeröffentlicht - 18 Okt. 2023

Publikationsreihe

NameVMIL 2023 - Proceedings of the 15th ACM SIGPLAN International Workshop on Virtual Machines and Intermediate Languages, Co-located with: SPLASH 2023

Wissenschaftszweige

  • 102 Informatik
  • 102009 Computersimulation
  • 102011 Formale Sprachen
  • 102013 Human-Computer Interaction
  • 102022 Softwareentwicklung
  • 102024 Usability Research
  • 102029 Praktische Informatik

JKU-Schwerpunkte

  • Digital Transformation

Dieses zitieren