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

Method Run

src/leveldb/benchmarks/db_bench.cc:426–539  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

424 }
425
426 void Run() {
427 PrintHeader();
428 Open();
429
430 const char* benchmarks = FLAGS_benchmarks;
431 while (benchmarks != nullptr) {
432 const char* sep = strchr(benchmarks, ',');
433 Slice name;
434 if (sep == nullptr) {
435 name = benchmarks;
436 benchmarks = nullptr;
437 } else {
438 name = Slice(benchmarks, sep - benchmarks);
439 benchmarks = sep + 1;
440 }
441
442 // Reset parameters that may be overridden below
443 num_ = FLAGS_num;
444 reads_ = (FLAGS_reads < 0 ? FLAGS_num : FLAGS_reads);
445 value_size_ = FLAGS_value_size;
446 entries_per_batch_ = 1;
447 write_options_ = WriteOptions();
448
449 void (Benchmark::*method)(ThreadState*) = nullptr;
450 bool fresh_db = false;
451 int num_threads = FLAGS_threads;
452
453 if (name == Slice("open")) {
454 method = &Benchmark::OpenBench;
455 num_ /= 10000;
456 if (num_ < 1) num_ = 1;
457 } else if (name == Slice("fillseq")) {
458 fresh_db = true;
459 method = &Benchmark::WriteSeq;
460 } else if (name == Slice("fillbatch")) {
461 fresh_db = true;
462 entries_per_batch_ = 1000;
463 method = &Benchmark::WriteSeq;
464 } else if (name == Slice("fillrandom")) {
465 fresh_db = true;
466 method = &Benchmark::WriteRandom;
467 } else if (name == Slice("overwrite")) {
468 fresh_db = false;
469 method = &Benchmark::WriteRandom;
470 } else if (name == Slice("fillsync")) {
471 fresh_db = true;
472 num_ /= 1000;
473 write_options_.sync = true;
474 method = &Benchmark::WriteRandom;
475 } else if (name == Slice("fill100K")) {
476 fresh_db = true;
477 num_ /= 1000;
478 value_size_ = 100 * 1000;
479 method = &Benchmark::WriteRandom;
480 } else if (name == Slice("readseq")) {
481 method = &Benchmark::ReadSequential;
482 } else if (name == Slice("readreverse")) {
483 method = &Benchmark::ReadReverse;

Callers 1

mainFunction · 0.45

Calls 6

WriteOptionsClass · 0.85
DestroyDBFunction · 0.85
SliceClass · 0.50
OptionsClass · 0.50
emptyMethod · 0.45
ToStringMethod · 0.45

Tested by

no test coverage detected