A portable sampling-based profiler for Java virtual machines
- 3 June 2000
- proceedings article
- Published by Association for Computing Machinery (ACM)
Abstract
This paper describes a portable and ecient sampling-based online measurement system for production-level Java virtual machines. This system is designed to provide continuous real time system performance measurements to a dynamic compiler, which can use these measurements to target fre- quently executed and time-consuming code for optimization and to make more informed optimization decisions. Because the system has very low overhead, it can be run continu- ously, providing a feedback mechanism to the dynamic com- piler. This system utilizes a novel data structure, the partial calling context tree (PCCT), which allows the ecient en- coding of approximate context-sensitive profile information. The PCCT is organized such that both incremental updates and extracting the important information are ecient oper- ations. This online measurement system has been implemented in a cross-platform industry-leading Java Just-In-Time com- piler. We present detailed performance results on a variety of platforms that show that the system is not only ecient enough to be used continuously in a production environment (2-4% slowdown for most applications) but is also surpris- ingly accurate in the data that it collects (typically 90% accurate).Keywords
This publication has 10 references indexed in Scilit:
- A comparative study of static and profile-based heuristics for inliningPublished by Association for Computing Machinery (ACM) ,2000
- Overview of the IBM Java Just-in-Time CompilerIBM Systems Journal, 2000
- The Jalapeño dynamic optimizing compiler for JavaPublished by Association for Computing Machinery (ACM) ,1999
- Design, implementation, and evaluation of optimizations in a just-in-time compilerPublished by Association for Computing Machinery (ACM) ,1999
- Continuous profilingACM Transactions on Computer Systems, 1997
- Exploiting hardware performance counters with flow and context sensitive profilingPublished by Association for Computing Machinery (ACM) ,1997
- tccPublished by Association for Computing Machinery (ACM) ,1997
- Visualizing interactions in program executionsPublished by Association for Computing Machinery (ACM) ,1997
- Inaccuracies in program profilersSoftware: Practice and Experience, 1988
- GprofACM SIGPLAN Notices, 1982