Measuring the cost of storage management

We study the cost of storage management for garbage-collected programs compiled with the Standard ML of New Jersey compiler. We show that the cost of storage management is not the same as the time spent garbage collecting. For many of the programs, the time spent garbage collecting is less than the time spent doing other storage-management tasks.

[1]  Amer Diwan,et al.  Memory system performance of programs with intensive heap allocation , 1995, TOCS.

[2]  Amer Diwan,et al.  Memory subsystem performance of programs using copying garbage collection , 1994, POPL '94.

[3]  Andrew W. Appel,et al.  Simple generational garbage collection and fast allocation , 1989, Softw. Pract. Exp..

[4]  Paul R. Wilson,et al.  Caching considerations for generational garbage collection , 1992, LFP '92.

[5]  Andrew W. Appel,et al.  Compiling with Continuations , 1991 .

[6]  Mark B. Reinhold,et al.  Cache performance of garbage-collected programs , 1994, PLDI '94.

[7]  Ifor Williams,et al.  The design and evaluation of a high-performance smalltalk system , 1988 .

[8]  Henry Lieberman,et al.  A real-time garbage collector based on the lifetimes of objects , 1983, CACM.

[9]  John H. Reppy,et al.  Asynchronous Signals is Standard ML , 1990 .

[10]  Chih-Jui Peng,et al.  Cache Memory Design Considerations to Support Languages with Dynamic Heap Allocation , 1989 .

[11]  David R. Chase,et al.  Safety consideration for storage allocation optimizations , 1988, PLDI '88.

[12]  Alan Jay Smith,et al.  Evaluating Associativity in CPU Caches , 1989, IEEE Trans. Computers.

[13]  Benjamin G. Zorn,et al.  Comparative performance evaluation of garbage collection algorithms , 1989 .

[14]  Amer Diwan,et al.  Compiler support for garbage collection in a statically typed language , 1992, PLDI '92.

[15]  Dirk Grunwald,et al.  Improving the cache locality of memory allocation , 1993, PLDI '93.

[16]  James R. Larus,et al.  Optimally profiling and tracing programs , 1994, TOPL.

[17]  Rance Cleaveland,et al.  The concurrency workbench: a semantics-based tool for the verification of concurrent systems , 1993, TOPL.

[18]  Mark Baldwin Reinhold CACHE PERFORMANCE OF GARBAGE-COLLECTED PROGRAMMING LANGUAGES , 1993 .

[19]  Andrew W. Appel,et al.  A runtime system , 1990, LISP Symb. Comput..

[20]  Chris J. Cheney A nonrecursive list compacting algorithm , 1970, Commun. ACM.

[21]  Chris Reade,et al.  Elements of functional programming , 1989, International computer science series.

[22]  James R. Larus,et al.  Rewriting executable files to measure program behavior , 1994, Softw. Pract. Exp..

[23]  Robin Milner,et al.  Definition of standard ML , 1990 .

[24]  Benjamin G. Zorn,et al.  Memory allocation costs in large C and C++ programs , 1994, Softw. Pract. Exp..

[25]  James R. Larus,et al.  Abstract execution: A technique for efficiently tracing programs , 1990, Softw. Pract. Exp..

[26]  David Ungar,et al.  The design and evaluation of a high performance Smalltalk system , 1987 .

[27]  Peter Steenkiste,et al.  Lisp on a reduced-instruction-set processor: characterization and optimization , 1988, Computer.

[28]  Robert Fenichel,et al.  A LISP garbage-collector for virtual-memory computer systems , 1969, CACM.

[29]  Darko Stefanovic,et al.  Characterization of object behaviour in Standard ML of New Jersey , 1994, LFP '94.