forked from MassiveAtoms/hashmap-bench
made it use less memory
This commit is contained in:
@@ -11,7 +11,8 @@
|
||||
|
||||
using namespace std::chrono;
|
||||
|
||||
|
||||
// writing out type info
|
||||
// https://stackoverflow.com/questions/81870/is-it-possible-to-print-a-variables-type-in-standard-c/56766138#56766138
|
||||
template <class T>
|
||||
nanoseconds insert_int_test(int size, T testmap){
|
||||
// init hashmap, insert size - 10k items
|
||||
@@ -41,7 +42,7 @@ nanoseconds insert_int_test(int size, T testmap){
|
||||
testmap.insert({i,i});
|
||||
}
|
||||
time_point<steady_clock> end_insert_test = steady_clock::now();
|
||||
|
||||
testmap.clear();
|
||||
// time per insert
|
||||
auto duration = duration_cast<nanoseconds>(end_insert_test - start_insert_test) - vector_time ;
|
||||
return duration / 10000;
|
||||
@@ -78,7 +79,7 @@ nanoseconds insert_string_test(int size, T testmap){
|
||||
testmap.insert({i,i});
|
||||
}
|
||||
time_point<steady_clock> end_insert_test = steady_clock::now();
|
||||
|
||||
testmap.clear();
|
||||
// time per insert
|
||||
auto duration = duration_cast<nanoseconds>(end_insert_test - start_insert_test) - vector_time ;
|
||||
return duration / 10000;
|
||||
@@ -118,6 +119,7 @@ nanoseconds lookup_int_test(int size, T testmap){
|
||||
std::cout << "SOMETHUNG IS WRONG!";
|
||||
}
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
@@ -156,6 +158,7 @@ nanoseconds lookup_string_test(int size, T testmap){
|
||||
std::cout << "SOMETHUNG IS WRONG!";
|
||||
}
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
@@ -193,6 +196,7 @@ nanoseconds nolookup_int_test(int size, T testmap){
|
||||
std::cout << "SOMETHUNG IS WRONG!";
|
||||
}
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
@@ -228,6 +232,7 @@ nanoseconds nolookup_string_test(int size, T testmap){
|
||||
std::cout << "SOMETHUNG IS WRONG!";
|
||||
}
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
@@ -265,6 +270,7 @@ nanoseconds delete_int_test(int size, T testmap){
|
||||
for (auto i : sample_inserted){
|
||||
testmap.erase(i);
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
@@ -302,6 +308,7 @@ nanoseconds delete_string_test(int size, T testmap){
|
||||
for (auto i : sample_inserted){
|
||||
testmap.erase(i);
|
||||
}
|
||||
testmap.clear();
|
||||
time_point<steady_clock> end_benchmark = steady_clock::now();
|
||||
auto duration = duration_cast<nanoseconds>(end_benchmark - start_benchmark) - vector_time;
|
||||
return duration / 10000;
|
||||
|
Reference in New Issue
Block a user