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:
The following compilers have been tested in different
STXXL configurations. Other compilers might work, too, but we don't have the resources (systems, compilers or time) to test them. Feedback is welcome.
The compilers marked with '*' are the developer's favorite choices and are most thoroughly tested.
| parallel parallel | stxxl stxxl stxxl stxxl compiler | + boost + boost ----------------+---------------------------------------- GCC 4.5 c++0x | x PMODE² - - GCC 4.5 | x PMODE² - - * GCC 4.4 c++0x | x PMODE² x PMODE² GCC 4.4 | x PMODE² x PMODE² GCC 4.3 c++0x | x PMODE² x PMODE² GCC 4.3 | x PMODE² x PMODE² GCC 4.2 | x MCSTL x MCSTL GCC 4.1 | x - x - GCC 4.0 | x - x - GCC 3.4 | x - x - GCC 3.3 | o - o - GCC 2.95 | - - - - ICPC 12.0.107 | x¹ PMODE°¹ x¹ PMODE°¹ ICPC 12.0.107 | x¹ MCSTL¹ x¹ MCSTL¹ * ICPC 11.1.075 | x¹ MCSTL¹ x¹ MCSTL¹ ICPC 11.0.084 | x¹ MCSTL¹ x¹ MCSTL¹ ICPC 10.1.026 | x¹ MCSTL¹ x¹ MCSTL¹ ICPC 10.0.026 | x¹ MCSTL¹ x¹ MCSTL¹ ICPC 9.1.053 | x¹ - x¹ - ICPC 9.0.032 | x¹ - x¹ - clang++ 2.8 | x³ - x³ - MSVC 2010 10.0| - - x - * MSVC 2008 9.0 | - - x - MSVC 2005 8.0 | - - x - x = full support o = partial support - = unsupported ? = untested MCSTL = supports parallelization using the MCSTL library PMODE = supports parallelization using libstdc++ parallel mode ° = needs workaround -D__aligned__=ignored ¹ = 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 with gcc 3.x icpc 9.1: use with gcc before 4.2 icpc 10.x, 11.x, 12.0 with mcstl support: use with gcc 4.2 icpc 12.0 with pmode support: use with gcc 4.3 ² = MCSTL has been superseded by the libstdc++ parallel mode in gcc 4.3, full support requires gcc 4.4 or later, only partial support in gcc 4.3 ³ = with libstdc++ from gcc 4.2
The Boost libraries are required on Windows platforms using MSVC compiler and optional on other platforms.
STXXL has been tested with Boost 1.40.0 and 1.42.0. Other versions may work, too, but older versions will not get support.
STXXLlibrary should be posted to the FORUMS. Please search the forum before posting, your question may have been answered before.
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 online at http://www.boost.org/LICENSE_1_0.txt.