rocksdb/memtable
Yi Wu 1ea79a78c9 Optimize sequential insert into memtable - Part 1: Interface
Summary:
Currently our skip-list have an optimization to speedup sequential
inserts from a single stream, by remembering the last insert position.
We extend the idea to support sequential inserts from multiple streams,
and even tolerate small reordering wihtin each stream.

This PR is the interface part adding the following:
- Add `memtable_insert_prefix_extractor` to allow specifying prefix for each key.
- Add `InsertWithHint()` interface to memtable, to allow underlying
  implementation to return a hint of insert position, which can be later
  pass back to optimize inserts.
- Memtable will maintain a map from prefix to hints and pass the hint
  via `InsertWithHint()` if `memtable_insert_prefix_extractor` is non-null.
Closes https://github.com/facebook/rocksdb/pull/1419

Differential Revision: D4079367

Pulled By: yiwu-arbug

fbshipit-source-id: 3555326
2016-11-13 19:09:18 -08:00
..
hash_cuckoo_rep.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
hash_cuckoo_rep.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
hash_linklist_rep.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
hash_linklist_rep.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
hash_skiplist_rep.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00
hash_skiplist_rep.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
skiplistrep.cc Optimize sequential insert into memtable - Part 1: Interface 2016-11-13 19:09:18 -08:00
stl_wrappers.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
vectorrep.cc Add SeekForPrev() to Iterator 2016-09-27 18:20:57 -07:00