[e403cd]: CHANGELOG  Maximize  Restore  History

Download this file

242 lines (198 with data), 10.6 kB

Version 1.2.2 (unreleased)

* fix possible race condition while creating singleton instances
* start documenting #defines in defines.h
* remove unused debug code fragments that were no longer working for years
* add FreeBSD support

Version 1.2.1 (14 August 2008)

* add support for the libstdc++ parallel_mode (successor of MCSTL),
  new make targets: library_g++_pmode, tests_g++_pmode, clean_g++_pmode
  (requires g++ 4.3.2 or later)
* new stxxl file type stxxl::mem_file (for debugging purposes only),
  helps debugging with valgrind because no memory cell ever
  leaves valgrind's control
* properly destroy the singleton objects (block manager, disk queue threads,
  logger, stats, config, ...) at program exit
* fixed a bug (recursive locking) in recursive block allocation
* added a test program for recursive block allocation
* sensible dependencies for nmake (MSVC): only rebuild files as necessary
* improve performance of createdisks
* human-readable output for I/O stats
* replace hard coded min/max values by std::numeric_limits<>::min/max in
* fix a case where only half of the available memory was used during
  recursive merging
* verify stxxl::set_seed() functionality in tests
* remove stxxl disk files created from default configuration (no .stxxl
  file found) and other temporary files at program end
* stop using deprecated functions, switch to the replacements instead
* unify the mutex lock handling by introducing stxxl::scoped_mutex_lock
* unify the I/O wait time counting to work like read/write time counting
* simplify I/O time counting with scoped_{read,write,wait}_timer
* add some more tests
* more code cleanup + reformatting
* move some more code to the library
* reduce some include dependencies
* build system tuning
* propagate region deletion (when blocks are freed) to the file level
* fix problem in sorters where blocks were released too early
* specialize is_sorted() to use const_vector_iterators, no extra writes
* add c++0x style const_iterator cbegin()/cend() to all containers

Version 1.2.0 (05 July 2008)

* made the block management layer thread-safe
* made all size_types unsigned
* stxxl::priority_queue
  - fixed a rare assertion
  - fixed a race condition by using proper block hinting
  - insert_queue: replaced std::priority_queue with a special
    implementation internal_priority_queue that allows for
    fast exporting of all elements
  - even more bugs and inefficiencies fixed
  - significant speed improvements
* random number generators are now all seedable,
  should allow redoing identical program runs for debugging purposes
* stxxl::noncopyable, inspired by boost::noncopyable: inheriting from this
  class forbids copying of objects when this is undesirable
  - used in all classes that had implemented their own variants previously
* stxxl::vector, all sorting functions: replaced TwoToOneDimArrayRowAdaptor
  with ArrayOfSequencesIterator which is much faster, especially
  if blocks have padding
* if required, verify that the sentinels satisfy a strict weak ordering
* stxxl::vector: several operations sped up, several more implemented
* fix existing allocation strategies and add experimental support for
  distinguishing between regular disks and flash devices
* stxxl::stable_ksort
  - add experimental warning, some parts are not yet implemented
  - fixed an off-by-one error in memory allocation vs. usage
* btree: fuse last two nodes/leaves if possible, rebalancing can fail
* btree tests: ensure uniqueness of test data if required
* reduce function call overhead of stxxl::debugmon if it's not activated
* add public interface headers: stxxl/types, stxxl/aligned_alloc
* add compatibility wrappers for standard extensions
  hash_map, hash_set, auto_ptr
* MCSTL is only supported with g++ 4.2 and icpc 10.x
* lots of small bugfixes
* made the TPIE, BDB and LEDA_SM tests compile again
* general code cleanup
  - fixed most compiler warnings
  - elimination of duplicate and unused code
  - cleaned up and sanitized debugging macros
  - no more 'using namespace std' and 'using namespace stxxl'
  - fixed ambiguities noted by g++ 4.3
  - unify the #include directives
  - add/unify/cleanup copyright headers
* general code reformatting (uncrustify)
* add support for new compiler releases
* portability fixes for different platforms
* implemented file truncation on windows platforms
* build system
  - lots of small modifications
  - now only requires GNU make 3.78 or later
  - check whether STXXL_ROOT has been set correctly and if unset, try
    autoconfiguration by creating make.settings.local with defaults
  - improved and simplified boost support for posix systems
  - Mac OS X support
* changed all tests so that they behave well in their default parameters,
  system assumptions and return values and can be run from a script
  - use aligned_alloc/aligned_dealloc appropriately
* added some more test programs
* add misc/run_all_tests that runs all tests with sensible parameters,
  optionally via valgrind
