STXXL v1.2.0 Release Notes

Release Date: 2015-06-15 // almost 9 years ago
  • ๐Ÿ”– 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 two2one_dim_array_row_adapter
      with array_of_sequences_iterator 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
        0๏ธโƒฃ 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