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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
International Standard ISO/IEC 14882: Programming languages — C++. 1st edn. American National Standard Institute (1998)
Cormen, T.H., Leiserson, C., Rivest, R., Stein, C.: Introduction to algorithms, 2nd edn. The MIT Press, Cambridge (2001)
Lamarca, A.: Caches and algorithms. PhD thesis, University of Washington (1996)
Sen, S., Chatterjee, S.: Towards a theory of cache-efficient algorithms. In: SODA 2000, pp. 829–838. SIAM, Philadelphia (2000)
Demaine, E.: Cache-oblivious algorithms and data structures. In: EEF Summer School on Massive Data Sets. LNCS (2002)
Frigo, M., Leiserson, C., Prokop, H., Ramachandran, S.: Cache-oblivious algorithms. In: FOCS 1999, p. 285. IEEE Computer Society, Los Alamitos (1999)
Mehlhorn, K., Naher, S.: LEDA — A platform for combinatorial and geometric computing. Cambridge University Press, Cambridge (1999)
Josuttis, N.: The C++ Standard Library: A Tutorial and Reference. Addison-Wesley, Reading (1999)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)