STXXL  1.4-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Welcome to STXXL

The core of STXXL is an implementation of the C++ standard template library STL for external memory (out-of-core) computations, i.e., STXXL implements containers and algorithms that can process huge volumes of data that only fit on disks. While the compatibility to the STL supports ease of use and compatibility with existing applications, another design priority is high performance. Here is a selection of STXXL performance features:

  • transparent support of multiple disks
  • variable block lengths
  • overlapping of I/O and computation
  • prevention of OS file buffering overhead
  • algorithm pipelining
  • utilization of multiple processor cores for internal computation

See the introduction to external memory for a longer description and our vision.

Getting Started: Building and Tutorial

This section will help you if you are using the STXXL for the first time.

First you must compile the library. Pick one of the following build instructions, depending on your host system:

Once compiled, you can read the following simple tutorials on how to use STXXL containers and algorithms:

See the corresponding page for a complete list of all Tutorials and Examples.

Design and More Information

We have collected much documentation about the design of STXXL. Even more information is available as academic research papers, technical reports and theses.

If you plan to contribute code to STXXL, please read the Coding Style Guidelines and use the Common Utilities and Helpers.

FAQ, Troubleshooting, Bugs and More

License and Authors

STXXL is distributed under the Boost Software License, Version 1.0.
You can find a copy of the license in the accompanying file LICENSE_1_0.txt or at
Many people have contributed to STXXL, see all AUTHORS.