const size_t kLeapfrogGCFrequency = 1500;
const size_t kCrudeMapSize = 10000;
-const size_t kCrudePassCount = 40000;
+const size_t kCrudePassCount = 400000;
const char* kCrudeBenchmarkName = "JunctionMapCrude";
const size_t kGrampaMapSize = 20000;
-const size_t kGrampaPassCount = 30000;
+const size_t kGrampaPassCount = 60000;
const char* kGrampaBenchmarkName = "JunctionMapGrampa";
const size_t kLinearMapSize = 20000;
template <typename Map>
void run_crude_map(size_t map_size, size_t pass_count, const char* bench_name,
size_t gc_frequency) {
- std::cout << "[ RUN ] " << kTestName << "." << bench_name << "\n";
+ std::cout << "[ RUN ] " << kTestName << "." << bench_name << std::endl;
auto start_time = std::chrono::system_clock::now();
size_t nInsertedNum = 0;
}
}
junction::DefaultQSBR.update(qsbrContext);
+ junction::DefaultQSBR.destroyContext(qsbrContext );
auto finish_time = std::chrono::system_clock::now();
auto dur = finish_time - start_time;
auto milisecs = std::chrono::duration_cast<std::chrono::milliseconds>(dur);
if (nFindSuccess != nInsertedNum) {
std::cout << "nFindSuccess=" << nFindSuccess << ", nInsertedNum="
- << nInsertedNum << "\n";
+ << nInsertedNum << std::endl;
std::cout << "[ FAILED ] " << kTestName << "." << bench_name
- << "(" << milisecs.count() << " ms)\n";
+ << "(" << milisecs.count() << " ms)" << std::endl;
assert(false && "ConcurrentMap ERROR");
} else {
std::cout << "[ OK ] " << kTestName << "." << bench_name
- << "(" << milisecs.count() << " ms)\n";
+ << "(" << milisecs.count() << " ms)" << std::endl;
}
}
template <typename Map>
void run_test(size_t map_size, size_t pass_count, const char* bench_name,
size_t gc_frequency) {
- std::cout << "[ RUN ] " << kTestName << "." << bench_name << "\n";
+ std::cout << "[ RUN ] " << kTestName << "." << bench_name << std::endl;
auto start_time = std::chrono::system_clock::now();
size_t nInsertedNum = 0;
}
}
}
+ junction::DefaultQSBR.update(qsbrContext);
+ junction::DefaultQSBR.destroyContext(qsbrContext );
auto finish_time = std::chrono::system_clock::now();
auto dur = finish_time - start_time;
auto milisecs = std::chrono::duration_cast<std::chrono::milliseconds>(dur);
if (nFindSuccess != nInsertedNum) {
std::cout << "nFindSuccess=" << nFindSuccess << ", nInsertedNum="
- << nInsertedNum << "\n";
+ << nInsertedNum << std::endl;
std::cout << "[ FAILED ] " << kTestName << "." << bench_name
- << "(" << milisecs.count() << " ms)\n";
+ << "(" << milisecs.count() << " ms)" << std::endl;
assert(false && "ConcurrentMap ERROR");
} else {
std::cout << "[ OK ] " << kTestName << "." << bench_name
- << "(" << milisecs.count() << " ms)\n";
+ << "(" << milisecs.count() << " ms)" << std::endl;
}
}
int main() {
+ run_crude_map<CrudeMap>(kCrudeMapSize, kCrudePassCount, kCrudeBenchmarkName,
+ kGCFrequency);
run_test<LeapfrogMap>(kLeapfrogMapSize, kLeapfrogPassCount,
kLeapfrogBenchmarkName, kLeapfrogGCFrequency );
run_test<LinearMap>(kLinearMapSize, kLinearPassCount, kLinearBenchmarkName,
kGCFrequency);
run_test<GrampaMap>(kGrampaMapSize, kGrampaPassCount, kGrampaBenchmarkName,
kGCFrequency);
- run_crude_map<CrudeMap>(kCrudeMapSize, kCrudePassCount, kCrudeBenchmarkName,
- kGCFrequency);
return 0;
}