sapling/eden
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
..
cli Fix a test failing in TestWarden 2018-10-12 09:49:56 -07:00
docs store FileInode and TreeInode timestamps in the InodeTable 2018-05-22 11:22:19 -07:00
fs make std::hash<Hash> noexcept 2018-10-22 20:27:24 -07:00
hooks ensure .hg has read and search permissions for group/other 2018-06-11 22:33:11 -07:00
integration absorb: display affected commits and prompt user to confirm 2018-10-13 01:02:05 -07:00
py Improve typing of dirstate read and write functions 2018-10-08 15:14:44 -07:00
scripts unmount stale edenfs mounts in eden doctor 2018-01-19 11:06:51 -08:00
test-data put the overlay test data into a tar file 2018-06-20 18:36:27 -07:00
third-party Remove TARGETS files 2018-02-20 19:57:45 -08:00
win Win: Added .thrift files to build scripts 2018-10-11 13:38:20 -07:00
Eden.project.toml Eden.project.toml file for Nuclide 2018-04-26 11:05:23 -07:00