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:
STXXL
configurations. Other compilers might work, too, but we don't have the resources (systems, compilers or time) to test them. Feedback is welcome.
compiler | stxxl stxxl stxxl stxxl | + mcstl + boost + mcstl | + boost --------------+---------------------------------------- GCC 4.3 c++0x | x -² x -² GCC 4.3 | x -² x -² GCC 4.2 | x x x x GCC 4.1 | x n/a x n/a GCC 4.0 | x n/a x n/a GCC 3.4 | x n/a x n/a GCC 3.3 | o n/a o n/a GCC 2.95 | - n/a - n/a ICPC 10.1.017 | x¹ x¹ x¹ x¹ ICPC 10.0.026 | x¹ x¹ x¹ x¹ ICPC 9.1.053 | x¹ - x¹ - ICPC 9.0.032 | x¹ - x¹ - MSVC 2008 9.0 | - - x n/a MSVC 2005 8.0 | - - x n/a x = full support o = partial support - = unsupported ? = untested n/a = compiler does not support OpenMP which is needed by MCSTL ¹ = you may have to add a -gcc-name=<gcc-x.y> option if the system default gcc does not come in the correct version: icpc 9.0: use gcc 3.x icpc 9.1: use gcc before 4.2 icpc 10.x with mcstl support: use gcc 4.2 ² = MCSTL has been superseded by the libstdc++ parallel mode in GCC 4.3, parallel mode is not yet supported in this stxxl release
STXXL
has been tested with Boost 1.34.1. It also compiles using Boost 1.35.0 without problems, but hasn't been thoroughly tested in this setting. Other versions may work, too, but older versions won't get support.
STXXL
library and bug reports should be posted to the FORUMS or mailed to Roman Dementiev.
STXXL
is distributed under the Boost Software License, Version 1.0.LICENSE_1_0.txt
or online at http://www.boost.org/LICENSE_1_0.txt.