A Memory Allocation Profiler for C and Lisp Programs

نویسندگان

  • Benjamin Zorn
  • Paul Hilfinger
چکیده

This paper describes mprof, a tool used to study the dynamic memory allocation behavior of programs. Mprof records the amount of memory that a function allocates, breaks down allocation information by type and size, and displays a program’s dynamic call graph so that functions indirectly responsible for memory allocation are easy to identify. Mprof is a two-phase tool. The monitor phase is linked into executing programs and records information each time memory is allocated. The display phase reduces the data generated by the monitor and presents the information to a user in several tables. Mprof has been implemented for C and Kyoto Common Lisp. Measurements of these implementations are presented.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Importing the Gnu Multiple Precision Package (GMP) into Lisp, and implications for Functional Programming

Advocating the use of a Common Lisp as a central organizing environment for building scientific computing systems runs counter to the conventional wisdom, which suggests that languages like Fortran, C++, or even Java, are more suitable. We prefer Lisp based on its debugging features, interactivity, memory model, existing code-base for computer algebra and user interfaces, and for purposes of th...

متن کامل

ProfBuilder: A Package for Rapidly Building Java Execution Profilers

ProfBuilder is a collection of Java classes that provide an easy method for constructing Java execution profiling tools. By instrumenting Java bytecode, a programmer can measure dynamic properties of an application, such as bytecode count, number of memory allocations, cache misses and branches. ProfBuilder provides an easy way to create customized tools to measure these and other properties by...

متن کامل

Lisp as an Alternative to Java Point of View

21 In a recent study Prechelt (1999) compared the relative performance of Java and C++ in execution time and memory usage. Unlike many benchmark studies, Prechelt compared multiple implementations of the same task by multiple programmers in order to control for the effects of differences in programmer skill. Prechelt concluded that “as of JDK 1.2, Java programs are typically much slower than pr...

متن کامل

Portable Profiling of Memory Allocation in Java

This paper presents a portable framework to profile memory allocation in standard Java Virtual Machines. We extended our exact profiler JP, which generates a method call tree (MCT) for each thread in the system, in order to store information concerning object allocation in the MCT. Our primary design goals were to use platform-independent metrics for memory allocation and to minimize the extra ...

متن کامل

Moji-Lisp: programming with a text-based memory model

Moji-Lisp is a new programming language that uses text for memory, programs and heaps. It shows how textual properties can represent levels of computation in a way that users can interact with directly. Moji-Lisp demonstrates principles of visibility that can make programming systems easier to understand and extend. Keywords— Visibility, Programming Language

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1988