BDE 3.103.0 Release¶
Schedule¶
The BDE team announces that the BDE 3.103.0 production release was completed on Monday, June 27, 2022.
BDE 3.103.0 Highlights¶
Update the Default Hash Function to wyhash¶
This release updates the default hash algorithm, used by BDE (e.g., by bsl::hash) to be wyhash (implemented in the BDE component bslh_wyhashalgorithm).
wyhash demonstrated the best performance of the hash algorithms tested. An abridged summary of the test results on Linux:
Algorithm |
Wall Time (ns) to hash 19 bytes |
---|---|
wyhash (new default) |
7.7 |
MurmurHash 64 bit |
28.5 |
Spooky Hash V2 (old default) |
30.2 |
Note that several numbers of bytes and hash algorithms (SipHash, Fnv64, crc32, _Hash_bytes) were tested, as well as avalanche test. The testing may be detailed in a follow up article on this change.
Continued Addition of C++17 Type Aliases¶
This release adds bsl::
aliases for the C++17 features in
bsl_filesystem.h
. This is part of the general effort to
simplify the use of bsl::
names, and
in general better support C++17.
Fixed requests:¶
Summary |
---|
bslh_defaulthashalgorithm: change default to wyhash |
GCC11: ‘bslstl_*map’ components: problematic insert condition for ‘cpp11’/’cpp14’ |
bdlf_bindutil fails to bind to noexcept members in C++17 |
Fix implementation of bsl::empty |
‘bslmt_threadutil’ et al.: doc for ‘join’ method |
bslmf_isaccessiblebaseof.t.cpp fails to build on MSVC2015 |
Merge the bsl*algorithm.h files together |
GCC11: ‘bdlcc_fixedqueueindexmanager.t.cpp’: TC2: floating point exception |
Address bslstl_function test driver compilation on xlC16 |
Add support for C++17 filesystem calls to BSL |
GCC11: ‘bdld_datummap*builder.t.cpp’: TC2: segmentation fault |
ball_transmission, bsls_alinnmenttotype: Remove legacy enum values and type alia |
GCC11: ‘bsls_asserttest.t.cpp’: TCs 8,9,10 abort in no-exception build |
Fix Windows test driver warnings and failures in bsltf test types |
GCC11: ‘bslsl_review.t.cpp’: TC 15 aborts in no-exception build |
baljsn_encoder: Please fix Windows 64-bit test failures |
Build issue with bslmf_movableref on sun 5.12.6 |