Abstract
We show how to increase locality of object-oriented programs using several heaps. We introduce the notion of sandwich types which allow a coarser view on objects. Our idea for increasing locality is to use one heap per object of sandwich types. Performance measurements demonstrate that the running time is improved by upto a factor 5 using this strategy. The paper shows how to derive sandwich types from classes. Thus, it is possible to control the allocation of the different heaps using compile-time information.
Preview
Unable to display preview. Download preview PDF.
References
A. V. Aho, J. E. Hopcroft, and J. D. Ullman. Data Structures and Algorithms. Addison-Wesley, 1983.
P. S. Almeida. Balloon types: Controlling sharing of state in data types. In ECOOP’ 97 — Object-Oriented Programming, volume 1241 of Lecture Notes in Computer Science, pages 32–59, 1997.
T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. McGraw Hill, 1991.
Free Software Foundation. The GNU C library. URL: http://www.gnu.ai.mit.edu/software/libc/libc.html.
Y. Gurevich. Evolving Algebras: Lipari Guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.
Barry Hayes. Using Key Object Opportunism to Collect Old Objects. In Proceedings of the OOPSLA ’91 Conference on Object-oriented Programming Systems, Languages and Applications, pages 33–46, nov 1991. Published as ACM SIGPLAN Notices, volume 26, number 11.
J. J. Horning. A case study in language design: Euclid. In F. L. Bauer and M. Broy, editors, Proceedings of the International Summer School on Program Construction, volume 69 of LNCS, pages 125–132, Marktoberdorf, FRG, July–August 1978. Springer.
Daniel H. H. Ingalls. The Smalltalk-76 programming system design and implementation. In Conference Record of the Fifth Annual ACM Symposium on Principles of Programming Languages, Tucson, Arizona, pages 9–16. ACM, January 1978.
Richard E. Jones. Garbage Collection: Algorithms for Automatic Dynamic Memory Management. Wiley, July 1996. With a chapter on Distributed Garbage Collection by R. Lins. Reprinted February 1997.
H. W. Schmidt and W. Zimmermann. A complexity calculus for object-oriented programs. Journal of Object-Oriented Systems, 1(2): 117–147, 1994.
H. W. Schmidt and W. Zimmermann. Reasoning about complexity of object-oriented programs. In E.-R. Olderog, editor, Programming Concepts, Methods and Calculi, volume A-56 of IFIP Transactions, pages 553–572, 1994.
James W. Stamos. Static grouping of small objects to enhance performance of a paged virtual memory. ACM Transactions on Computer Systems, 2(2): 155–180, May 1984.
A. Tarski. A lattice-theoretical fixpoint theorem and its application. Pacific J. Math., 5: 285–309, 1955.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1998 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Genius, D., Trapp, M., Zimmermann, W. (1998). An approach to improve locality using sandwich types. In: Leroy, X., Ohori, A. (eds) Types in Compilation. TIC 1998. Lecture Notes in Computer Science, vol 1473. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055519
Download citation
DOI: https://doi.org/10.1007/BFb0055519
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-64925-0
Online ISBN: 978-3-540-68308-7
eBook Packages: Springer Book Archive