STXXL v1.3.1 Release Notes

Release Date: 2015-06-15 // almost 9 years ago
  • 🔖 Version 1.3.1 (10 March 2011)

    • Possibly breaking changes
      • No longer open syscall files with O_SYNC|O_DSYNC|O_RSYNC by default when
        🐎 doing direct I/O, to avoid a write performance decrease starting with Linux
        kernel version 2.6.32.
        A stxxl::file::SYNC flag has been added to allow forcing the O_*SYNC flags
        when opening files.
      • Lock files by default (if implemented for this file type), can by disabled
        via stxxl::file::NO_LOCK.
      • block_prefetcher now takes a completion_handler instead of a raw function
        pointer. Furthermore, the completion_handler is already executed after the
        read operation completes, not only when the issuer waits for it to
        complete. The I/O thread issues the call to the completion_handler, so for
        multiple disks, this may happen concurrently.
    • Internal changes, not user-visible
      • Change handling of (empty) filler elements in typed_block to fix
        mismatching struct size in nested blocks.
      • Removed debugmon which was very limited and disabled for a long time.
    • 🛠 Bugfixes
      • Allow prefetch schedule computation of vectors that are bound to a file.
      • Fix race growing files during concurrent block allocation.
      • Allow reading a block that spans over end-of-file, fill remainder with
        zeroes.
      • Crash at program termination when using global stxxl containers.
      • Enable syscall_file to read/write >=2GiB of data in a single I/O operation.
    • 🆕 New public headers: stxxl/stats, stxxl/request
    • Parallel mode can be switched on for internal STXXL computation selectively
      (i.e. without enabling it for the non-stxxl part of an application), by
      setting USE_PARALLEL_MODE=yes in make.settings.local.
    • 👍 Platform Support
      • add ICPC 12.0, works with both MCSTL (needs libstdc++ from GCC 4.2) and
        parallel mode (needs libstdc++ from GCC 4.3 (not 4.4/4.5))
      • add CLANG++ 2.8
      • add MSVC 2010/Windows 7
      • allow the library name generated by MSVC to be changed by setting LIBNAME
        0️⃣ and redefining STXXL_LIBNAME (defaults to "stxxl")
    • Under-the-hood improvements
      • code cleanup
      • I/O-layer: renaming and reorganization of the request implementation
    • 📚 Documentation updates
    • ✅ Several new test programs
    • ✅ Several test programs improved