rocksdb/utilities
jsteemann e9c31ab159 save redundant key lookup in map of locked keys
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
2018-02-20 17:44:44 -08:00
..
backupable fix backup meta-file buffer overrun 2017-12-15 12:29:16 -08:00
blob_db Blob DB: miscellaneous changes 2018-01-31 18:13:23 -08:00
cassandra Fix the build with MSVC 2017 2017-12-14 12:02:22 -08:00
checkpoint fix handling of empty string as checkpoint directory 2018-02-20 16:44:00 -08:00
compaction_filters Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
convenience Change RocksDB License 2017-07-15 16:11:23 -07:00
date_tiered WritePrepared Txn: Iterator 2017-10-09 17:15:28 -07:00
document Suppress unused warnings 2018-02-02 12:27:07 -08:00
geodb Change RocksDB License 2017-07-15 16:11:23 -07:00
leveldb_options Change RocksDB License 2017-07-15 16:11:23 -07:00
lua Suppress unused warnings 2018-02-02 12:27:07 -08:00
memory Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operators allow nullptr Slice only as sentinel 2017-08-23 10:56:06 -07:00
option_change_migration Change RocksDB License 2017-07-15 16:11:23 -07:00
options fix gflags namespace 2017-12-01 10:42:05 -08:00
persistent_cache Fix build for linux 2017-12-18 12:28:03 -08:00
redis Enable MSVC W4 with a few exceptions. Fix warnings and bugs 2017-10-19 10:57:12 -07:00
simulator_cache Suppress lint in old files 2018-01-29 12:56:42 -08:00
spatialdb Enable MSVC W4 with a few exceptions. Fix warnings and bugs 2017-10-19 10:57:12 -07:00
table_properties_collectors fix deletion-triggered compaction in table builder 2017-09-28 18:17:30 -07:00
transactions save redundant key lookup in map of locked keys 2018-02-20 17:44:44 -08:00
ttl Suppress lint in old files 2018-01-29 12:56:42 -08:00
write_batch_with_index fix wrong indentation 2018-02-15 11:13:37 -08:00
col_buf_decoder.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
col_buf_decoder.h utilities: Fix coverity issues in blob_db and col_buf_decoder 2017-11-28 12:27:57 -08:00
col_buf_encoder.cc fix shift UBSAN error in col_buf_encoder.cc 2018-02-20 16:44:00 -08:00
col_buf_encoder.h Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_exp.cc fix gflags namespace 2017-12-01 10:42:05 -08:00
column_aware_encoding_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_util.cc Fix build with USE_RTTI=0 2018-02-16 10:41:49 -08:00
column_aware_encoding_util.h Change RocksDB License 2017-07-15 16:11:23 -07:00
debug.cc Fix naming in InternalKey 2017-09-12 17:17:42 -07:00
env_librados_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_librados.cc Suppress lint in old files 2018-01-29 12:56:42 -08:00
env_librados.md Add EnvLibrados - RocksDB Env of RADOS (#1222) 2016-07-21 11:16:34 -07:00
env_mirror_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_mirror.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_timed_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_timed.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operators.h garbage collect tombstones in merge operator 2017-08-31 10:11:54 -07:00
object_registry_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
util_merge_operators_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00