Revision e9c31ab1592be6c53c6a1a86cdfefcc8cd0d6e7d authored by jsteemann on 21 February 2018, 01:34:44 UTC, committed by Facebook Github Bot on 21 February 2018, 01:44:44 UTC
Summary:
In case it is found that a key is already marked as locked in a
stripe's map of locked keys, it is not necessary to look it up
again using `std::unordered_map<std::string, ...>::at(size_t)`.

Instead, we can use the already found position using the iterator
produced by the previous `find` operation. Reusing the iterator
will avoid having to hash the key again and do additional "random"
memory lookups in the map of keys (though the data will very
likely sit available in caches here already due to the previous
find operation)
Closes https://github.com/facebook/rocksdb/pull/3505

Differential Revision: D7036446

Pulled By: sagar0

fbshipit-source-id: cced51547b2bd2d49394f6bc8c5896f09fa80f68
1 parent 1960e73
History
File Mode Size
aligned_buffer.h -rw-r--r-- 4.6 KB
allocator.h -rw-r--r-- 1.6 KB
arena.cc -rw-r--r-- 7.0 KB
arena.h -rw-r--r-- 5.1 KB
arena_test.cc -rw-r--r-- 6.6 KB
auto_roll_logger.cc -rw-r--r-- 5.4 KB
auto_roll_logger.h -rw-r--r-- 4.1 KB
auto_roll_logger_test.cc -rw-r--r-- 18.3 KB
autovector.h -rw-r--r-- 8.7 KB
autovector_test.cc -rw-r--r-- 9.4 KB
bloom.cc -rw-r--r-- 11.2 KB
bloom_test.cc -rw-r--r-- 7.8 KB
build_version.cc.in -rw-r--r-- 232 bytes
build_version.h -rw-r--r-- 600 bytes
cast_util.h -rw-r--r-- 849 bytes
channel.h -rw-r--r-- 1.5 KB
coding.cc -rw-r--r-- 2.5 KB
coding.h -rw-r--r-- 12.5 KB
coding_test.cc -rw-r--r-- 5.8 KB
compaction_job_stats_impl.cc -rw-r--r-- 2.3 KB
comparator.cc -rw-r--r-- 3.7 KB
compression.h -rw-r--r-- 26.8 KB
concurrent_arena.cc -rw-r--r-- 1.3 KB
concurrent_arena.h -rw-r--r-- 7.4 KB
core_local.h -rw-r--r-- 2.4 KB
crc32c.cc -rw-r--r-- 41.6 KB
crc32c.h -rw-r--r-- 1.6 KB
crc32c_ppc.c -rw-r--r-- 2.6 KB
crc32c_ppc.h -rw-r--r-- 685 bytes
crc32c_ppc_asm.S -rw-r--r-- 13.6 KB
crc32c_ppc_constants.h -rw-r--r-- 34.4 KB
crc32c_test.cc -rw-r--r-- 4.9 KB
delete_scheduler.cc -rw-r--r-- 7.9 KB
delete_scheduler.h -rw-r--r-- 4.2 KB
delete_scheduler_test.cc -rw-r--r-- 20.2 KB
dynamic_bloom.cc -rw-r--r-- 2.7 KB
dynamic_bloom.h -rw-r--r-- 6.6 KB
dynamic_bloom_test.cc -rw-r--r-- 9.8 KB
event_logger.cc -rw-r--r-- 1.7 KB
event_logger.h -rw-r--r-- 4.5 KB
event_logger_test.cc -rw-r--r-- 1.2 KB
fault_injection_test_env.cc -rw-r--r-- 9.2 KB
fault_injection_test_env.h -rw-r--r-- 4.9 KB
file_reader_writer.cc -rw-r--r-- 20.8 KB
file_reader_writer.h -rw-r--r-- 6.9 KB
file_reader_writer_test.cc -rw-r--r-- 10.8 KB
file_util.cc -rw-r--r-- 2.9 KB
file_util.h -rw-r--r-- 995 bytes
filelock_test.cc -rw-r--r-- 1.3 KB
filename.cc -rw-r--r-- 12.4 KB
filename.h -rw-r--r-- 6.5 KB
filter_policy.cc -rw-r--r-- 598 bytes
gflags_compat.h -rw-r--r-- 459 bytes
hash.cc -rw-r--r-- 1.9 KB
hash.h -rw-r--r-- 1.0 KB
hash_map.h -rw-r--r-- 1.9 KB
hash_test.cc -rw-r--r-- 3.6 KB
heap.h -rw-r--r-- 4.9 KB
heap_test.cc -rw-r--r-- 3.8 KB
kv_map.h -rw-r--r-- 909 bytes
log_buffer.cc -rw-r--r-- 2.4 KB
log_buffer.h -rw-r--r-- 1.7 KB
log_write_bench.cc -rw-r--r-- 2.5 KB
logging.h -rw-r--r-- 2.1 KB
memory_usage.h -rw-r--r-- 844 bytes
mpsc.h -rw-r--r-- 5.7 KB
murmurhash.cc -rw-r--r-- 4.2 KB
murmurhash.h -rw-r--r-- 1.3 KB
mutexlock.h -rw-r--r-- 3.3 KB
ppc-opcode.h -rw-r--r-- 1.3 KB
random.cc -rw-r--r-- 975 bytes
random.h -rw-r--r-- 3.5 KB
rate_limiter.cc -rw-r--r-- 11.9 KB
rate_limiter.h -rw-r--r-- 3.3 KB
rate_limiter_test.cc -rw-r--r-- 9.2 KB
slice.cc -rw-r--r-- 5.6 KB
slice_transform_test.cc -rw-r--r-- 4.4 KB
sst_file_manager_impl.cc -rw-r--r-- 5.6 KB
sst_file_manager_impl.h -rw-r--r-- 3.7 KB
status.cc -rw-r--r-- 2.8 KB
status_message.cc -rw-r--r-- 946 bytes
stderr_logger.h -rw-r--r-- 850 bytes
stop_watch.h -rw-r--r-- 2.3 KB
string_util.cc -rw-r--r-- 9.1 KB
string_util.h -rw-r--r-- 4.2 KB
sync_point.cc -rw-r--r-- 4.6 KB
sync_point.h -rw-r--r-- 5.4 KB
testharness.cc -rw-r--r-- 1.2 KB
testharness.h -rw-r--r-- 1.3 KB
testutil.cc -rw-r--r-- 13.3 KB
testutil.h -rw-r--r-- 22.8 KB
thread_list_test.cc -rw-r--r-- 11.7 KB
thread_local.cc -rw-r--r-- 18.6 KB
thread_local.h -rw-r--r-- 3.6 KB
thread_local_test.cc -rw-r--r-- 14.4 KB
thread_operation.h -rw-r--r-- 3.9 KB
threadpool_imp.cc -rw-r--r-- 12.5 KB
threadpool_imp.h -rw-r--r-- 3.5 KB
timer_queue.h -rw-r--r-- 6.9 KB
timer_queue_test.cc -rw-r--r-- 2.1 KB
transaction_test_util.cc -rw-r--r-- 10.3 KB
transaction_test_util.h -rw-r--r-- 4.5 KB
xxhash.cc -rw-r--r-- 15.2 KB
xxhash.h -rw-r--r-- 6.2 KB

back to top