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 |
---|---|---|
adaptive_table_factory.cc | -rw-r--r-- | 2.9 KB |
adaptive_table_factory.h | -rw-r--r-- | 1.6 KB |
block.cc | -rw-r--r-- | 11.5 KB |
block.h | -rw-r--r-- | 2.0 KB |
block_based_table_builder.cc | -rw-r--r-- | 29.0 KB |
block_based_table_builder.h | -rw-r--r-- | 3.9 KB |
block_based_table_factory.cc | -rw-r--r-- | 2.3 KB |
block_based_table_factory.h | -rw-r--r-- | 1.7 KB |
block_based_table_reader.cc | -rw-r--r-- | 41.7 KB |
block_based_table_reader.h | -rw-r--r-- | 7.9 KB |
block_builder.cc | -rw-r--r-- | 4.6 KB |
block_builder.h | -rw-r--r-- | 2.2 KB |
block_hash_index.cc | -rw-r--r-- | 5.0 KB |
block_hash_index.h | -rw-r--r-- | 3.0 KB |
block_hash_index_test.cc | -rw-r--r-- | 3.7 KB |
block_prefix_index.cc | -rw-r--r-- | 7.7 KB |
block_prefix_index.h | -rw-r--r-- | 2.2 KB |
block_test.cc | -rw-r--r-- | 7.2 KB |
filter_block.cc | -rw-r--r-- | 6.2 KB |
filter_block.h | -rw-r--r-- | 3.1 KB |
filter_block_test.cc | -rw-r--r-- | 4.1 KB |
flush_block_policy.cc | -rw-r--r-- | 2.5 KB |
format.cc | -rw-r--r-- | 12.8 KB |
format.h | -rw-r--r-- | 6.8 KB |
iter_heap.h | -rw-r--r-- | 1.2 KB |
iterator.cc | -rw-r--r-- | 2.5 KB |
iterator_wrapper.h | -rw-r--r-- | 2.6 KB |
merger.cc | -rw-r--r-- | 9.6 KB |
merger.h | -rw-r--r-- | 1.9 KB |
meta_blocks.cc | -rw-r--r-- | 8.9 KB |
meta_blocks.h | -rw-r--r-- | 4.8 KB |
plain_table_builder.cc | -rw-r--r-- | 6.1 KB |
plain_table_builder.h | -rw-r--r-- | 2.9 KB |
plain_table_factory.cc | -rw-r--r-- | 2.4 KB |
plain_table_factory.h | -rw-r--r-- | 3.9 KB |
plain_table_reader.cc | -rw-r--r-- | 25.2 KB |
plain_table_reader.h | -rw-r--r-- | 10.0 KB |
table_builder.h | -rw-r--r-- | 2.0 KB |
table_properties.cc | -rw-r--r-- | 4.0 KB |
table_reader.h | -rw-r--r-- | 3.2 KB |
table_reader_bench.cc | -rw-r--r-- | 9.9 KB |
table_test.cc | -rw-r--r-- | 56.5 KB |
two_level_iterator.cc | -rw-r--r-- | 5.5 KB |
two_level_iterator.h | -rw-r--r-- | 2.0 KB |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...