Affiliation:
1. IBM T.J. Watson Research Center
2. Purdue University and IBM T.J. Watson Research Center
Abstract
Virtual machines for languages such as the Java programming language make extensive use of online profiling and dynamic optimization to improve program performance. But despite the important role that profiling plays in achieving high performance, current virtual machines discard a program's profile data at the end of execution, wasting the opportunity to use past knowledge to improve future performance. In this paper, we present a fully automated architecture for exploiting cross-run profile data in virtual machines. Our work addresses a number of challenges that previously limited the practicality of such an approach.We apply this architecture to address the problem of
selective optimization
, and describe our implementation in IBM's J9 Java virtual machine. Our results demonstrate substantial performance improvements on a broad suite of Java programs, with the average performance ranging from 8.8% -- 16.6% depending on the execution scenario.
Publisher
Association for Computing Machinery (ACM)
Subject
Computer Graphics and Computer-Aided Design,Software
Cited by
18 articles.
订阅此论文施引文献
订阅此论文施引文献,注册后可以免费订阅5篇论文的施引文献,订阅后可以查看论文全部施引文献
1. Automatically Generated Supernodes for AST Interpreters Improve Virtual-Machine Performance;Proceedings of the 22nd ACM SIGPLAN International Conference on Generative Programming: Concepts and Experiences;2023-10-22
2. Reusing Just-in-Time Compiled Code;Proceedings of the ACM on Programming Languages;2023-10-16
3. HHVM Jump-Start: Boosting Both Warmup and Steady-State Performance at Scale;2021 IEEE/ACM International Symposium on Code Generation and Optimization (CGO);2021-02-27
4. Exploring Impact of Profile Data on Code Quality in the HotSpot JVM;ACM Transactions on Embedded Computing Systems;2020-11-30
5. PAYJIT: space-optimal JIT compilation and its practical implementation;Proceedings of the 27th International Conference on Compiler Construction;2018-02-24