forked from MassiveAtoms/hashmap-bench
MOREOPTIONS
This commit is contained in:
parent
8536056157
commit
4941fd617a
186
results.csv
186
results.csv
@ -446,4 +446,188 @@ int_delete, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >',
|
||||
int_insert, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 159, 176, 161, 169, 190, 170, 177, 190, 200, 188, 193, 198, 203, 210
|
||||
int_succ_lookup, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 126, 106, 96, 102, 107, 101, 105, 115, 113, 112, 112, 122, 118, 121
|
||||
int_nosucc_lookup, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 292, 201, 160, 178, 182, 166, 177, 192, 189, 178, 182, 189, 195, 203
|
||||
int_delete, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 142, 112, 99, 104, 113, 110, 112, 122, 121, 119, 115, 134, 132, 137
|
||||
int_delete, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 142, 112, 99, 104, 113, 110, 112, 122, 121, 119, 115, 134, 132, 137
|
||||
int_insert, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >', 333, 344, 214, 282
|
||||
int_succ_lookup, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >', 148, 175, 161, 136
|
||||
int_nosucc_lookup, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >', 367, 1313, 1279, 1878
|
||||
int_delete, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >', 105, 203, 241, 278
|
||||
int_insert, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 330, 320, 426, 385
|
||||
int_succ_lookup, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 152, 249, 300, 283
|
||||
int_nosucc_lookup, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 542, 1197, 2130, 2253
|
||||
int_delete, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 226, 317, 385, 364
|
||||
int_insert, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >', 321, 175, 155, 224
|
||||
int_succ_lookup, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >', 57, 50, 45, 70
|
||||
int_nosucc_lookup, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >', 668, 823, 156, 1544
|
||||
int_delete, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >', 68, 52, 60, 68
|
||||
int_insert, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 1076, 1280, 1192, 1528
|
||||
int_succ_lookup, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 115, 159, 160, 187
|
||||
int_nosucc_lookup, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 2889, 4313, 1268, 7285
|
||||
int_delete, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 132, 164, 181, 172
|
||||
int_insert, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >', 27, 29, 77, 39
|
||||
int_succ_lookup, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >', 12, 12, 27, 19
|
||||
int_nosucc_lookup, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >', 28, 29, 49, 41
|
||||
int_delete, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >', 11, 11, 23, 13
|
||||
int_insert, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 191, 185, 301, 191
|
||||
int_succ_lookup, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 133, 98, 147, 109
|
||||
int_nosucc_lookup, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 367, 193, 212, 193
|
||||
int_delete, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 93, 109, 169, 116
|
||||
int_insert, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_succ_lookup, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_nosucc_lookup, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_delete, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_insert, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_succ_lookup, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_nosucc_lookup, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_delete, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_insert, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_succ_lookup, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_nosucc_lookup, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_delete, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_insert, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_succ_lookup, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_nosucc_lookup, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_delete, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_insert, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_succ_lookup, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_nosucc_lookup, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_delete, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >'
|
||||
int_insert, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_succ_lookup, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_nosucc_lookup, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_delete, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >'
|
||||
int_insert, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >', 324, 340, 180, 213
|
||||
int_succ_lookup, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >', 162, 245, 111, 116
|
||||
int_nosucc_lookup, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >', 424, 1309, 1209, 1608
|
||||
int_delete, 'std::unordered_map<int, int, absl::hash_internal::Hash<int> >', 115, 332, 225, 277
|
||||
int_insert, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 404, 307, 354, 369
|
||||
int_succ_lookup, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 241, 238, 261, 270
|
||||
int_nosucc_lookup, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 902, 1150, 1792, 2215
|
||||
int_delete, 'std::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 416, 304, 322, 350
|
||||
int_insert, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >', 348, 189, 158, 197
|
||||
int_succ_lookup, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >', 119, 52, 44, 55
|
||||
int_nosucc_lookup, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >', 723, 808, 158, 1498
|
||||
int_delete, 'google::sparse_hash_map<int, int, absl::hash_internal::Hash<int> >', 60, 50, 61, 58
|
||||
int_insert, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 1252, 1324, 1230, 1544
|
||||
int_succ_lookup, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 115, 150, 151, 183
|
||||
int_nosucc_lookup, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 2345, 4411, 1242, 7209
|
||||
int_delete, 'google::sparse_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 122, 206, 173, 169
|
||||
int_insert, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >', 25, 164, 87, 45
|
||||
int_succ_lookup, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >', 10, 29, 25, 20
|
||||
int_nosucc_lookup, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >', 25, 45, 79, 42
|
||||
int_delete, 'google::dense_hash_map<int, int, absl::hash_internal::Hash<int> >', 10, 18, 49, 13
|
||||
int_insert, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 171, 258, 184, 179
|
||||
int_succ_lookup, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 99, 145, 102, 109
|
||||
int_nosucc_lookup, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 164, 317, 167, 182
|
||||
int_delete, 'google::dense_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 96, 200, 121, 113
|
||||
int_insert, 'absl::node_hash_map<int, int>', 61, 116, 80, 91
|
||||
int_succ_lookup, 'absl::node_hash_map<int, int>', 19, 91, 43, 46
|
||||
int_nosucc_lookup, 'absl::node_hash_map<int, int>', 416, 87, 84, 89
|
||||
int_delete, 'absl::node_hash_map<int, int>', 114, 108, 126, 115
|
||||
int_insert, 'absl::node_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 260, 173, 190, 195
|
||||
int_succ_lookup, 'absl::node_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 395, 146, 179, 180
|
||||
int_nosucc_lookup, 'absl::node_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 1363, 147, 150, 164
|
||||
int_delete, 'absl::node_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 180, 160, 198, 193
|
||||
int_insert, 'absl::flat_hash_map<int, int>', 29, 29, 67, 54
|
||||
int_succ_lookup, 'absl::flat_hash_map<int, int>', 8, 9, 60, 38
|
||||
int_nosucc_lookup, 'absl::flat_hash_map<int, int>', 132, 36, 97, 52
|
||||
int_delete, 'absl::flat_hash_map<int, int>', 24, 22, 45, 34
|
||||
int_insert, 'absl::flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 279, 164, 172, 268
|
||||
int_succ_lookup, 'absl::flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 134, 110, 127, 252
|
||||
int_nosucc_lookup, 'absl::flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 732, 147, 143, 205
|
||||
int_delete, 'absl::flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 190, 88, 116, 147
|
||||
int_insert, 'tsl::sparse_map<int, int, absl::hash_internal::Hash<int> >', 89, 63, 233, 112
|
||||
int_succ_lookup, 'tsl::sparse_map<int, int, absl::hash_internal::Hash<int> >', 21, 14, 77, 27
|
||||
int_nosucc_lookup, 'tsl::sparse_map<int, int, absl::hash_internal::Hash<int> >', 96, 79, 218, 91
|
||||
int_delete, 'tsl::sparse_map<int, int, absl::hash_internal::Hash<int> >', 46, 40, 51, 44
|
||||
int_insert, 'tsl::sparse_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 681, 448, 424, 561
|
||||
int_succ_lookup, 'tsl::sparse_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 99, 114, 122, 124
|
||||
int_nosucc_lookup, 'tsl::sparse_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 751, 469, 427, 719
|
||||
int_delete, 'tsl::sparse_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 246, 308, 304, 524
|
||||
int_insert, 'tsl::robin_map<int, int, absl::hash_internal::Hash<int> >', 18, 27, 29, 47
|
||||
int_succ_lookup, 'tsl::robin_map<int, int, absl::hash_internal::Hash<int> >', 10, 21, 26, 24
|
||||
int_nosucc_lookup, 'tsl::robin_map<int, int, absl::hash_internal::Hash<int> >', 21, 28, 30, 32
|
||||
int_delete, 'tsl::robin_map<int, int, absl::hash_internal::Hash<int> >', 18, 22, 118, 26
|
||||
int_insert, 'tsl::robin_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 136, 150, 147, 159
|
||||
int_succ_lookup, 'tsl::robin_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 102, 101, 108, 108
|
||||
int_nosucc_lookup, 'tsl::robin_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 122, 118, 111, 122
|
||||
int_delete, 'tsl::robin_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 124, 133, 117, 130
|
||||
int_insert, 'tsl::hopscotch_map<int, int, absl::hash_internal::Hash<int> >', 43, 102, 74, 78
|
||||
int_succ_lookup, 'tsl::hopscotch_map<int, int, absl::hash_internal::Hash<int> >', 12, 40, 25, 24
|
||||
int_nosucc_lookup, 'tsl::hopscotch_map<int, int, absl::hash_internal::Hash<int> >', 227, 108, 85, 83
|
||||
int_delete, 'tsl::hopscotch_map<int, int, absl::hash_internal::Hash<int> >', 18, 24, 53, 26
|
||||
int_insert, 'tsl::hopscotch_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 189, 203, 167, 223
|
||||
int_succ_lookup, 'tsl::hopscotch_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 129, 101, 105, 117
|
||||
int_nosucc_lookup, 'tsl::hopscotch_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 1117, 210, 163, 217
|
||||
int_delete, 'tsl::hopscotch_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 128, 102, 108, 128
|
||||
int_insert, 'boost::unordered::unordered_map<int, int, absl::hash_internal::Hash<int> >', 79, 309, 178, 192
|
||||
int_succ_lookup, 'boost::unordered::unordered_map<int, int, absl::hash_internal::Hash<int> >', 31, 132, 77, 86
|
||||
int_nosucc_lookup, 'boost::unordered::unordered_map<int, int, absl::hash_internal::Hash<int> >', 86, 191, 185, 225
|
||||
int_delete, 'boost::unordered::unordered_map<int, int, absl::hash_internal::Hash<int> >', 81, 379, 192, 366
|
||||
int_insert, 'boost::unordered::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 420, 517, 432, 285
|
||||
int_succ_lookup, 'boost::unordered::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 264, 313, 395, 254
|
||||
int_nosucc_lookup, 'boost::unordered::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 645, 277, 229, 245
|
||||
int_delete, 'boost::unordered::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 575, 382, 355, 321
|
||||
int_insert, 'ska::unordered_map<int, int, absl::hash_internal::Hash<int> >', 64, 136, 272, 212
|
||||
int_succ_lookup, 'ska::unordered_map<int, int, absl::hash_internal::Hash<int> >', 20, 39, 67, 83
|
||||
int_nosucc_lookup, 'ska::unordered_map<int, int, absl::hash_internal::Hash<int> >', 72, 114, 278, 210
|
||||
int_delete, 'ska::unordered_map<int, int, absl::hash_internal::Hash<int> >', 55, 202, 245, 222
|
||||
int_insert, 'ska::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 408, 448, 328, 355
|
||||
int_succ_lookup, 'ska::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 200, 410, 294, 259
|
||||
int_nosucc_lookup, 'ska::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 264, 403, 221, 245
|
||||
int_delete, 'ska::unordered_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 216, 318, 465, 204
|
||||
int_insert, 'ska::bytell_hash_map<int, int, absl::hash_internal::Hash<int> >', 48, 60, 91, 64
|
||||
int_succ_lookup, 'ska::bytell_hash_map<int, int, absl::hash_internal::Hash<int> >', 19, 17, 62, 22
|
||||
int_nosucc_lookup, 'ska::bytell_hash_map<int, int, absl::hash_internal::Hash<int> >', 73, 65, 106, 73
|
||||
int_delete, 'ska::bytell_hash_map<int, int, absl::hash_internal::Hash<int> >', 24, 23, 104, 28
|
||||
int_insert, 'ska::bytell_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 254, 258, 181, 208
|
||||
int_succ_lookup, 'ska::bytell_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 179, 199, 116, 122
|
||||
int_nosucc_lookup, 'ska::bytell_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 210, 191, 169, 207
|
||||
int_delete, 'ska::bytell_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 220, 119, 126, 145
|
||||
int_insert, 'ska::flat_hash_map<int, int, absl::hash_internal::Hash<int> >', 27, 33, 41, 112
|
||||
int_succ_lookup, 'ska::flat_hash_map<int, int, absl::hash_internal::Hash<int> >', 10, 15, 35, 46
|
||||
int_nosucc_lookup, 'ska::flat_hash_map<int, int, absl::hash_internal::Hash<int> >', 31, 35, 139, 268
|
||||
int_delete, 'ska::flat_hash_map<int, int, absl::hash_internal::Hash<int> >', 28, 18, 102, 72
|
||||
int_insert, 'ska::flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 246, 352, 367, 279
|
||||
int_succ_lookup, 'ska::flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 157, 208, 163, 184
|
||||
int_nosucc_lookup, 'ska::flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 200, 305, 126, 276
|
||||
int_delete, 'ska::flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 366, 273, 269, 329
|
||||
int_insert, 'phmap::parallel_flat_hash_map<int, int, absl::hash_internal::Hash<int> >', 51, 134, 208, 119
|
||||
int_succ_lookup, 'phmap::parallel_flat_hash_map<int, int, absl::hash_internal::Hash<int> >', 18, 32, 192, 66
|
||||
int_nosucc_lookup, 'phmap::parallel_flat_hash_map<int, int, absl::hash_internal::Hash<int> >', 322, 112, 125, 156
|
||||
int_delete, 'phmap::parallel_flat_hash_map<int, int, absl::hash_internal::Hash<int> >', 104, 64, 49, 222
|
||||
int_insert, 'phmap::parallel_flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 249, 484, 380, 570
|
||||
int_succ_lookup, 'phmap::parallel_flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 262, 228, 251, 173
|
||||
int_nosucc_lookup, 'phmap::parallel_flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 719, 239, 162, 325
|
||||
int_delete, 'phmap::parallel_flat_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 352, 306, 247, 185
|
||||
int_insert, 'phmap::parallel_node_hash_map<int, int, absl::hash_internal::Hash<int> >', 160, 186, 154, 307
|
||||
int_succ_lookup, 'phmap::parallel_node_hash_map<int, int, absl::hash_internal::Hash<int> >', 56, 83, 63, 78
|
||||
int_nosucc_lookup, 'phmap::parallel_node_hash_map<int, int, absl::hash_internal::Hash<int> >', 501, 212, 134, 205
|
||||
int_delete, 'phmap::parallel_node_hash_map<int, int, absl::hash_internal::Hash<int> >', 114, 271, 151, 176
|
||||
int_insert, 'phmap::parallel_node_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 379, 510, 263, 312
|
||||
int_succ_lookup, 'phmap::parallel_node_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 177, 245, 178, 186
|
||||
int_nosucc_lookup, 'phmap::parallel_node_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 1180, 342, 209, 249
|
||||
int_delete, 'phmap::parallel_node_hash_map<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 141, 177, 196, 212
|
||||
int_insert, 'emilib::HashMap<int, int, absl::hash_internal::Hash<int> >', 18, 30, 36, 37
|
||||
int_succ_lookup, 'emilib::HashMap<int, int, absl::hash_internal::Hash<int> >', 12, 49, 25, 41
|
||||
int_nosucc_lookup, 'emilib::HashMap<int, int, absl::hash_internal::Hash<int> >', 21, 55, 33, 35
|
||||
int_delete, 'emilib::HashMap<int, int, absl::hash_internal::Hash<int> >', 9, 31, 15, 23
|
||||
int_insert, 'emilib::HashMap<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 157, 195, 151, 198
|
||||
int_succ_lookup, 'emilib::HashMap<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 108, 99, 117, 114
|
||||
int_nosucc_lookup, 'emilib::HashMap<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 113, 103, 118, 120
|
||||
int_delete, 'emilib::HashMap<std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> > >', 96, 92, 108, 103
|
||||
int_insert, 'robin_hood::detail::Table<true, 80, int, int, absl::hash_internal::Hash<int>, std::equal_to<int> >', 36, 56, 32, 65
|
||||
int_succ_lookup, 'robin_hood::detail::Table<true, 80, int, int, absl::hash_internal::Hash<int>, std::equal_to<int> >', 17, 26, 20, 27
|
||||
int_nosucc_lookup, 'robin_hood::detail::Table<true, 80, int, int, absl::hash_internal::Hash<int>, std::equal_to<int> >', 117, 292, 53, 429
|
||||
int_delete, 'robin_hood::detail::Table<true, 80, int, int, absl::hash_internal::Hash<int>, std::equal_to<int> >', 31, 57, 54, 44
|
||||
int_insert, 'robin_hood::detail::Table<true, 80, std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> > >', 189, 385, 155, 316
|
||||
int_succ_lookup, 'robin_hood::detail::Table<true, 80, std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> > >', 75, 176, 102, 107
|
||||
int_nosucc_lookup, 'robin_hood::detail::Table<true, 80, std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> > >', 642, 1383, 178, 2253
|
||||
int_delete, 'robin_hood::detail::Table<true, 80, std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> > >', 180, 109, 141, 171
|
||||
int_insert, 'robin_hood::detail::Table<false, 80, int, int, absl::hash_internal::Hash<int>, std::equal_to<int> >', 42, 56, 60, 61
|
||||
int_succ_lookup, 'robin_hood::detail::Table<false, 80, int, int, absl::hash_internal::Hash<int>, std::equal_to<int> >', 18, 56, 41, 41
|
||||
int_nosucc_lookup, 'robin_hood::detail::Table<false, 80, int, int, absl::hash_internal::Hash<int>, std::equal_to<int> >', 140, 676, 113, 975
|
||||
int_delete, 'robin_hood::detail::Table<false, 80, int, int, absl::hash_internal::Hash<int>, std::equal_to<int> >', 22, 132, 79, 100
|
||||
int_insert, 'robin_hood::detail::Table<false, 80, std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> > >', 144, 125, 115, 149
|
||||
int_succ_lookup, 'robin_hood::detail::Table<false, 80, std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> > >', 212, 154, 150, 181
|
||||
int_nosucc_lookup, 'robin_hood::detail::Table<false, 80, std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> > >', 791, 1431, 88, 2356
|
||||
int_delete, 'robin_hood::detail::Table<false, 80, std::__cxx11::basic_string<char>, std::__cxx11::basic_string<char>, absl::hash_internal::Hash<std::__cxx11::basic_string<char> >, std::equal_to<std::__cxx11::basic_string<char> > >', 259, 146, 142, 206
|
Can't render this file because it has a wrong number of fields in line 242.
|
@ -7,8 +7,8 @@
|
||||
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
|
||||
2000000, 3000000, 4000000, 5000000, 6000000, 7000000, 8000000, 9000000, 10000000,
|
||||
15000000, 20000000, 25000000, 30000000, 35000000, 40000000, 45000000, 50000000
|
||||
};
|
||||
// to print type info
|
||||
|
||||
@ -41,7 +41,7 @@ std::basic_string_view<char> name(T var) {
|
||||
|
||||
|
||||
template<class T>
|
||||
void int_test_aggregate(T map, int runs) {
|
||||
void int_test_aggregate(T map, int runs, int maxsize=20000000) {
|
||||
std::ofstream output{"results.csv", std::ios_base::app};
|
||||
for (int i = 0; i < runs; ++i) {
|
||||
string insert = "\nint_insert, '";
|
||||
@ -54,6 +54,9 @@ void int_test_aggregate(T map, int runs) {
|
||||
nosucc_lookup += string{name(map)} + "'";
|
||||
delet += string{name(map)} + "'";
|
||||
for (auto size : sizes) {
|
||||
if (size > maxsize){
|
||||
break;
|
||||
}
|
||||
vector<int> results = int_test(map, size);
|
||||
|
||||
insert += ", " + std::to_string(results[0]);
|
||||
@ -70,7 +73,7 @@ void int_test_aggregate(T map, int runs) {
|
||||
|
||||
|
||||
template<class T>
|
||||
void string_test_aggregate(T map, int runs) {
|
||||
void string_test_aggregate(T map, int runs, int maxsize=20000000) {
|
||||
std::ofstream output{"results.csv", std::ios_base::app};
|
||||
for (int i = 0; i < runs; ++i) {
|
||||
string insert = "\nint_insert, '";
|
||||
@ -83,8 +86,12 @@ void string_test_aggregate(T map, int runs) {
|
||||
nosucc_lookup += string{name(map)} + "'";
|
||||
delet += string{name(map)} + "'";
|
||||
for (auto size : sizes) {
|
||||
if (size > maxsize){
|
||||
break;
|
||||
}
|
||||
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]);
|
||||
|
167
src/main.cpp
167
src/main.cpp
@ -18,84 +18,87 @@ string choicetext = "Select implementation to test: '-i 1 2 3 4' or '-i 1,2,3'.
|
||||
"8. emilk's emilib:: hashmap(1) \n"
|
||||
"9. martin's robin_hood:: hashmaps(2) \n";
|
||||
|
||||
// default arguments
|
||||
vector<int> hashmaps = {1, 2, 3, 4, 5, 6, 7, 8, 9};
|
||||
bool use_abseil_hash = false;
|
||||
int runs = 1;
|
||||
int maxsize = 50000000;
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
CLI::App app{"Hashmap benchmarks"};
|
||||
vector<int> hashmaps = {1, 2, 3, 4, 5, 6, 7, 8, 9};
|
||||
app.add_option("-i,--implementation", hashmaps, choicetext )->delimiter(',');
|
||||
bool use_abseil_hash = false;
|
||||
app.add_option("-a,--abseil", use_abseil_hash, "use absl::Hash, default is false");
|
||||
int runs = 1;
|
||||
app.add_option("-r,--runs", runs, "total runs for each map, default is 1");
|
||||
app.add_option("-m, --maxsize", maxsize, "The max size of the hashmaps to test for. Default is 50 million.");
|
||||
CLI11_PARSE(app, argc, argv);
|
||||
|
||||
time_point<steady_clock> start_test = steady_clock::now();
|
||||
if (use_abseil_hash) {
|
||||
for (auto i : hashmaps) {
|
||||
switch (i) {
|
||||
case 1: {
|
||||
int_test_aggregate(std::unordered_map<int, int>{}, runs);
|
||||
string_test_aggregate(std::unordered_map<string, string>{}, runs);
|
||||
int_test_aggregate(std::unordered_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(std::unordered_map<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
|
||||
case 2: {
|
||||
int_test_aggregate(google::sparse_hash_map<int, int>{}, runs);
|
||||
string_test_aggregate(google::sparse_hash_map<string, string>{}, runs);
|
||||
int_test_aggregate(google::dense_hash_map<int, int>{}, runs);
|
||||
string_test_aggregate(google::dense_hash_map<string, string>{}, runs);
|
||||
int_test_aggregate(google::sparse_hash_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(google::sparse_hash_map<string, string>{}, runs, maxsize);
|
||||
int_test_aggregate(google::dense_hash_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(google::dense_hash_map<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
int_test_aggregate(absl::node_hash_map<int, int>{}, runs);
|
||||
string_test_aggregate(absl::node_hash_map<string, string>{}, runs);
|
||||
int_test_aggregate(absl::flat_hash_map<int, int>{}, runs);
|
||||
string_test_aggregate(absl::flat_hash_map<string, string>{}, runs);
|
||||
int_test_aggregate(absl::node_hash_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(absl::node_hash_map<string, string>{}, runs, maxsize);
|
||||
int_test_aggregate(absl::flat_hash_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(absl::flat_hash_map<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
int_test_aggregate(tsl::sparse_map<int, int>{}, runs);
|
||||
string_test_aggregate(tsl::sparse_map<string, string>{}, runs);
|
||||
// int_test_aggregate(tsl::array_map<int, int>{}, runs);
|
||||
// string_test_aggregate(tsl::array_map<string, string>{}, runs);
|
||||
// int_test_aggregate(tsl::ordered_map<int, int>{}, runs);
|
||||
// string_test_aggregate(tsl::ordered_map<string, string>{}, runs);
|
||||
int_test_aggregate(tsl::robin_map<int, int>{}, runs);
|
||||
string_test_aggregate(tsl::robin_map<string, string>{}, runs);
|
||||
int_test_aggregate(tsl::hopscotch_map<int, int>{}, runs);
|
||||
string_test_aggregate(tsl::hopscotch_map<string, string>{}, runs);
|
||||
int_test_aggregate(tsl::sparse_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(tsl::sparse_map<string, string>{}, runs, maxsize);
|
||||
// int_test_aggregate(tsl::array_map<int, int>{}, runs, maxsize);
|
||||
// string_test_aggregate(tsl::array_map<string, string>{}, runs, maxsize);
|
||||
// int_test_aggregate(tsl::ordered_map<int, int>{}, runs, maxsize);
|
||||
// string_test_aggregate(tsl::ordered_map<string, string>{}, runs, maxsize);
|
||||
int_test_aggregate(tsl::robin_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(tsl::robin_map<string, string>{}, runs, maxsize);
|
||||
int_test_aggregate(tsl::hopscotch_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(tsl::hopscotch_map<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
int_test_aggregate(boost::unordered_map<int, int>{}, runs);
|
||||
string_test_aggregate(boost::unordered_map<string, string>{}, runs);
|
||||
int_test_aggregate(boost::unordered_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(boost::unordered_map<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
int_test_aggregate(ska::unordered_map<int, int>{}, runs);
|
||||
string_test_aggregate(ska::unordered_map<string, string>{}, runs);
|
||||
int_test_aggregate(ska::bytell_hash_map<int, int>{}, runs);
|
||||
string_test_aggregate(ska::bytell_hash_map<string, string>{}, runs);
|
||||
int_test_aggregate(ska::flat_hash_map<int, int>{}, runs);
|
||||
string_test_aggregate(ska::flat_hash_map<string, string>{}, runs);
|
||||
int_test_aggregate(ska::unordered_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(ska::unordered_map<string, string>{}, runs, maxsize);
|
||||
int_test_aggregate(ska::bytell_hash_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(ska::bytell_hash_map<string, string>{}, runs, maxsize);
|
||||
int_test_aggregate(ska::flat_hash_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(ska::flat_hash_map<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 7: {
|
||||
int_test_aggregate(phmap::parallel_flat_hash_map<int, int>{}, runs);
|
||||
string_test_aggregate(phmap::parallel_flat_hash_map<string, string>{}, runs);
|
||||
int_test_aggregate(phmap::parallel_node_hash_map<int, int>{}, runs);
|
||||
string_test_aggregate(phmap::parallel_node_hash_map<string, string>{}, runs);
|
||||
int_test_aggregate(phmap::parallel_flat_hash_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(phmap::parallel_flat_hash_map<string, string>{}, runs, maxsize);
|
||||
int_test_aggregate(phmap::parallel_node_hash_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(phmap::parallel_node_hash_map<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 8: {
|
||||
int_test_aggregate(emilib::HashMap<int, int>{}, runs);
|
||||
string_test_aggregate(emilib::HashMap<string, string>{}, runs);
|
||||
int_test_aggregate(emilib::HashMap<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(emilib::HashMap<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 9: {
|
||||
int_test_aggregate(robin_hood::unordered_flat_map<int, int>{}, runs);
|
||||
string_test_aggregate(robin_hood::unordered_flat_map<string, string>{}, runs);
|
||||
int_test_aggregate(robin_hood::unordered_node_map<int, int>{}, runs);
|
||||
string_test_aggregate(robin_hood::unordered_node_map<string, string>{}, runs);
|
||||
int_test_aggregate(robin_hood::unordered_flat_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(robin_hood::unordered_flat_map<string, string>{}, runs, maxsize);
|
||||
int_test_aggregate(robin_hood::unordered_node_map<int, int>{}, runs, maxsize);
|
||||
string_test_aggregate(robin_hood::unordered_node_map<string, string>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@ -105,69 +108,69 @@ int main(int argc, char** argv) {
|
||||
for (auto i : hashmaps) {
|
||||
switch (i) {
|
||||
case 1: {
|
||||
int_test_aggregate(std::unordered_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(std::unordered_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(std::unordered_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(std::unordered_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
|
||||
case 2: {
|
||||
int_test_aggregate(google::sparse_hash_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(google::sparse_hash_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(google::dense_hash_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(google::dense_hash_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(google::sparse_hash_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(google::sparse_hash_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
int_test_aggregate(google::dense_hash_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(google::dense_hash_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 3: {
|
||||
int_test_aggregate(absl::node_hash_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(absl::node_hash_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(absl::flat_hash_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(absl::flat_hash_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(absl::node_hash_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(absl::node_hash_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
int_test_aggregate(absl::flat_hash_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(absl::flat_hash_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 4: {
|
||||
int_test_aggregate(tsl::sparse_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(tsl::sparse_map<string, string, Hash<string>>{}, runs);
|
||||
// int_test_aggregate(tsl::array_map<int, int, Hash<int>>{}, runs);
|
||||
// string_test_aggregate(tsl::array_map<string, string, Hash<string>>{}, runs);
|
||||
// int_test_aggregate(tsl::ordered_map<int, int, Hash<int>>{}, runs);
|
||||
// string_test_aggregate(tsl::ordered_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(tsl::robin_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(tsl::robin_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(tsl::hopscotch_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(tsl::hopscotch_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(tsl::sparse_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(tsl::sparse_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
// int_test_aggregate(tsl::array_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
// string_test_aggregate(tsl::array_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
// int_test_aggregate(tsl::ordered_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
// string_test_aggregate(tsl::ordered_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
int_test_aggregate(tsl::robin_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(tsl::robin_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
int_test_aggregate(tsl::hopscotch_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(tsl::hopscotch_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 5: {
|
||||
int_test_aggregate(boost::unordered_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(boost::unordered_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(boost::unordered_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(boost::unordered_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 6: {
|
||||
int_test_aggregate(ska::unordered_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(ska::unordered_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(ska::bytell_hash_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(ska::bytell_hash_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(ska::flat_hash_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(ska::flat_hash_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(ska::unordered_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(ska::unordered_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
int_test_aggregate(ska::bytell_hash_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(ska::bytell_hash_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
int_test_aggregate(ska::flat_hash_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(ska::flat_hash_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 7: {
|
||||
int_test_aggregate(phmap::parallel_flat_hash_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(phmap::parallel_flat_hash_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(phmap::parallel_node_hash_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(phmap::parallel_node_hash_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(phmap::parallel_flat_hash_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(phmap::parallel_flat_hash_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
int_test_aggregate(phmap::parallel_node_hash_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(phmap::parallel_node_hash_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 8: {
|
||||
int_test_aggregate(emilib::HashMap<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(emilib::HashMap<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(emilib::HashMap<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(emilib::HashMap<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
case 9: {
|
||||
int_test_aggregate(robin_hood::unordered_flat_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(robin_hood::unordered_flat_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(robin_hood::unordered_node_map<int, int, Hash<int>>{}, runs);
|
||||
string_test_aggregate(robin_hood::unordered_node_map<string, string, Hash<string>>{}, runs);
|
||||
int_test_aggregate(robin_hood::unordered_flat_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(robin_hood::unordered_flat_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
int_test_aggregate(robin_hood::unordered_node_map<int, int, Hash<int>>{}, runs, maxsize);
|
||||
string_test_aggregate(robin_hood::unordered_node_map<string, string, Hash<string>>{}, runs, maxsize);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -177,8 +180,8 @@ int main(int argc, char** argv) {
|
||||
|
||||
}
|
||||
time_point<steady_clock> end_test = steady_clock::now();
|
||||
std::cout << "\n\n 30 runs for all tests for 1 map: " << duration_cast<seconds>(end_test - start_test).count()
|
||||
<< " seconds\n\n";
|
||||
std::cout << "\n\n" << runs << " runs for all tests for " << hashmaps.size() << "maps: "
|
||||
<< duration_cast<seconds>(end_test - start_test).count() << " seconds\n\n";
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user