rocksdb/include/rocksdb
Islam AbdelRahman d719b095dc Introduce PinnedIteratorsManager (Reduce PinData() overhead / Refactor PinData)
Summary:
While trying to reuse PinData() / ReleasePinnedData() .. to optimize away some memcpys I realized that there is a significant overhead for using PinData() / ReleasePinnedData if they were called many times.
This diff refactor the pinning logic by introducing PinnedIteratorsManager a centralized component that will be created once and will be notified whenever we need to Pin an Iterator. This implementation have much less overhead than the original implementation

Test Plan:
make check -j64
COMPILE_WITH_ASAN=1 make check -j64

Reviewers: yhchiang, sdong, andrewkr

Reviewed By: andrewkr

Subscribers: andrewkr, dhruba

Differential Revision: https://reviews.facebook.net/D56493
2016-04-26 12:41:07 -07:00
..
utilities Delete deprecated *BackupableDB interface for backups 2016-04-18 09:04:14 -07:00
c.h Merge pull request #1068 from daaku/c-purge-old-backups 2016-04-22 13:49:59 -07:00
cache.h Adding pin_l0_filter_and_index_blocks_in_cache feature and related fixes. 2016-04-01 10:42:39 -07:00
compaction_filter.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
compaction_job_stats.h Rename options.compaction_measure_io_stats to options.report_bg_io_stats and include flush too. 2016-04-15 10:22:18 -07:00
comparator.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
convenience.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
db_bench_tool.h Separeate main from bench functionality to allow cusomizations 2016-02-16 06:17:31 -08:00
db_dump_tool.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
db.h Add per-level compression ratio property 2016-04-20 18:46:54 -07:00
env.h Make WritableFileWrapper not screw up preallocation 2016-03-23 09:14:56 -07:00
experimental.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
filter_policy.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
flush_block_policy.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
immutable_options.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
iostats_context.h IOStatsContext::ToString() add option to exclude zero counters 2016-02-23 10:26:24 -08:00
iterator.h Introduce PinnedIteratorsManager (Reduce PinData() overhead / Refactor PinData) 2016-04-26 12:41:07 -07:00
ldb_tool.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
listener.h Fix lite_build 2015-12-22 11:58:13 -08:00
memtablerep.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
merge_operator.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
metadata.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
options.h Introduce XPRESS compresssion on Windows. (#1081) 2016-04-19 22:54:24 -07:00
perf_context.h Update comments on include/rocksdb/perf_context.h 2016-04-08 11:27:08 -07:00
perf_level.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
rate_limiter.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
slice_transform.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
slice.h to/from hex refactor 2016-03-30 14:36:48 -07:00
snapshot.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
sst_dump_tool.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
sst_file_manager.h Introduce SstFileManager::SetMaxAllowedSpaceUsage() to cap disk space usage 2016-02-17 15:20:23 -08:00
sst_file_writer.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
statistics.h Cache to have an option to fail Cache::Insert() when full 2016-03-10 17:35:19 -08:00
status.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
table_properties.h Add comparator, merge operator, property collectors to SST file properties (again) 2016-04-21 10:16:28 -07:00
table.h Introduce PinnedIteratorsManager (Reduce PinData() overhead / Refactor PinData) 2016-04-26 12:41:07 -07:00
thread_status.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
transaction_log.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
types.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
universal_compaction.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
version.h Release RocksDB 4.7 2016-04-13 15:03:08 -07:00
wal_filter.h Avoid overloaded virtual function 2016-03-22 17:10:31 -07:00
write_batch_base.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00
write_batch.h Updated all copyright headers to the new format. 2016-02-09 15:12:00 -08:00