Skip to main content

Theory and Practice of Chunked Sequences

  • Conference paper

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

Abstract

Sequence data structures, i.e., data structures that provide operations on an ordered set of items, are heavily used by many applications. For sequence data structures to be efficient in practice, it is important to amortize expensive data-structural operations by chunking a relatively small, constant number of items together, and representing them by using a simple but fast (at least in the small scale) sequence data structure, such as an array or a ring buffer. In this paper, we present chunking techniques, one direct and one based on bootstrapping, that can reduce the practical overheads of sophisticated sequence data structures, such as finger trees, making them competitive in practice with specialpurpose data structures. We prove amortized bounds showing that our chunking techniques reduce runtime by amortizing expensive operations over a user-defined chunk-capacity parameter. We implement our techniques and show that they perform well in practice by conducting an empirical evaluation. Our evaluation features comparisons with other carefully engineered and optimized implementations.

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. Acar, U.A., Charguéraud, A., Rainey, M.: Theory and practice of chunked sequences, http://deepsea.inria.fr/chunkedseq (full version)

  2. Bernardy, J.-P.: The Haskell yi package, http://hackage.haskell.org/package/yi-0.6.2.3/docs/src/Data-Rope.html

  3. Buchsbaum, A.L., Tarjan, R.E.: Confluently persistent deques via data-structural bootstrapping. J. Algorithms 18(3), 513–547 (1995)

    Article  MATH  MathSciNet  Google Scholar 

  4. Buchsbaum, A.L.: Data-structural bootstrapping and catenable deques. PhD thesis, Princeton University (1993)

    Google Scholar 

  5. Stanford Large Network Dataset Collection. Friendster graph, http://snap.stanford.edu/data/com-Friendster.html

  6. Dietz, P.F.: Maintaining order in a linked list. In: STOC 1982, Baltimore, USA, pp. 122–127. ACM Press (May 1982)

    Google Scholar 

  7. Guibas, L.J., McCreight, E.M., Plass, M.F., Roberts, J.R.: A new representation for linear lists. In: STOC 1977, pp. 49–60. ACM, New York (1977)

    Google Scholar 

  8. Hinze, R., Paterson, R.: Finger trees: a simple general-purpose data structure. JFP 16(2), 197–218 (2006)

    MATH  MathSciNet  Google Scholar 

  9. Kaplan, H., Tarjan, R.E.: Persistent lists with catenation via recursive slow-down. In: TOC 1995, pp. 93–102. ACM (1995)

    Google Scholar 

  10. Kaplan, H., Tarjan, R.E.: Purely functional representations of catenable sorted lists. In: STOC 1996, pp. 202–211. ACM, New York (1996)

    Google Scholar 

  11. Knuth, D.E.: The Art of Computer Programming: Sorting and Searching, 2nd edn., vol. 3, ch. 6, pp. 481–489. Addison-Wesley (1998)

    Google Scholar 

  12. Leiserson, C.E., Schardl, T.B.: A work-efficient parallel breadth-first search algorithm. In: SPAA 2010, pp. 303–314 (June 2010)

    Google Scholar 

  13. SGI. Stl rope, http://www.sgi.com/tech/stl/Rope.html

  14. Stepanov, A., Lee, M.: The Standard Template Library, volume 1501. HP Laboratories (1995)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Acar, U.A., Charguéraud, A., Rainey, M. (2014). Theory and Practice of Chunked Sequences. In: Schulz, A.S., Wagner, D. (eds) Algorithms - ESA 2014. ESA 2014. Lecture Notes in Computer Science, vol 8737. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-44777-2_3

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-44777-2_3

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-44776-5

  • Online ISBN: 978-3-662-44777-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics