Browse Source

update baseline benchmark

baseline
ArcueidType 8 months ago
parent
commit
0980c4f110
3 changed files with 7 additions and 2 deletions
  1. +2
    -2
      benchmarks/db_bench.cc
  2. +2
    -0
      db/fields.cc
  3. +3
    -0
      db/fields.h

+ 2
- 2
benchmarks/db_bench.cc View File

@ -875,7 +875,7 @@ class Benchmark {
int i = 0;
int64_t bytes = 0;
for (iter->SeekToFirst(); i < reads_ && iter->Valid(); iter->Next()) {
bytes += iter->key().size() + iter->value().size();
bytes += iter->key().size() + iter->fields().size();
thread->stats.FinishedSingleOp();
++i;
}
@ -888,7 +888,7 @@ class Benchmark {
int i = 0;
int64_t bytes = 0;
for (iter->SeekToLast(); i < reads_ && iter->Valid(); iter->Prev()) {
bytes += iter->key().size() + iter->value().size();
bytes += iter->key().size() + iter->fields().size();
thread->stats.FinishedSingleOp();
++i;
}

+ 2
- 0
db/fields.cc View File

@ -7,6 +7,7 @@ namespace leveldb {
assert(!field_array.empty());
for (const auto& field : field_array) {
this->_fields[field.first] = field.second;
this->size_ += field.first.size() + field.second.size();
}
}
@ -25,6 +26,7 @@ namespace leveldb {
Slice value = Slice(field.data() + name_size, field.size() - name_size);
this->_fields[name.ToString()] = value.ToString();
this->size_ += name.ToString().size() + value.ToString().size();
fields = Slice(fields.data() + field_size, fields.size() - field_size);
}

+ 3
- 0
db/fields.h View File

@ -33,8 +33,11 @@ namespace leveldb {
// Fields编码为存入LevelDB的Value
std::string Serialize() const;
uint64_t size() const { return size_; }
private:
std::map<std::string, std::string> _fields;
uint64_t size_ = 0;
};
} // namespace leveldb
#endif //STORAGE_LEVELDB_FIELDS_H_

Loading…
Cancel
Save