Skip to main content

An approach to improve locality using sandwich types

  • Conference paper
  • First Online:
Types in Compilation (TIC 1998)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1473))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. A. V. Aho, J. E. Hopcroft, and J. D. Ullman. Data Structures and Algorithms. Addison-Wesley, 1983.

    Google Scholar 

  2. 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.

    Article  Google Scholar 

  3. T. H. Cormen, C. E. Leiserson, and R. L. Rivest. Introduction to Algorithms. McGraw Hill, 1991.

    Google Scholar 

  4. Free Software Foundation. The GNU C library. URL: http://www.gnu.ai.mit.edu/software/libc/libc.html.

    Google Scholar 

  5. Y. Gurevich. Evolving Algebras: Lipari Guide. In E. Börger, editor, Specification and Validation Methods. Oxford University Press, 1995.

    Google Scholar 

  6. 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.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. 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.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. H. W. Schmidt and W. Zimmermann. A complexity calculus for object-oriented programs. Journal of Object-Oriented Systems, 1(2): 117–147, 1994.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. 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.

    Article  Google Scholar 

  13. A. Tarski. A lattice-theoretical fixpoint theorem and its application. Pacific J. Math., 5: 285–309, 1955.

    MATH  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Xavier Leroy Atsushi Ohori

Rights and permissions

Reprints 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

Publish with us

Policies and ethics