Skip to main content

Lists Revisited: Cache Conscious STL Lists

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4007))

Abstract

We present three cache conscious implementations of STL standard compliant lists. Up to now, one could either find simple double linked list implementations that easily cope with standard strict requirements, or theoretical approaches that do not take into account any of these requirements in their design. In contrast, we have merged both approaches, paying special attention to iterators constraints. In this paper, we show the competitiveness of our implementations with an extensive experimental analysis. This shows, for instance, 5-10 times faster traversals and 3-5 times faster internal sort.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. International Standard ISO/IEC 14882: Programming languages — C++. 1st edn. American National Standard Institute (1998)

    Google Scholar 

  2. Cormen, T.H., Leiserson, C., Rivest, R., Stein, C.: Introduction to algorithms, 2nd edn. The MIT Press, Cambridge (2001)

    MATH  Google Scholar 

  3. Lamarca, A.: Caches and algorithms. PhD thesis, University of Washington (1996)

    Google Scholar 

  4. Sen, S., Chatterjee, S.: Towards a theory of cache-efficient algorithms. In: SODA 2000, pp. 829–838. SIAM, Philadelphia (2000)

    Google Scholar 

  5. Demaine, E.: Cache-oblivious algorithms and data structures. In: EEF Summer School on Massive Data Sets. LNCS (2002)

    Google Scholar 

  6. Frigo, M., Leiserson, C., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: FOCS 1999, p. 285. IEEE Computer Society, Los Alamitos (1999)

    Google Scholar 

  7. Mehlhorn, K., Naher, S.: LEDA — A platform for combinatorial and geometric computing. Cambridge University Press, Cambridge (1999)

    MATH  Google Scholar 

  8. Josuttis, N.: The C++ Standard Library: A Tutorial and Reference. Addison-Wesley, Reading (1999)

    Google Scholar 

  9. Bender, M., Cole, R., Demaine, E., Farach-Colton, M.: Scanning and traversing: Maintaining data for traversals in memory hierarchy. In: Möhring, R.H., Raman, R. (eds.) ESA 2002. LNCS, vol. 2461, pp. 152–164. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  10. Luk, C., Cohn, R., Muth, R., Patil, H., Klauser, A., Lowney, G., Wallace, S., Reddi, V.J., Hazelwood, K.: Pin: Building customized program analysis tools with dynamic instrumentation. In: PLDI 2005, Chicago, IL (jun 2005)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2006 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Frias, L., Petit, J., Roura, S. (2006). Lists Revisited: Cache Conscious STL Lists. In: Àlvarez, C., Serna, M. (eds) Experimental Algorithms. WEA 2006. Lecture Notes in Computer Science, vol 4007. Springer, Berlin, Heidelberg. https://doi.org/10.1007/11764298_11

Download citation

  • DOI: https://doi.org/10.1007/11764298_11

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-34597-8

  • Online ISBN: 978-3-540-34598-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics