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.
- No longer open syscall files with O_SYNC|O_DSYNC|O_RSYNC by default when
- 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.
- Change handling of (empty) filler elements in typed_block to fix
- 🛠 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")
- add ICPC 12.0, works with both MCSTL (needs libstdc++ from GCC 4.2) and
- 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
- Possibly breaking changes