Revision 0f0076ed5abd1540dd0b7af5d51cde529c178d52 authored by Haobo Xu on 13 June 2014, 02:03:22 UTC, committed by Haobo Xu on 19 June 2014, 01:16:07 UTC
Summary: Currently, the in-memory hash index of blockbased table uses a precise hash map to track the prefix to block range mapping. In some use cases, especially when prefix itself is big, the memory overhead becomes a problem. This diff introduces a fixed hash bucket array that does not store the prefix and allows prefix collision, which is similar to the plaintable hash index, in order to reduce the memory consumption. Just a quick draft, still testing and refining. Test Plan: unit test and shadow testing Reviewers: dhruba, kailiu, sdong Reviewed By: sdong Subscribers: leveldb Differential Revision: https://reviews.facebook.net/D19047
1 parent 3525aac
File | Mode | Size |
---|---|---|
builder.cc | -rw-r--r-- | 8.1 KB |
builder.h | -rw-r--r-- | 1.8 KB |
c.cc | -rw-r--r-- | 41.1 KB |
c_test.c | -rw-r--r-- | 15.1 KB |
column_family.cc | -rw-r--r-- | 19.9 KB |
column_family.h | -rw-r--r-- | 15.4 KB |
column_family_test.cc | -rw-r--r-- | 29.7 KB |
compaction.cc | -rw-r--r-- | 8.5 KB |
compaction.h | -rw-r--r-- | 6.0 KB |
compaction_picker.cc | -rw-r--r-- | 35.5 KB |
compaction_picker.h | -rw-r--r-- | 7.1 KB |
corruption_test.cc | -rw-r--r-- | 12.3 KB |
db_bench.cc | -rw-r--r-- | 89.0 KB |
db_filesnapshot.cc | -rw-r--r-- | 5.1 KB |
db_impl.cc | -rw-r--r-- | 166.1 KB |
db_impl.h | -rw-r--r-- | 24.1 KB |
db_impl_debug.cc | -rw-r--r-- | 4.1 KB |
db_impl_readonly.cc | -rw-r--r-- | 4.9 KB |
db_impl_readonly.h | -rw-r--r-- | 3.7 KB |
db_iter.cc | -rw-r--r-- | 16.8 KB |
db_iter.h | -rw-r--r-- | 2.5 KB |
db_stats_logger.cc | -rw-r--r-- | 2.6 KB |
db_test.cc | -rw-r--r-- | 217.9 KB |
dbformat.cc | -rw-r--r-- | 5.5 KB |
dbformat.h | -rw-r--r-- | 11.2 KB |
dbformat_test.cc | -rw-r--r-- | 4.0 KB |
deletefile_test.cc | -rw-r--r-- | 9.0 KB |
file_indexer.cc | -rw-r--r-- | 6.7 KB |
file_indexer.h | -rw-r--r-- | 5.7 KB |
file_indexer_test.cc | -rw-r--r-- | 9.2 KB |
filename.cc | -rw-r--r-- | 7.7 KB |
filename.h | -rw-r--r-- | 4.2 KB |
filename_test.cc | -rw-r--r-- | 4.0 KB |
forward_iterator.cc | -rw-r--r-- | 10.7 KB |
forward_iterator.h | -rw-r--r-- | 2.9 KB |
internal_stats.cc | -rw-r--r-- | 15.6 KB |
internal_stats.h | -rw-r--r-- | 6.4 KB |
log_and_apply_bench.cc | -rw-r--r-- | 2.4 KB |
log_format.h | -rw-r--r-- | 1.1 KB |
log_reader.cc | -rw-r--r-- | 10.5 KB |
log_reader.h | -rw-r--r-- | 4.4 KB |
log_test.cc | -rw-r--r-- | 18.1 KB |
log_writer.cc | -rw-r--r-- | 3.1 KB |
log_writer.h | -rw-r--r-- | 1.6 KB |
memtable.cc | -rw-r--r-- | 21.7 KB |
memtable.h | -rw-r--r-- | 7.7 KB |
memtable_list.cc | -rw-r--r-- | 9.2 KB |
memtable_list.h | -rw-r--r-- | 5.0 KB |
merge_context.h | -rw-r--r-- | 1.9 KB |
merge_helper.cc | -rw-r--r-- | 8.2 KB |
merge_helper.h | -rw-r--r-- | 4.2 KB |
merge_operator.cc | -rw-r--r-- | 2.5 KB |
merge_test.cc | -rw-r--r-- | 12.3 KB |
perf_context_test.cc | -rw-r--r-- | 11.0 KB |
plain_table_db_test.cc | -rw-r--r-- | 29.6 KB |
prefix_test.cc | -rw-r--r-- | 15.6 KB |
repair.cc | -rw-r--r-- | 12.6 KB |
simple_table_db_test.cc | -rw-r--r-- | 22.7 KB |
skiplist.h | -rw-r--r-- | 12.9 KB |
skiplist_test.cc | -rw-r--r-- | 9.9 KB |
snapshot.h | -rw-r--r-- | 2.3 KB |
table_cache.cc | -rw-r--r-- | 6.5 KB |
table_cache.h | -rw-r--r-- | 3.7 KB |
table_properties_collector.cc | -rw-r--r-- | 2.2 KB |
table_properties_collector.h | -rw-r--r-- | 2.9 KB |
table_properties_collector_test.cc | -rw-r--r-- | 9.8 KB |
tailing_iter.cc | -rw-r--r-- | 6.1 KB |
tailing_iter.h | -rw-r--r-- | 2.9 KB |
transaction_log_impl.cc | -rw-r--r-- | 8.7 KB |
transaction_log_impl.h | -rw-r--r-- | 3.9 KB |
version_edit.cc | -rw-r--r-- | 9.8 KB |
version_edit.h | -rw-r--r-- | 5.6 KB |
version_edit_test.cc | -rw-r--r-- | 1.9 KB |
version_set.cc | -rw-r--r-- | 95.9 KB |
version_set.h | -rw-r--r-- | 19.0 KB |
version_set_test.cc | -rw-r--r-- | 5.6 KB |
write_batch.cc | -rw-r--r-- | 16.4 KB |
write_batch_internal.h | -rw-r--r-- | 4.3 KB |
write_batch_test.cc | -rw-r--r-- | 9.7 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...