Font Size: a A A

A study of high-performance dynamic memory management in object-oriented programming

Posted on:2002-01-20Degree:Ph.DType:Dissertation
University:Illinois Institute of TechnologyCandidate:Lee, Woo HyongFull Text:PDF
GTID:1468390011496920Subject:Computer Science
Abstract/Summary:
The importance of dynamic memory management has increased significantly as there is a growing number of developments in object-oriented programs. Many studies show that dynamic memory management is one of the most expensive components of many software systems. It can consume up to 30% of the program execution time. Object-Oriented Programming (OOP) language systems tend to perform object creation and deletion prolifically. An empirical study has shown that C++ programs can have ten times more memory allocation and deallocation than comparable C programs. However, the allocation behavior of C++ programs is rarely reported. In this study, we attempted to locate where the dynamic memory allocations are coming from and report an empirical study of the allocation behavior of C++ programs. To do the experiment, we introduce a dynamic memory tracing tool, called Mtrace++, to study the memory allocation behavior in C++. Mtrace++ is a source code level instrumented tracing tool that produces records of allocation and deallocation information. Using Mtrace++, the C++ allocation patterns are studied thoroughly. After we identify the allocation behavior, we discuss a new high-performance memory management strategies, which were developed based on our empirical investigations. The goals for the strategies are fast allocation, fast deallocation, maximizing portability and space conservation.
Keywords/Search Tags:Dynamic memory, Object-oriented, Allocation, Programs
Related items