forked from MassiveAtoms/hashmap-bench
O P T I O N S
This commit is contained in:
@@ -5,16 +5,15 @@
|
||||
#include "./tests.h"
|
||||
|
||||
vector<int> sizes = {
|
||||
50000, 100000, 150000, 200000, 250000, 300000, 350000, 400000, 500000,
|
||||
600000, 700000, 800000, 900000, 1000000,
|
||||
// 2000000, 3000000, 4000000, 5000000, 6000000, 7000000, 8000000, 9000000, 10000000,
|
||||
// 15000000, 20000000, 25000000, 30000000, 35000000, 40000000, 45000000, 50000000
|
||||
50000, 100000, 150000, 200000, 250000, 300000, 350000, 400000, 500000,
|
||||
600000, 700000, 800000, 900000, 1000000,
|
||||
// 2000000, 3000000, 4000000, 5000000, 6000000, 7000000, 8000000, 9000000, 10000000,
|
||||
// 15000000, 20000000, 25000000, 30000000, 35000000, 40000000, 45000000, 50000000
|
||||
};
|
||||
// to print type info
|
||||
|
||||
template <typename T>
|
||||
constexpr auto type_name()
|
||||
{
|
||||
template<typename T>
|
||||
constexpr auto type_name() {
|
||||
std::string_view name, prefix, suffix;
|
||||
#ifdef __clang__
|
||||
name = __PRETTY_FUNCTION__;
|
||||
@@ -32,73 +31,70 @@ constexpr auto type_name()
|
||||
name.remove_prefix(prefix.size());
|
||||
name.remove_suffix(suffix.size());
|
||||
return name;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
std::basic_string_view<char> name(T var){
|
||||
std::basic_string_view<char> name(T var) {
|
||||
return type_name<decltype(var)>();
|
||||
}
|
||||
|
||||
|
||||
template<class T>
|
||||
void int_test_aggregate(T map, int runs){
|
||||
void int_test_aggregate(T map, int runs) {
|
||||
std::ofstream output{"results.csv", std::ios_base::app};
|
||||
for (int i = 0; i < runs; ++i){
|
||||
for (int i = 0; i < runs; ++i) {
|
||||
string insert = "\nint_insert, '";
|
||||
string succ_lookup = "\nint_succ_lookup, '";
|
||||
string nosucc_lookup = "\nint_nosucc_lookup, '";
|
||||
string delet = "\nint_delete, '";
|
||||
|
||||
insert += string{name(map)} + "'";
|
||||
succ_lookup += string{name(map)} + "'" ;
|
||||
nosucc_lookup += string{name(map)} +"'" ;
|
||||
delet += string{name(map)} + "'" ;
|
||||
for ( auto size : sizes){
|
||||
insert += string{name(map)} + "'";
|
||||
succ_lookup += string{name(map)} + "'";
|
||||
nosucc_lookup += string{name(map)} + "'";
|
||||
delet += string{name(map)} + "'";
|
||||
for (auto size : sizes) {
|
||||
vector<int> results = int_test(map, size);
|
||||
|
||||
|
||||
insert += ", " + std::to_string(results[0]);
|
||||
succ_lookup += ", " + std::to_string(results[1]);
|
||||
nosucc_lookup +=", " + std::to_string(results[2]);
|
||||
nosucc_lookup += ", " + std::to_string(results[2]);
|
||||
delet += ", " + std::to_string(results[3]);
|
||||
}
|
||||
output << insert << succ_lookup << nosucc_lookup << delet;
|
||||
cout << insert << succ_lookup << nosucc_lookup << delet;
|
||||
|
||||
output << insert << succ_lookup << nosucc_lookup << delet;
|
||||
cout << insert << succ_lookup << nosucc_lookup << delet;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
template<class T>
|
||||
void string_test_aggregate(T map, int runs){
|
||||
void string_test_aggregate(T map, int runs) {
|
||||
std::ofstream output{"results.csv", std::ios_base::app};
|
||||
for (int i = 0; i < runs; ++i){
|
||||
for (int i = 0; i < runs; ++i) {
|
||||
string insert = "\nint_insert, '";
|
||||
string succ_lookup = "\nint_succ_lookup, '";
|
||||
string nosucc_lookup = "\nint_nosucc_lookup, '";
|
||||
string delet = "\nint_delete, '";
|
||||
|
||||
insert += string{name(map)} + "'";
|
||||
succ_lookup += string{name(map)} + "'" ;
|
||||
nosucc_lookup += string{name(map)} +"'" ;
|
||||
delet += string{name(map)} + "'" ;
|
||||
for ( auto size : sizes){
|
||||
insert += string{name(map)} + "'";
|
||||
succ_lookup += string{name(map)} + "'";
|
||||
nosucc_lookup += string{name(map)} + "'";
|
||||
delet += string{name(map)} + "'";
|
||||
for (auto size : sizes) {
|
||||
vector<int> results = string_test(map, size);
|
||||
|
||||
|
||||
insert += ", " + std::to_string(results[0]);
|
||||
succ_lookup += ", " + std::to_string(results[1]);
|
||||
nosucc_lookup +=", " + std::to_string(results[2]);
|
||||
nosucc_lookup += ", " + std::to_string(results[2]);
|
||||
delet += ", " + std::to_string(results[3]);
|
||||
}
|
||||
output << insert << succ_lookup << nosucc_lookup << delet;
|
||||
cout << insert << succ_lookup << nosucc_lookup << delet;
|
||||
output << insert << succ_lookup << nosucc_lookup << delet;
|
||||
cout << insert << succ_lookup << nosucc_lookup << delet;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
#endif
|
||||
#endif
|
Reference in New Issue
Block a user