티스토리 뷰
A garbage collector for C and C++
garbage collection에 대한 일반적인 정보 링크 모음:
Paul Wilson's garbage collection ftp archive and GC survey.
The Ravenbrook Memory Management Reference.
David Chase's GC FAQ.
Richard Jones' GC page and his book.
The following papers describe the collector algorithms we use and the underlying design decisions at a higher level.
(Some of the lower level details can be found here.)
The first one is not available electronically due to copyright considerations. Most of the others are subject to ACM copyright.
Boehm, H., "Dynamic Memory Allocation and Garbage Collection", Computers in Physics 9, 3, May/June 1995, pp. 297-303. This is directed at an otherwise sophisticated audience unfamiliar with memory allocation issues. The algorithmic details differ from those in the implementation. There is a related letter to the editor and a minor correction in the next issue.
Boehm, H., and M. Weiser, "Garbage Collection in an Uncooperative Environment", Software Practice & Experience, September 1988, pp. 807-820.
Boehm, H., A. Demers, and S. Shenker, "Mostly Parallel Garbage Collection", Proceedings of the ACM SIGPLAN '91 Conference on Programming Language Design and Implementation,SIGPLAN Notices 26, 6 (June 1991), pp. 157-164.
Boehm, H., "Space Efficient Conservative Garbage Collection", Proceedings of the ACM SIGPLAN '93 Conference on Programming Language Design and Implementation, SIGPLAN Notices 28, 6 (June 1993), pp. 197-206.
Boehm, H., "Reducing Garbage Collector Cache Misses", Proceedings of the 2000 International Symposium on Memory Management . Official version. Technical report version. Describes the prefetch strategy incorporated into the collector for some platforms. Explains why the sweep phase of a "mark-sweep" collector should not really be a distinct phase.
M. Serrano, H. Boehm, "Understanding Memory Allocation of Scheme Programs", Proceedings of the Fifth ACM SIGPLAN International Conference on Functional Programming, 2000, Montreal, Canada, pp. 245-256. Official version. Earlier Technical Report version. Includes some discussion of the collector debugging facilities for identifying causes of memory retention.
Boehm, H., "Fast Multiprocessor Memory Allocation and Garbage Collection", HP Labs Technical Report HPL 2000-165. Discusses the parallel collection algorithms, and presents some performance results.
Boehm, H., "Bounding Space Usage of Conservative Garbage Collectors", Proceeedings of the 2002 ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages, Jan. 2002, pp. 93-100. Official version. Technical report version. Includes a discussion of a collector facility to much more reliably test for the potential of unbounded heap growth.
The following papers discuss language and compiler restrictions necessary to guaranteed safety of conservative garbage collection.
We thank John Levine and JCLT for allowing us to make the second paper available electronically, and providing PostScript for the final version.
Boehm, H., ``Simple Garbage-Collector-Safety'', Proceedings of the ACM SIGPLAN '96 Conference on Programming Language Design and Implementation.
Boehm, H., and D. Chase, ``A Proposal for Garbage-Collector-Safe C Compilation'', Journal of C Language Translation 4, 2 (Decemeber 1992), pp. 126-141.
Other related information:
The Detlefs, Dosser and Zorn's Memory Allocation Costs in Large C and C++ Programs. This is a performance comparison of the Boehm-Demers-Weiser collector to malloc/free, using programs written for malloc/free.
Joel Bartlett's mostly copying conservative garbage collector for C++.
John Ellis and David Detlef's Safe Efficient Garbage Collection for C++ proposal.
Henry Baker's paper collection.
Slides for Hans Boehm's Allocation and GC Myths talk.
'프로그래밍Tip' 카테고리의 다른 글
BSTR vs. C String (0) | 2013.07.03 |
---|---|
easyhook unmanaged code - direct3d 게임에 인젝션하기 (0) | 2013.06.28 |
detours에 관한 좋은 설명 및 예제 (0) | 2013.06.25 |
오랫 만에 GCJ를 리뷰하며 (0) | 2013.03.11 |
The Hoard Memory Allocator (0) | 2013.03.11 |