Title
A customisable memory management framework for C++
Abstract
Automatic garbage collection relieves programmers from the burden of managing memory themselves and several techniques have been developed that make garbage collection feasible in many situations, including real time applications or within traditional programming languages. However, optimal performance cannot always be achieved by a uniform general purpose solution. Sometimes an algorithm exhibits a predictable pattern of memory usage that could be better handled specifically, delaying as much as possible the intervention of the general purpose collector. This leads to the requirement for algorithm specific customisation of the collector strategies. We present a dynamic memory management framework which can be customised to the needs of an algorithm, while preserving the convenience of automatic collection in the normal case. The Customisable Memory Manager (CMM) organises memory in multiple heaps. Each heap is an instance of C++ class which abstracts and encapsulates a particular storage discipline. The default heap for collectable objects uses the technique of mostly copying garbage collection, providing good performance and memory compaction. Customisation of the collector is achieved exploiting object orientation by defining specialised versions of the collector methods for each heap class. The object-oriented interface to the collector enables coexistence and coordination among the various collectors as well as integration with traditional code unaware of garbage collection. The CMM is implemented in C++ without any special support in the language or the compiler. The techniques used in the CMM are general enough to be applicable also to other languages. The performance of the CMM is analysed and compared to other conservative collectors for C/C++ in various configurations. (C) 1998 John Wiley & Sons, Ltd.
Year
DOI
Venue
1998
3.0.CO;2-7" target="_self" class="small-link-text"10.1002/(SICI)1097-024X(199809)28:113.0.CO;2-7
Softw., Pract. Exper.
Keywords
Field
DocType
customisable memory management framework
Programming language,C dynamic memory allocation,Manual memory management,Computer science,Memory model,Memory management,Garbage collection,Memory map,Memory leak,Region-based memory management
Journal
Volume
Issue
ISSN
28
11
0038-0644
Citations 
PageRank 
References 
13
1.39
17
Authors
3
Name
Order
Citations
PageRank
Giuseppe Attardi1545101.27
Tito Flagella2375.65
Pietro Iglio313916.58