Cyclic reference counting for combinator machines
Proc. of a conference on Functional programming languages and computer architecture
Cyclic reference counting with local mark-scan
Information Processing Letters
Cyclic reference counting with lazy mark-scan
Information Processing Letters
Proceedings of the 14th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A method for overlapping and erasure of lists
Communications of the ACM
Letters to the editor: on the reference counter method
Communications of the ACM
Java without the coffee breaks: a nonintrusive multiprocessor garbage collector
Proceedings of the ACM SIGPLAN 2001 conference on Programming language design and implementation
An efficient algorithm for cyclic reference counting
Information Processing Letters
Garbage Collection in Object Oriented Databases Using Transactional Cyclic Reference Counting
VLDB '97 Proceedings of the 23rd International Conference on Very Large Data Bases
A Cyclic Distributed Garbage Collector for Network Objects
WDAG '96 Proceedings of the 10th International Workshop on Distributed Algorithms
Concurrent Cycle Collection in Reference Counted Systems
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
Cyclic Weighted Reference Counting without Delay
PARLE '93 Proceedings of the 5th International PARLE Conference on Parallel Architectures and Languages Europe
An on-the-fly mark and sweep garbage collector based on sliding views
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
Ulterior reference counting: fast garbage collection without a long wait
OOPSLA '03 Proceedings of the 18th annual ACM SIGPLAN conference on Object-oriented programing, systems, languages, and applications
The space cost of lazy reference counting
Proceedings of the 31st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Oil and Water? High Performance Garbage Collection in Java with MMTk
Proceedings of the 26th International Conference on Software Engineering
IBM Systems Journal
An on-the-fly reference-counting garbage collector for java
ACM Transactions on Programming Languages and Systems (TOPLAS)
Compiler optimizations for nondeferred reference: counting garbage collection
Proceedings of the 5th international symposium on Memory management
Correctness-preserving derivation of concurrent garbage collection algorithms
Proceedings of the 2006 ACM SIGPLAN conference on Programming language design and implementation
The DaCapo benchmarks: java benchmarking development and analysis
Proceedings of the 21st annual ACM SIGPLAN conference on Object-oriented programming systems, languages, and applications
An efficient on-the-fly cycle collection
ACM Transactions on Programming Languages and Systems (TOPLAS)
A simple and efficient algorithm for cycle collection
ACM SIGPLAN Notices
Overlooking roots: a framework for making nondeferred reference-counting garbage collection fast
Proceedings of the 6th international symposium on Memory management
Statistically rigorous java performance evaluation
Proceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems and applications
Using prefetching to improve reference-counting garbage collectors
CC'07 Proceedings of the 16th international conference on Compiler construction
Hi-index | 0.00 |
Reference counting strategy is a natural choice for real-time garbage collection, but the cycle collection phase which is required to ensure the correctness for reference counting algorithms can introduce heavy scanning overheads. This degrades the efficiency and inflates the pause time required for garbage collection. In this paper, we present two schemes to improve the efficiency of reference counting algorithms. First, in order to make better use of the semantics of a given program, we introduce a novel classification model to predict the behavior of objects precisely. Second, in order to reduce the scanning overheads, we propose an enhancement for cyclic reference counting algorithms by utilizing strongly-typed reference features of the Java language. We implement our proposed algorithm in Jikes RVM and measure the performance over various Java benchmarks. Our results show that the number of scanned objects can be reduced by an average of 37.9% during cycle collection phase.