Feng Zhu
c11d604ab3
store file_indexer info in sequential memory
Summary:
use arena to allocate space for next_level_index_ and level_rb_
Thus increasing data locality and make Version::Get faster.
Benchmark detail
Base version: commit d2a727c182338514af955bbcb1d92db4af83b41c
command used:
./db_bench --db=/mnt/db/rocksdb --num_levels=6 --key_size=20 --prefix_size=20 --keys_per_prefix=0 --value_size=100 --block_size=4096 --cache_size=17179869184 --cache_numshardbits=6 --compression_type=none --compression_ratio=1 --min_level_to_compress=-1 --disable_seek_compaction=1 --hard_rate_limit=2 --write_buffer_size=134217728 --max_write_buffer_number=2 --level0_file_num_compaction_trigger=8 --target_file_size_base=2097152 --max_bytes_for_level_base=1073741824 --disable_wal=0 --sync=0 --disable_data_sync=1 --verify_checksum=1 --delete_obsolete_files_period_micros=314572800 --max_grandparent_overlap_factor=10 --max_background_compactions=4 --max_background_flushes=0 --level0_slowdown_writes_trigger=16 --level0_stop_writes_trigger=24 --statistics=0 --stats_per_interval=0 --stats_interval=1048576 --histogram=0 --use_plain_table=1 --open_files=-1 --mmap_read=1 --mmap_write=0 --memtablerep=prefix_hash --bloom_bits=10 --bloom_locality=1 --perf_level=0 --benchmarks=fillseq, readrandom,readrandom,readrandom --use_existing_db=0 --num=52428800 --threads=1
Result:
cpu running percentage:
Version::Get, improved from 7.98% to 7.42%
FileIndexer::GetNextLevelIndex, improved from 1.18% to 0.68%.
Test Plan:
make all check
Reviewers: ljin, haobo, yhchiang, sdong
Reviewed By: sdong
Subscribers: dhruba, igor
Differential Revision: https://reviews.facebook.net/D19845
2014-07-16 11:21:30 -07:00
..
2014-07-08 12:31:49 -07:00
2014-07-08 12:31:49 -07:00
2014-07-10 12:55:53 -07:00
2014-07-10 12:55:53 -07:00
2014-06-20 10:23:02 +02:00
2014-07-02 21:14:44 -07:00
2014-06-26 16:45:27 -07:00
2014-07-15 12:06:28 -07:00
2014-07-15 12:06:28 -07:00
2014-07-11 12:52:41 -07:00
2014-07-11 12:52:41 -07:00
2014-04-24 14:56:41 -04:00
2014-07-07 10:53:31 -07:00
2014-07-02 21:14:44 -07:00
2014-05-21 11:43:35 -07:00
2014-06-20 10:23:02 +02:00
2014-07-15 09:16:32 -04:00
2014-07-15 12:06:28 -07:00
2014-07-15 09:16:32 -04:00
2014-07-15 16:10:18 -07:00
2014-06-02 17:44:57 -07:00
2014-07-15 16:10:18 -07:00
2013-10-16 17:48:41 -07:00
2014-04-08 10:58:07 -07:00
2014-07-01 17:14:15 -07:00
2013-11-15 16:30:23 -08:00
2014-07-16 11:21:30 -07:00
2014-07-16 11:21:30 -07:00
2014-07-16 11:21:30 -07:00
2014-07-15 12:06:28 -07:00
2014-07-15 12:06:28 -07:00
2014-07-15 12:06:28 -07:00
2014-07-10 16:46:13 -07:00
2014-06-03 12:28:58 -07:00
2014-07-14 09:06:38 -07:00
2014-07-11 15:03:30 -07:00
2014-07-02 21:14:44 -07:00
2014-01-02 16:32:31 -08:00
2014-02-28 13:19:47 -08:00
2014-01-27 14:49:10 -08:00
2014-03-14 22:44:35 +00:00
2013-10-16 17:48:41 -07:00
2013-10-16 17:48:41 -07:00
2014-07-02 21:14:44 -07:00
2014-07-02 21:14:44 -07:00
2014-06-30 15:54:31 -07:00
2014-06-02 17:44:57 -07:00
2014-03-24 17:57:13 -07:00
2014-03-27 16:15:25 -07:00
2014-03-24 20:47:53 -07:00
2014-03-26 18:11:41 -07:00
2014-04-28 23:46:24 -04:00
2014-03-14 13:02:20 -07:00
2014-07-10 11:32:04 -07:00
2014-07-01 17:14:15 -07:00
2014-07-15 12:06:28 -07:00
2014-06-20 10:23:02 +02:00
2014-01-30 22:10:10 -08:00
2014-03-10 12:56:46 -07:00
2013-10-16 17:48:41 -07:00
2014-07-02 21:14:44 -07:00
2014-07-15 12:06:28 -07:00
2014-05-13 12:30:55 -07:00
2013-12-05 16:34:16 -08:00
2014-05-13 12:30:55 -07:00
2014-04-25 12:21:34 -07:00
2014-04-25 12:21:34 -07:00
2014-05-12 17:50:21 -07:00
2014-04-15 13:39:26 -07:00
2014-07-02 21:14:44 -07:00
2014-07-02 21:14:44 -07:00
2014-07-11 12:52:41 -07:00
2014-07-11 12:52:41 -07:00
2014-07-16 11:21:30 -07:00
2014-07-16 11:21:30 -07:00
2014-07-10 09:31:42 -07:00
2014-04-25 12:21:34 -07:00
2014-07-10 09:31:42 -07:00