Browse Source

avoid unnecessary memory copy

naive_version
wzk784533 4 years ago
parent
commit
28602d3625
1 changed files with 5 additions and 2 deletions
  1. +5
    -2
      db/builder.cc

+ 5
- 2
db/builder.cc View File

@ -30,11 +30,14 @@ Status BuildTable(const std::string& dbname, Env* env, const Options& options,
TableBuilder* builder = new TableBuilder(options, file); TableBuilder* builder = new TableBuilder(options, file);
meta->smallest.DecodeFrom(iter->key()); meta->smallest.DecodeFrom(iter->key());
Slice key;
for (; iter->Valid(); iter->Next()) { for (; iter->Valid(); iter->Next()) {
Slice key = iter->key();
meta->largest.DecodeFrom(key);
key = iter->key();
builder->Add(key, iter->value()); builder->Add(key, iter->value());
} }
if(!key.empty()) {
meta->largest.DecodeFrom(key);
}
// Finish and check for builder errors // Finish and check for builder errors
s = builder->Finish(); s = builder->Finish();

Loading…
Cancel
Save