-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The performance of `std::unordered_map` is widely known to be sub-optimal due to the requirement for iterator and reference stability. This precludes An up-to-date benchmark can be found here: https://jacksonallan.github.io/c_cpp_hash_tables_benchmark, which shows that `boost::unordered_flat_map` performs extremely well for inserts and lookups, which is all we do. The lack of iteration speed, the erasure residual performance impact, and the minimum capacity of 30 all have no affect on us. The `boost::unordered_flat_map` implementation has been taken from https://github.com/MikePopoloski/boost_unordered. Add more implementation to `fixed_string` as we now need to be move-constructible and move-assignable since we will be moved around inside `boost::unordered_flat_map`. Add `SYSTEM` to the include path for `thirdparty` so we don't get warnings on external code.
- Loading branch information
1 parent
b34f74d
commit b1ecb4c
Showing
7 changed files
with
10,274 additions
and
13 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.