Skip to content

Commit 760af84

Browse files
committed
Removed CCheckQueueSpeed benchmark
This benchmark's runtime was rather unpredictive on different machines, not really a useful benchmark.
1 parent 00721e6 commit 760af84

File tree

1 file changed

+0
-41
lines changed

1 file changed

+0
-41
lines changed

src/bench/checkqueue.cpp

Lines changed: 0 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -12,51 +12,11 @@
1212
#include <random.h>
1313

1414

15-
// This Benchmark tests the CheckQueue with the lightest
16-
// weight Checks, so it should make any lock contention
17-
// particularly visible
1815
static const int MIN_CORES = 2;
1916
static const size_t BATCHES = 101;
2017
static const size_t BATCH_SIZE = 30;
2118
static const int PREVECTOR_SIZE = 28;
2219
static const unsigned int QUEUE_BATCH_SIZE = 128;
23-
static void CCheckQueueSpeed(benchmark::State& state)
24-
{
25-
struct FakeJobNoWork {
26-
bool operator()()
27-
{
28-
return true;
29-
}
30-
void swap(FakeJobNoWork& x){};
31-
};
32-
CCheckQueue<FakeJobNoWork> queue {QUEUE_BATCH_SIZE};
33-
boost::thread_group tg;
34-
for (auto x = 0; x < std::max(MIN_CORES, GetNumCores()); ++x) {
35-
tg.create_thread([&]{queue.Thread();});
36-
}
37-
while (state.KeepRunning()) {
38-
CCheckQueueControl<FakeJobNoWork> control(&queue);
39-
40-
// We call Add a number of times to simulate the behavior of adding
41-
// a block of transactions at once.
42-
43-
std::vector<std::vector<FakeJobNoWork>> vBatches(BATCHES);
44-
for (auto& vChecks : vBatches) {
45-
vChecks.resize(BATCH_SIZE);
46-
}
47-
for (auto& vChecks : vBatches) {
48-
// We can't make vChecks in the inner loop because we want to measure
49-
// the cost of getting the memory to each thread and we might get the same
50-
// memory
51-
control.Add(vChecks);
52-
}
53-
// control waits for completion by RAII, but
54-
// it is done explicitly here for clarity
55-
control.Wait();
56-
}
57-
tg.interrupt_all();
58-
tg.join_all();
59-
}
6020

6121
// This Benchmark tests the CheckQueue with a slightly realistic workload,
6222
// where checks all contain a prevector that is indirect 50% of the time
@@ -99,5 +59,4 @@ static void CCheckQueueSpeedPrevectorJob(benchmark::State& state)
9959
tg.interrupt_all();
10060
tg.join_all();
10161
}
102-
BENCHMARK(CCheckQueueSpeed, 29000);
10362
BENCHMARK(CCheckQueueSpeedPrevectorJob, 1400);

0 commit comments

Comments
 (0)