Simple generational garbage collection and fast allocation
Software—Practice & Experience
The treadmill: real-time garbage collection without motion sickness
ACM SIGPLAN Notices
Garbage collection: algorithms for automatic dynamic memory management
Garbage collection: algorithms for automatic dynamic memory management
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
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
Copying cyclic list structures in linear time using bounded workspace
Communications of the ACM
Beltway: getting around garbage collection gridlock
PLDI '02 Proceedings of the ACM SIGPLAN 2002 Conference on Programming language design and implementation
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Oil and Water? High Performance Garbage Collection in Java with MMTk
Proceedings of the 26th International Conference on Software Engineering
MC2: high-performance garbage collection for memory-constrained environments
OOPSLA '04 Proceedings of the 19th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Dynamic selection of application-specific garbage collectors
Proceedings of the 4th international symposium on Memory management
Hot-swapping between a mark&sweep and a mark&compact garbage collector in a generational environment
JVM'01 Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology Symposium - Volume 1
Data layouts for object-oriented programs
Proceedings of the 2007 ACM SIGMETRICS international conference on Measurement and modeling of computer systems
Statistically rigorous java performance evaluation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Proceedings of the 2008 ACM SIGPLAN conference on Programming language design and implementation
Online Phase-Adaptive Data Layout Selection
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
MTM2: Scalable Memory Management for Multi-tasking Managed Runtime Environments
ECOOP '08 Proceedings of the 22nd European conference on Object-Oriented Programming
A Fully Parallel LISP2 Compactor with Preservation of the Sliding Properties
Languages and Compilers for Parallel Computing
Investigating the effects of using different nursery sizing policies on performance
Proceedings of the 2009 international symposium on Memory management
Exploiting memory usage patterns to improve garbage collections in Java
Proceedings of the 8th International Conference on the Principles and Practice of Programming in Java
Index-compact garbage collection
APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
Science of Computer Programming
Adaptive scanning reduces sweep time for the Lisp2 mark-compact garbage collector
Proceedings of the 2013 international symposium on memory management
Hi-index | 0.00 |
As programming languages with managed runtimes become increasingly popular, it is essential that virtual machines are implemented efficiently. The performance of the memory management subsystem can be a defining factor in the performance of the virtualachine as a whole. We present a technique by which garbage collector performance can be improved. We describe an algorithm that combines a standard generational copying collector with a mark and compact collector. We observe that, since most objects do not survive a garbage collection, it is not necessary to reserve space to copy them all. The result is a generational copying collector that operates with a smaller copy reserve overhead than traditional Appel-style collectors. We maintain correctness in the worst case through the use of mark and compact collection. When the reduced copy reserve overflows, a compacting phase ensures that all data are accommodated. We have implemented this algorithm within the framework of Jikes RVM and MMTk. For most benchmarks examined, our experiments show that performance is comparable to or better than a standard generational copying collector.