libcds v2.3.0 Release Notes
Release Date: 2017-07-31 // over 6 years ago-
- ๐จ Changed: cds::gc::HP is totally refactored:
- simplified internal structures;
- added ability to specify an external allocator for internal data;
- external API for gc::HP is slightly changed: now scan type
cannot be changed on the fly; it can be specified only in
construction time.
- ๐จ Changed: cds::gc::DHP is totally refactored to overcome some internal
limitations. Now gc::DHP is fully adaptive variant of Hazard Pointer
๐ SMR, any dependencies on count of thread are removed, count of retired
data and hazard pointers per thread are increased automaticaly by perforce.
External API of gc::DHP class is changed: now only initial count
of hazard pointers can be specified in the constructor. Like new gc::HP,
๐ the new gc::DHP supports an external allocator. - ๐ Changed: exception handling. Now, exceptions raise by invoking new
๐ป cds::throw_exception() function. If you compile your code with exception disabled,
๐จ the function prints an exception message to stdout and calls abort()
instead of throwing. - ๐ Flat Combining: fixed memory-order bug that can lead to crash on weak ordered
architecture like PowerPC or ARM - โ Added: erase_at( iterator ) function to MichaelHashSet/Map and SplitListSet/Map
based on IterableList - Fixed a bug in BronsonAVLTreeMap::extract_min()/extract_max()/clear().
- โ Removed: signal-handled threaded uRCU (cds::urcu::signal_threaded) due
๐ bad performance - โ Added more flat-combining queue tests, thanks to Marsel Galimullin.
- ๐ Changed cmake scripts to support MacOS and ARMv7/ARMv8 (64 bit),
thanks to Michail Komarov (https://github.com/Nemo1369) - ๐ Stress tests: removed command line parameter --detail-level and
envvar CDSTEST_DETAIL_LEVEL for reducing compile time and executable size.
To make full testset compile libcds with -DCDS_STRESS_TEST_LEVEL=N where
N is 1 or 2. - ๐จ Changed: refactoring cds::backoff::exponential and cds::backoff::delay
back-off strategies to avoid static data members in template classes. - โ
The library is extensively tested on x86-64, PowerPC and AArch64,
thanks to GCC Compile Farm project
- ๐จ Changed: cds::gc::HP is totally refactored: