Pretenuring for Java
- 1 October 2001
- journal article
- Published by Association for Computing Machinery (ACM) in ACM SIGPLAN Notices
- Vol. 36 (11), 342-352
- https://doi.org/10.1145/504311.504307
Abstract
Pretenuring can reduce copying costs in garbage collectors by allocating long-lived objects into regions that the garbage collector with rarely, if ever, collect. We extend previous work on pretenuring as follows. (1) We produce pretenuring advice that is neutral with respect to the garbage collector algorithm and configuration. We thus can and do combine advice from different applications. We find that predictions using object lifetimes at each allocation site in Java prgroams are accurate, which simplifies the pretenuring implementation. (2) We gather and apply advice to applications and the Jalapeño JVM, a compiler and run-time system for Java written in Java. Our results demonstrate that building combined advice into Jalapeño from different application executions improves performance regardless of the application Jalapeño is compiling and executing. This build-time advice thus gives user applications some benefits of pretenuring without any application profiling. No previous work pretenures in the run-time system. (3) We find that application-only advice also improves performance, but that the combination of build-time and application-specific advice is almost always noticeably better. (4) Our same advice improves the performance of generational and Older First colleciton, illustrating that it is collector neutral.Keywords
This publication has 18 references indexed in Scilit:
- Dynamic adaptive pre-tenuringPublished by Association for Computing Machinery (ACM) ,2000
- Java server benchmarksIBM Systems Journal, 2000
- The Jalapeño virtual machineIBM Systems Journal, 2000
- Implementing jalapeño in JavaPublished by Association for Computing Machinery (ACM) ,1999
- Generational stack collection and profile-driven pretenuringPublished by Association for Computing Machinery (ACM) ,1998
- Garbage collection using a dynamic threatening boundaryPublished by Association for Computing Machinery (ACM) ,1995
- Using lifetime predictors to improve memory allocation performancePublished by Association for Computing Machinery (ACM) ,1993
- Fast allocation and deallocation of memory based on object lifetimesSoftware: Practice and Experience, 1990
- Simple generational garbage collection and fast allocationSoftware: Practice and Experience, 1989
- A third generation Smalltalk-80 implementationPublished by Association for Computing Machinery (ACM) ,1986