rocksdb/cache
Peter Dillinger ca7ccbe2ea Misc hashing updates / upgrades (#5909)
Summary:
- Updated our included xxhash implementation to version 0.7.2 (== the latest dev version as of 2019-10-09).
- Using XXH_NAMESPACE (like other fb projects) to avoid potential name collisions.
- Added fastrange64, and unit tests for it and fastrange32. These are faster alternatives to hash % range.
- Use preview version of XXH3 instead of MurmurHash64A for NPHash64
-- Had to update cache_test to increase probability of passing for any given hash function.
- Use fastrange64 instead of % with uses of NPHash64
-- Had to fix WritePreparedTransactionTest.CommitOfDelayedPrepared to avoid deadlock apparently caused by new hash collision.
- Set default seed for NPHash64 because specifying a seed rarely makes sense for it.
- Removed unnecessary include xxhash.h in a popular .h file
- Rename preview version of XXH3 to XXH3p for clarity and to ease backward compatibility in case final version of XXH3 is integrated.

Relying on existing unit tests for NPHash64-related changes. Each new implementation of fastrange64 passed unit tests when manipulating my local build to select it. I haven't done any integration performance tests, but I consider the improved performance of the pieces being swapped in to be well established.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5909

Differential Revision: D18125196

Pulled By: pdillinger

fbshipit-source-id: f6bf83d49d20cbb2549926adf454fd035f0ecc0d
2019-10-24 17:16:46 -07:00
..
cache_bench.cc Apply formatter to recent 200+ commits. (#5830) 2019-09-20 12:04:26 -07:00
cache_test.cc Misc hashing updates / upgrades (#5909) 2019-10-24 17:16:46 -07:00
clock_cache.cc Charge block cache for cache internal usage (#5797) 2019-09-16 15:26:21 -07:00
clock_cache.h Change RocksDB License 2017-07-15 16:11:23 -07:00
lru_cache.cc Use total charge in MaintainPoolSize (#5813) 2019-09-17 00:16:13 -07:00
lru_cache.h Charge block cache for cache internal usage (#5797) 2019-09-16 15:26:21 -07:00
lru_cache_test.cc Charge block cache for cache internal usage (#5797) 2019-09-16 15:26:21 -07:00
sharded_cache.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
sharded_cache.h Charge block cache for cache internal usage (#5797) 2019-09-16 15:26:21 -07:00