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