sdong 4a8f0c957c Block::Iter::PrefixSeek() to have an extra check to filter out some false matches
Summary:
In block based table's hash index checking, when looking for a key that doesn't exist, there is a high chance that a false block is returned because of hash bucket conflicts. In this revision, another check is done to filter out some of those cases: comparing previous key of the block boundary to see whether the target block is what we are looking for.

In a favored test setting (bloom filter disabled, 8 L0 files), I saw about 80% improvements. In a non-favored test setting (bloom filter enabled, files are all in L1, files are all cached), I see the performance penalty is less than 3%.

Test Plan: make all check

Reviewers: haobo, ljin

Reviewed By: ljin

Subscribers: wuj, leveldb, zagfox, yhchiang

Differential Revision: https://reviews.facebook.net/D20595
2014-07-25 17:27:57 -07:00
..
2014-05-15 14:09:03 -07:00
2014-05-15 14:09:03 -07:00
2014-06-19 01:37:21 -07:00
2014-05-15 14:09:03 -07:00
2014-05-07 17:48:31 -07:00
2014-05-01 14:09:32 -04:00
2014-04-09 21:17:14 -07:00
2014-07-21 10:31:33 -07:00
2014-07-21 10:31:33 -07:00
2014-07-21 10:31:33 -07:00
2014-02-03 00:30:43 -08:00
2014-07-18 00:08:38 -07:00
2014-06-20 10:23:02 +02:00
2014-07-18 00:08:38 -07:00