sapling/eden/fs/model
Chad Austin e03b717a45 make std::hash<Hash> noexcept
Summary:
In D10384953 I learned that std::unordered_map<Hash, V> V for any V
would waste storage by storing the hash result in each hash node. This
is especially silly because the hash function of std::Hash is as
simple as loading the first word from memory.

Marking the hash function as noexcept reduces the node size for
std::unordered_map<Hash, BlobMetadata> from 72 to 64, making it fit
cleanly in one of jemalloc's slabs.

Reviewed By: strager

Differential Revision: D10385972

fbshipit-source-id: 7a3da5d09be0650ad43849e6d82334b44f3582a3
2018-10-22 20:27:24 -07:00
..
git Added class CachedParsedFileMonitor and tests 2018-07-25 20:07:23 -07:00
test Remove TARGETS files 2018-02-20 19:57:45 -08:00
Blob.h compute Blob size upon construction 2018-10-09 10:53:45 -07:00
CMakeLists.txt add CMake build files 2018-04-30 14:37:46 -07:00
Hash.cpp make std::hash<Hash> noexcept 2018-10-22 20:27:24 -07:00
Hash.h make std::hash<Hash> noexcept 2018-10-22 20:27:24 -07:00
ParentCommits.cpp run clang-format across all C++ files 2017-11-03 16:02:03 -07:00
ParentCommits.h run clang-format across all C++ files 2017-11-03 16:02:03 -07:00
Tree.cpp run clang-format across all C++ files 2017-11-03 16:02:03 -07:00
Tree.h recover from a commit2tree entry existing without the corresponding tree 2018-06-06 14:36:32 -07:00
TreeEntry.cpp Started Eden for Windows and integrated hg store with it. 2018-08-21 17:53:38 -07:00
TreeEntry.h simplify isSameAs checking of mode bits 2018-02-20 11:36:11 -08:00