Sista: Saving Optimized Code in Snapshots for Fast Start-Up

Abstract : Modern virtual machines for object-oriented languages such as Java HotSpot, Javascript V8 or Python PyPy reach high performance through just-in-time compilation techniques, involving on-the-fly optimization and deoptimization of the executed code. These techniques require a warm-up time for the virtual machine to collect information about the code it executes to be able to generate highly optimized code. This warm-up time required before reaching peak performance can be considerable and problematic. In this paper, we propose an approach, Sista (Speculative Inlining SmallTalk Architecture) to persist optimized code in a platform-independent representation as part of a snapshot. After explaining the overall approach, we show on a large set of benchmarks that the Sista virtual machine can reach peak performance almost immediately after start-up when using a snapshot where optimized code was persisted.
Document type :
Conference papers
Complete list of metadatas

Cited literature [24 references]  Display  Hide  Download

https://hal.inria.fr/hal-01596321
Contributor : Clement Bera <>
Submitted on : Wednesday, September 27, 2017 - 6:06:06 PM
Last modification on : Thursday, February 21, 2019 - 10:52:50 AM
Long-term archiving on : Thursday, December 28, 2017 - 2:09:15 PM

File

Hal.pdf
Files produced by the author(s)

Identifiers

Citation

Clément Béra, Eliot Miranda, Tim Felgentreff, Marcus Denker, Stéphane Ducasse. Sista: Saving Optimized Code in Snapshots for Fast Start-Up. Proceedings of the 14th International Conference on Managed Languages and Runtimes, Sep 2017, Prague, Czech Republic. pp.1 - 11, ⟨10.1145/3132190.3132201⟩. ⟨hal-01596321⟩

Share

Metrics

Record views

832

Files downloads

192