MCPcopy Create free account
hub / github.com/ElementsProject/elements / Write

Method Write

src/leveldb/benchmarks/db_bench_tree_db.cc:419–451  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

417 }
418
419 void Write(bool sync, Order order, DBState state, int num_entries,
420 int value_size, int entries_per_batch) {
421 // Create new database if state == FRESH
422 if (state == FRESH) {
423 if (FLAGS_use_existing_db) {
424 message_ = "skipping (--use_existing_db is true)";
425 return;
426 }
427 delete db_;
428 db_ = nullptr;
429 Open(sync);
430 Start(); // Do not count time taken to destroy/open
431 }
432
433 if (num_entries != num_) {
434 char msg[100];
435 snprintf(msg, sizeof(msg), "(%d ops)", num_entries);
436 message_ = msg;
437 }
438
439 // Write to database
440 for (int i = 0; i < num_entries; i++) {
441 const int k = (order == SEQUENTIAL) ? i : (rand_.Next() % num_entries);
442 char key[100];
443 snprintf(key, sizeof(key), "%016d", k);
444 bytes_ += value_size + strlen(key);
445 std::string cpp_key = key;
446 if (!db_->set(cpp_key, gen_.Generate(value_size).ToString())) {
447 fprintf(stderr, "set error: %s\n", db_->error().name());
448 }
449 FinishedSingleOp();
450 }
451 }
452
453 void ReadSequential() {
454 kyotocabinet::DB::Cursor* cur = db_->cursor();

Callers 2

DoWriteMethod · 0.45
DoDeleteMethod · 0.45

Calls 4

NextMethod · 0.45
setMethod · 0.45
ToStringMethod · 0.45
GenerateMethod · 0.45

Tested by

no test coverage detected