An Empirical and Analytic Study of Stack vs. Heap Cost for Languages with Closures (1993)
| Citations: | 29 - 2 self |
BibTeX
@MISC{Appel93anempirical,
author = {Andrew W. Appel and Zhong Shao},
title = {An Empirical and Analytic Study of Stack vs. Heap Cost for Languages with Closures},
year = {1993}
}
Years of Citing Articles
OpenURL
Abstract
We present a comprehensive analysis of all the components of creation, access, and disposal of heap-allocated and stack-allocated activation records. Among our results are: . Although stack frames are known to have a better cache read-miss rate than heap frames, our simple analytical model (backed up by simulation results) shows that the di#erence is too trivial to matter. . The cache write-miss rate of heap frames is very high; we show that a variety of miss-handling strategies (exemplified by specific modern machines) can give good performance, but not all can. . Stacks restrict the flexibility of closure representations (for higher-order functions) in important (and costly) ways. . The extra load placed on the garbage collector by heap-allocated frames is small. . The demands of modern programming languages make stacks complicated to implement e#ciently and correctly. Overall, the execution cost of stack-allocated and heap-allocated frames is similar; but heap frames are s...