* checked all tests with valgrind
  - fixed use of uninitialized memory when writing to normal files
  - (optionally) initialize typed_blocks and payload data in test structs
    to suppress (most) uninitialized write errors when writing to disk files
  - fix mismatched new/delete in mcstl
* update install and usage instructions
* spell checked sources and documentation

Version 1.1.0 (31 July 2007)

* stxxl is now hosted on SourceForge: http://stxxl.sourceforge.net/
* Restructured the source layout:
  - includes moves to include/
  - introduced some public headers:
    stxxl.h, stxxl/algorithm, stxxl/bits, stxxl/deque, stxxl/io, stxxl/ksort, stxxl/mallocstats, stxxl/map, stxxl/mng, stxxl/priority_queue, stxxl/queue, stxxl/random, stxxl/scan, stxxl/sort, stxxl/stable_ksort, stxxl/stack, stxxl/stream, stxxl/timer, stxxl/vector
  - the header "stxxl" is no longer available, please use "stxxl.h" instead
  - the use of any other (internal) header is discouraged, additional public headers can be added as the need arises
* Overhauled the build system:
  - merged configuration files, simplified option tuning
  - support object files and binaries with and without mcstl support existing in parallel
  - the library build creates stxxl.mk which can be included in an applications Makefile to set the correct compiler/linker switches for stxxl
  - similarly mcstxxl.mk is created for a stxxl compiled with mcstl support
  - add dependency tracking and improve parallelism during build
* compiler support matrix: (for an up-to-date list, please see the doxygen documentation)
  compiler      |  stxxl    stxxl + mcstl
  GCC 4.3       |    x            x
  GCC 4.2       |    x            x
  GCC 4.1       |    x           n/a
  GCC 4.0       |    x           n/a
  GCC 3.4       |    x           n/a
  GCC 3.3       |    o           n/a
  GCC 2.95      |    -           n/a
  ICPC 9.1.051  |    x            x¹ 
  ICPC 10.0.025 |    x            x¹
  MSVC 2005 8.0 |    x           n/a
    x = full support   o = partial support   - = unsupported
    n/a = compiler does not support OpenMP which is needed by MCSTL
	¹ = does not work with STL GCC 4.2.0 (ICPC bug), workaround: 
	    the first include in the program must be
* pipelined stream::sort, stream::runs_creator and stream::runs_merger are parallelized using MCSTL
* obsolete files removed
* fixed include dependencies
* fixed lots of warnings
* fixed lots of small bugs
* add header compilation tests
* stxxl::vector: implemented some more functions
* const char* stxxl::get_version_string(): new function
* comparators inherit from std::binary_function<>
* cleanup, reformat the code to a consistent format (Thanks, uncrustify!)

Version 1.0e (4 June 2007)

* Bugfix: for objects with the destructors, memory block were allocated in a non-aligned fashion
* Internal CPU efficiency of Stxxl priority queue is improved (loser trees in external mergers are integrated)
* Fixed bug with conversion of const/non-const iterators, implemented comparison and difference operations on const/non-const iterators (for vector, map, and deque) 
* Added operator[] to vector and deque iterators
* stxxl::random_shuffle added
* improved Makefile structure (thanx to Andreas Beckmann)
* Allow parallel build for g++

Version 1.0d (16 January 2007)

* Support of Visual Studio 2005 Express (VC++ 8.0)

* Algorithms and data structures of Stxxl can now use more than 4GB of main memory on 64-bit processors/compilers

* Support of error reporting using the C++ exception mechanism

Version 1.0c (21 September 2006)

* An implementation of an I/O-efficient deque

* STXXL uses MCSTL library (optional) to improve the performance of stxxl::sort and pipelined sort on SMP and multicore processors.

Version 0.99 (22 March 2006)

* Better compiler support: g++ (versions 3.3.x-4.0.x) and Microsoft Visual C++ 7.1 (.NET)

* New B+Tree-based implementation of map (compatible with all listed above compilers): I/O-efficient map

Version 0.9 (9 August 2005)

* STXXL has been ported to Windows. It now can be run under Windows XP and Windows 2000

* STXXL can be compiled now by g++ (versions 3.0.x-3.4.x, 4.0.x) and Microsoft Visual C++ 7.1 (.NET)

* New data structure: I/O efficient FIFO queue

Version 0.77 (24 March 2005)

* An implementation of queue is available

Version 0.75 (23 March 2005)

* An implementation of map based on B+tree is available

Version 0.7 (25 January 2005)

* The implementation of pipelining is extended and improved 

Version 0.6 (5 September 2004)

* Tested implementation of the stream package (aka pipelining) is available

Version 0.5 (21 November 2003)

* The first implementation of the stream package (aka pipelining) is available

* Priority queue is available

Version 0.2 (Summer 2003)

* The first public release 

* Vectors, stacks, sorting, scanning are available

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

No, thanks