Garbage collection in an uncooperative environment
Software—Practice & Experience
The measured cost of conservative garbage collection
Software—Practice & Experience
Memory allocation costs in large C and C++ programs
Software—Practice & Experience
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
A compacting incremental collector and its performance in a production quality compiler
Proceedings of the 1st international symposium on Memory management
Comparing mostly-copying and mark-sweep conservative collection
Proceedings of the 1st international symposium on Memory management
HBench:Java: an application-specific benchmarking framework for Java virtual machines
Proceedings of the ACM 2000 conference on Java Grande
Comparison of Compacting Algorithms for Garbage Collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
List processing in real time on a serial computer
Communications of the ACM
A nonrecursive list compacting algorithm
Communications of the ACM
The Case for Application-Specific Benchmarking
HOTOS '99 Proceedings of the The Seventh Workshop on Hot Topics in Operating Systems
Issues in performance modeling of applications with garbage collection
Proceedings of the 1st international workshop on Quality of service-oriented software systems
Hi-index | 0.00 |
As Java becomes a viable platform for server applications, performance becomes a greater concern. An important aspect of Java Virtual Machine performance is its dynamic memory management system (garbage collection or GC). Traditional GC benchmarking often focuses on a set of fixed applications. As a result, when an actual application's memory behavior differs from that of the standard benchmarks, the benchmark results do not help the user judge which GC implementation suits her application the best. In this paper, we present HBench:JGC, an application-specific benchmarking suite, based on the idea that a system's performance be measured in the context of a specific application. HBench:JGC employs a methodology that characterizes the application memory usage and the GC implementation independently and carefully combines both characterizations to form a single metric that reflects a particular application's performance in the presence of a particular GC implementation. We evaluate our approach on Sun Microsystems's JDK1.2.2 classic JVM with a sequential mark-sweep GC. Our results demonstrate HBench:JGC's unique predictive power and its ability to provide meaningful metrics that lead to a better understanding of GC performance.