ACM Home Page
Please provide us with feedback. Feedback
Understanding memory allocation of scheme programs
Full text PdfPdf (821 KB)
Source International Conference on Functional Programming archive
Proceedings of the fifth ACM SIGPLAN international conference on Functional programming table of contents
Pages: 245 - 256  
Year of Publication: 2000
ISBN:1-58113-202-6
Also published in ...
Authors
Manuel Serrano  Université de Nice Sophia-Antipolis, Route des Colles, B.P. 145, F-06903 Sophia-Antipolis, CEDEX
Hans-J. Boehm  Hewlett-Packard Company, 1501 Page Mill Road, MS 1U-17, Palo Alto, CA
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 6,   Downloads (12 Months): 27,   Citation Count: 6
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/351240.351264
What is a DOI?

ABSTRACT

Memory is the performance bottleneck of modern architectures. Keeping memory consumption as low as possible enables fast and unobtrusive applications. But it is not easy to estimate the memory use of programs implemented in functional languages, due to both the complex translations of some high level constructs, and the use of automatic memory managers.To help understand memory allocation behavior of Scheme programs, we have designed two complementary tools. The first one reports on frequency of allocation, heap configurations and on memory reclamation. The second tracks down memory leaks1. We have applied these tools to our Scheme compiler, the largest Scheme program we have been developing. This has allowed us to drastically reduce the amount of memory consumed during its bootstrap process, without requiring much development time.Development tools will be neglected unless they are both conveniently accessible and easy to use. In order to avoid this pitfall, we have carefully designed the user interface of these two tools. Their integration into a real programming environment for Scheme is detailed in the paper.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
A. Appel, F. Duba, D. MacQueen, and A Tomach. Profiling in the Presence of Optimization and Garbage Collection.Technical Report CS-TR-197-88, Princeton University,November 1988.
2
 
3
L. Cannon, R. Elliot, L. Kircho, J. Miller, J. Milner, R. Mitze, E. Schan, N. Whittinton, D. Spencer, H. Keppel, and M. Brader. Recommended C Style and Coding Standards, June 1990.
 
4
 
5
J. Fenlason and B. Baccala. GNU-gprof: user manual. Technical report, Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA, 1997.
6
 
7
 
8
 
9
S. Peyton Jones and S. Marlow. Secrets of the Glasgow Haskell Compiler Inliner. InImplementation of Declarative Languages, Paris, France, September 1999.
 
10
11
 
12
 
13
C. Runciman and N. Rojemo. New dimensions in heap pro~ling. Journal of Functional Programming, 6, 1996.
 
14
C. Runciman and D. Wakeling. Heap profiling of lazy functional programs. Journal of Functional Programming, 3(2):217{245, 1993.
 
15
 
16
17
 
18
 
19
 
20
B. Zorn and P. Hilnger. AMemory Allocation Profiler for C andLisp Programs. In Usenix conference, pages 223-237, 1998.


Collaborative Colleagues:
Manuel Serrano: colleagues
Hans-J. Boehm: colleagues