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
History
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

back to top