rocksdb/memtable
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
..
alloc_tracker.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
hash_linklist_rep.cc Misc hashing updates / upgrades (#5909) 2019-10-24 17:16:46 -07:00
hash_linklist_rep.h Change RocksDB License 2017-07-15 16:11:23 -07:00
hash_skiplist_rep.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
hash_skiplist_rep.h Change RocksDB License 2017-07-15 16:11:23 -07:00
inlineskiplist_test.cc Add insert hints for each writebatch (#5728) 2019-09-12 17:15:18 -07:00
inlineskiplist.h Add insert hints for each writebatch (#5728) 2019-09-12 17:15:18 -07:00
memtablerep_bench.cc simplify include directive involving inttypes (#5402) 2019-06-06 13:56:07 -07:00
skiplist_test.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
skiplist.h Use delete to disable automatic generated methods. (#5009) 2019-09-11 18:09:00 -07:00
skiplistrep.cc Add insert hints for each writebatch (#5728) 2019-09-12 17:15:18 -07:00
stl_wrappers.h Consolidate hash function used for non-persistent data in a new function (#5155) 2019-04-08 13:32:06 -07:00
vectorrep.cc Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -07:00
write_buffer_manager_test.cc Charge block cache for cache internal usage (#5797) 2019-09-16 15:26:21 -07:00
write_buffer_manager.cc WriteBufferManager's dummy entry size to block cache 1MB -> 256KB (#5175) 2019-04-16 12:03:07 -07:00