rocksdb/util
Igor Canadi e8d40c31b3 [RocksDB perf] Cache speedup
Summary:
I have ran a get benchmark where all the data is in the cache and observed that most of the time is spent on waiting for lock in LRUCache.

This is an effort to optimize LRUCache.

Test Plan:
The data was loaded with fillseq. Then, I ran a benchmark:

    /db_bench --db=/tmp/rocksdb_stat_bench --num=1000000 --benchmarks=readrandom --statistics=1 --use_existing_db=1 --threads=16 --disable_seek_compaction=1 --cache_size=20000000000 --cache_numshardbits=8 --table_cache_numshardbits=8

I ran the benchmark three times. Here are the results:
AFTER THE PATCH: 798072, 803998, 811807
BEFORE THE PATCH: 782008, 815593, 763017

Reviewers: dhruba, haobo, kailiu

Reviewed By: haobo

CC: leveldb

Differential Revision: https://reviews.facebook.net/D14571
2013-12-11 08:33:29 -08:00
..
arena_impl.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
arena_impl.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
arena_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
auto_roll_logger_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
bit_set.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
blob_store.cc Fixing the warning messages captured under mac os # Consider using `git commit -m 'One line title' && arc diff`. # You will save time by running lint and unit in the background. 2013-11-12 20:05:28 -08:00
blob_store.h Implement max_size in BlobStore 2013-10-23 14:38:52 -07:00
blob_store_test.cc Move the compiler back to 4.8.1 + more small fixes 2013-11-18 11:40:16 -08:00
bloom.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
bloom_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
build_version.h Fixed typos 2013-11-16 11:21:34 +00:00
cache.cc [RocksDB perf] Cache speedup 2013-12-11 08:33:29 -08:00
cache_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
coding.cc [RocksDB] BackupableDB 2013-12-09 14:06:52 -08:00
coding.h [RocksDB] BackupableDB 2013-12-09 14:06:52 -08:00
coding_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
comparator.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
crc32c_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
env.cc Flush the log outside of lock 2013-11-07 11:31:56 -08:00
env_hdfs.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
env_posix.cc Fix build without glibc 2013-12-01 11:32:54 -08:00
env_test.cc make util/env_posix.cc work under mac 2013-11-16 23:44:39 -08:00
filelock_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
filter_policy.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
hash.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
hash.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
hash_skiplist_rep.cc Killing Transform Rep 2013-12-03 12:42:15 -08:00
hash_skiplist_rep.h Killing Transform Rep 2013-12-03 12:42:15 -08:00
histogram.cc Quick fix for a string format 2013-11-12 21:22:32 -08:00
histogram.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
histogram_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
ldb_cmd.cc [Log dumper broken when merge operator is in log] 2013-12-04 16:22:54 -08:00
ldb_cmd.h Task #3071144 Enhance ldb (db dump tool for leveldb) to report row counters for each row type 2013-11-01 13:59:14 -07:00
ldb_cmd_execute_result.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
ldb_tool.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
logging.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
logging.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
manual_compaction_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
murmurhash.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
murmurhash.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
mutexlock.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
options.cc Add compression options to db_bench 2013-12-03 14:28:48 -08:00
perf_context.cc Revert "Allow users to profile a query and see bottleneck of the query" 2013-11-21 17:40:39 -08:00
perf_context_imp.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
posix_logger.h Don't LogFlush() in foreground threads 2013-12-10 10:57:46 -08:00
random.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
signal_test.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
skiplistrep.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
slice.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stack_trace.h Print stack trace on assertion failure 2013-12-06 17:11:09 -08:00
statistics.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
statistics_imp.h [RocksDB] Use raw pointer instead of shared pointer when passing Statistics object internally 2013-11-25 10:38:15 -08:00
stats_logger.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
status.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
stl_wrappers.h Killing Transform Rep 2013-12-03 12:42:15 -08:00
stop_watch.h [RocksDB] Use raw pointer instead of shared pointer when passing Statistics object internally 2013-11-25 10:38:15 -08:00
string_util.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
string_util.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testharness.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testharness.h Print stack trace on assertion failure 2013-12-06 17:11:09 -08:00
testutil.cc Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
testutil.h Add appropriate LICENSE and Copyright message. 2013-10-16 17:48:41 -07:00
vectorrep.cc Fixing the warning messages captured under mac os # Consider using `git commit -m 'One line title' && arc diff`. # You will save time by running lint and unit in the background. 2013-11-12 20:05:28 -08:00