rocksdb/memtable
Lingjing You 1a928c22a0 Add insert hints for each writebatch (#5728)
Summary:
Add insert hints for each writebatch so that they can be used in concurrent write, and add write option to enable it.

Bench result (qps):

`./db_bench --benchmarks=fillseq -allow_concurrent_memtable_write=true -num=4000000 -batch-size=1 -threads=1 -db=/data3/ylj/tmp -write_buffer_size=536870912 -num_column_families=4`

master:

| batch size \ thread num | 1       | 2       | 4       | 8       |
| ----------------------- | ------- | ------- | ------- | ------- |
| 1                       | 387883  | 220790  | 308294  | 490998  |
| 10                      | 1397208 | 978911  | 1275684 | 1733395 |
| 100                     | 2045414 | 1589927 | 1798782 | 2681039 |
| 1000                    | 2228038 | 1698252 | 1839877 | 2863490 |

fillseq with writebatch hint:

| batch size \ thread num | 1       | 2       | 4       | 8       |
| ----------------------- | ------- | ------- | ------- | ------- |
| 1                       | 286005  | 223570  | 300024  | 466981  |
| 10                      | 970374  | 813308  | 1399299 | 1753588 |
| 100                     | 1962768 | 1983023 | 2676577 | 3086426 |
| 1000                    | 2195853 | 2676782 | 3231048 | 3638143 |
Pull Request resolved: https://github.com/facebook/rocksdb/pull/5728

Differential Revision: D17297240

fbshipit-source-id: b053590a6d77871f1ef2f911a7bd013b3899b26c
2019-09-12 17:15:18 -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 Move some memory related files from util/ to memory/ (#5382) 2019-05-30 17:44:09 -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 Move test related files under util/ to test_util/ (#5377) 2019-05-30 11:25:51 -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