From b1074ac24f28afd0b5704ed520515b9ce00aae4c Mon Sep 17 00:00:00 2001 From: Mayank Agarwal Date: Fri, 23 Aug 2013 15:41:18 -0700 Subject: [PATCH] Use initializer list for VersionSet Summary: initialiszer list is fasteri/preferable because it can straightaway call the constructor for this object, otherwise it will be created first and then again initialized. Although gain may not be much in this case because files_ is just a pointer and not a complex object, this is recommended practice. Test Plan: make all check Reviewers: dhruba, haobo Reviewed By: dhruba CC: leveldb Differential Revision: https://reviews.facebook.net/D12519 --- db/version_set.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/db/version_set.cc b/db/version_set.cc index 863b7a920a..dca8c72287 100644 --- a/db/version_set.cc +++ b/db/version_set.cc @@ -397,6 +397,7 @@ static bool NewestFirstBySeqNo(FileMetaData* a, FileMetaData* b) { Version::Version(VersionSet* vset, uint64_t version_number) : vset_(vset), next_(this), prev_(this), refs_(0), + files_(new std::vector[vset->NumberLevels()]), files_by_size_(vset->NumberLevels()), next_file_to_compact_by_size_(vset->NumberLevels()), file_to_compact_(nullptr), @@ -405,7 +406,6 @@ Version::Version(VersionSet* vset, uint64_t version_number) compaction_level_(vset->NumberLevels()), offset_manifest_file_(0), version_number_(version_number) { - files_ = new std::vector[vset->NumberLevels()]; } void Version::Get(const ReadOptions& options,