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
..
2019-10-14 22:14:24 -07:00
2019-10-24 14:44:15 -07:00
2019-09-19 12:34:17 -07:00
2019-09-13 13:50:43 -07:00
2019-10-17 19:36:54 -07:00
2019-10-14 15:21:01 -07:00
2019-05-31 17:23:59 -07:00
2019-06-27 08:58:54 -07:00
2019-09-18 20:26:04 -07:00
2019-08-23 13:55:34 -07:00
2019-09-20 12:04:26 -07:00
2019-08-20 10:34:33 -07:00
2019-05-31 11:57:01 -07:00
2019-08-06 14:26:44 -07:00
2019-09-11 18:09:00 -07:00
2019-05-30 17:44:09 -07:00
2019-08-16 16:42:56 -07:00
2019-10-21 11:38:30 -07:00
2019-10-21 16:53:06 -07:00
2019-10-24 17:16:46 -07:00
2019-09-13 13:50:43 -07:00
2019-09-16 15:26:21 -07:00
2019-05-13 17:47:21 -07:00
2019-09-09 11:24:11 -07:00
2019-09-20 12:04:26 -07:00
2018-11-12 16:42:16 -08:00
2019-09-05 17:21:42 -07:00
2019-09-20 12:04:26 -07:00
2019-10-16 10:40:23 -07:00
2019-09-20 12:04:26 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2018-10-29 14:36:31 -07:00
2019-05-30 17:44:09 -07:00
2019-05-30 17:44:09 -07:00
2019-09-16 21:05:07 -07:00
2019-09-19 12:34:17 -07:00
2019-10-03 20:53:29 -07:00
2019-02-14 14:41:36 -08:00
2019-09-09 11:24:11 -07:00
2019-08-06 14:26:44 -07:00
2019-08-06 14:26:44 -07:00
2019-09-09 11:24:11 -07:00
2019-09-16 16:17:09 -07:00
2019-10-24 11:08:44 -07:00
2019-07-06 21:07:32 -07:00
2019-03-01 10:42:09 -08:00
2019-09-09 11:24:11 -07:00
2018-07-17 14:43:18 -07:00
2019-10-21 11:40:57 -07:00
2019-09-20 12:04:26 -07:00
2019-08-09 15:12:08 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-04 12:10:17 -07:00
2019-05-30 17:44:09 -07:00
2019-05-31 17:23:59 -07:00
2019-09-20 12:04:26 -07:00
2019-09-11 18:09:00 -07:00
2019-09-18 16:58:21 -07:00
2019-05-30 11:25:51 -07:00
2019-05-31 15:24:43 -07:00
2018-10-04 20:46:50 -07:00
2019-10-14 15:21:01 -07:00
2019-10-14 15:21:01 -07:00
2019-05-31 11:57:01 -07:00
2019-09-13 14:49:47 -07:00
2019-10-14 15:21:01 -07:00
2019-09-13 14:49:47 -07:00
2019-08-30 18:29:07 -07:00
2019-05-31 17:23:59 -07:00
2019-05-30 17:44:09 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 17:44:09 -07:00
2019-05-31 17:23:59 -07:00
2019-10-16 10:40:23 -07:00
2019-10-24 14:44:15 -07:00
2019-10-16 10:40:23 -07:00
2019-08-23 13:55:34 -07:00
2019-08-23 13:55:34 -07:00
2019-06-06 13:56:07 -07:00
2019-06-20 14:31:48 -07:00
2019-05-30 17:44:09 -07:00
2019-10-14 15:21:01 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-06 17:31:10 -07:00
2019-01-15 21:34:38 -08:00
2019-10-24 14:44:15 -07:00
2018-08-24 18:13:20 -07:00
2019-09-16 10:33:51 -07:00
2019-09-16 10:33:51 -07:00
2019-09-16 10:33:51 -07:00
2019-09-16 10:33:51 -07:00
2019-09-11 18:09:00 -07:00
2018-05-03 15:43:09 -07:00
2018-05-03 15:43:09 -07:00
2019-07-25 15:27:39 -07:00
2019-07-02 12:07:01 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 17:44:09 -07:00
2019-10-16 10:40:23 -07:00
2019-10-16 10:40:23 -07:00
2019-10-16 10:40:23 -07:00
2019-10-24 17:16:46 -07:00
2019-10-16 10:40:23 -07:00
2019-04-11 14:28:26 -07:00
2019-05-30 17:44:09 -07:00
2019-06-04 10:24:14 -07:00
2018-12-17 17:33:46 -08:00
2017-07-15 16:11:23 -07:00
2019-05-31 15:24:43 -07:00
2019-09-18 11:52:17 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 17:44:09 -07:00
2017-07-15 16:11:23 -07:00
2019-10-21 16:53:06 -07:00
2019-06-10 11:53:31 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 17:44:09 -07:00
2019-05-30 11:25:51 -07:00
2019-05-31 11:57:01 -07:00
2019-05-31 11:57:01 -07:00
2019-05-30 11:25:51 -07:00
2019-09-20 12:04:26 -07:00
2019-09-05 17:30:29 -07:00
2019-07-23 08:08:19 -07:00
2019-05-31 11:57:01 -07:00
2019-10-14 15:21:01 -07:00
2019-01-16 09:55:32 -08:00
2017-07-15 16:11:23 -07:00
2019-05-03 17:30:22 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-16 10:33:51 -07:00
2019-03-18 12:15:34 -07:00
2019-03-18 12:15:34 -07:00
2019-09-16 10:33:51 -07:00
2019-08-26 11:26:29 -07:00
2019-08-23 13:55:34 -07:00
2019-08-23 13:55:34 -07:00
2019-10-14 15:21:01 -07:00
2019-10-07 12:28:09 -07:00
2019-08-29 14:07:37 -07:00
2019-10-14 15:21:01 -07:00
2019-10-14 15:21:01 -07:00
2019-10-14 15:21:01 -07:00
2019-10-14 15:21:01 -07:00
2019-10-21 11:40:57 -07:00
2019-09-11 18:09:00 -07:00
2019-09-20 12:04:26 -07:00
2019-09-20 12:04:26 -07:00
2019-09-04 12:10:17 -07:00
2017-07-15 16:11:23 -07:00
2019-09-12 17:15:18 -07:00
2019-09-09 11:24:11 -07:00
2019-09-20 12:04:26 -07:00
2019-06-10 11:53:31 -07:00
2017-07-15 16:11:23 -07:00
2019-05-30 11:25:51 -07:00
2017-07-15 16:11:23 -07:00
2017-07-15 16:11:23 -07:00
2019-09-11 18:28:33 -07:00
2019-09-11 18:28:33 -07:00