During benchmarking, I see excessive use of vector.reserve().
Summary: This code path can potentially accumulate multiple important_files for level 0. But for other levels, it should have only one file in the important_files, so it is ok not to reserve excessive space, is it not? Test Plan: make check Reviewers: haobo Reviewed By: haobo CC: reconnect.grayhat, leveldb Differential Revision: https://reviews.facebook.net/D14349
This commit is contained in:
parent
e60dde71c7
commit
8478f380a0
@ -458,7 +458,9 @@ void Version::Get(const ReadOptions& options,
|
|||||||
// Get the list of files to search in this level
|
// Get the list of files to search in this level
|
||||||
FileMetaData* const* files = &files_[level][0];
|
FileMetaData* const* files = &files_[level][0];
|
||||||
important_files.clear();
|
important_files.clear();
|
||||||
|
if (level == 0) {
|
||||||
important_files.reserve(num_files);
|
important_files.reserve(num_files);
|
||||||
|
}
|
||||||
|
|
||||||
// Some files may overlap each other. We find
|
// Some files may overlap each other. We find
|
||||||
// all files that overlap user_key and process them in order from
|
// all files that overlap user_key and process them in order from
|
||||||
|
Loading…
Reference in New Issue
Block a user