MOREOPTIONS

This commit is contained in:
TinyAtoms 2020-02-07 15:20:35 -03:00
parent 8536056157
commit 4941fd617a
3 changed files with 281 additions and 87 deletions

View File

@ -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_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_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_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.

View File

@ -7,8 +7,8 @@
vector<int> sizes = { vector<int> sizes = {
50000, 100000, 150000, 200000, 250000, 300000, 350000, 400000, 500000, 50000, 100000, 150000, 200000, 250000, 300000, 350000, 400000, 500000,
600000, 700000, 800000, 900000, 1000000, 600000, 700000, 800000, 900000, 1000000,
// 2000000, 3000000, 4000000, 5000000, 6000000, 7000000, 8000000, 9000000, 10000000, 2000000, 3000000, 4000000, 5000000, 6000000, 7000000, 8000000, 9000000, 10000000,
// 15000000, 20000000, 25000000, 30000000, 35000000, 40000000, 45000000, 50000000 15000000, 20000000, 25000000, 30000000, 35000000, 40000000, 45000000, 50000000
}; };
// to print type info // to print type info
@ -41,7 +41,7 @@ std::basic_string_view<char> name(T var) {
template<class T> 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}; 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 insert = "\nint_insert, '";
@ -54,6 +54,9 @@ void int_test_aggregate(T map, int runs) {
nosucc_lookup += string{name(map)} + "'"; nosucc_lookup += string{name(map)} + "'";
delet += string{name(map)} + "'"; delet += string{name(map)} + "'";
for (auto size : sizes) { for (auto size : sizes) {
if (size > maxsize){
break;
}
vector<int> results = int_test(map, size); vector<int> results = int_test(map, size);
insert += ", " + std::to_string(results[0]); insert += ", " + std::to_string(results[0]);
@ -70,7 +73,7 @@ void int_test_aggregate(T map, int runs) {
template<class T> 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}; 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 insert = "\nint_insert, '";
@ -83,8 +86,12 @@ void string_test_aggregate(T map, int runs) {
nosucc_lookup += string{name(map)} + "'"; nosucc_lookup += string{name(map)} + "'";
delet += string{name(map)} + "'"; delet += string{name(map)} + "'";
for (auto size : sizes) { for (auto size : sizes) {
if (size > maxsize){
break;
}
vector<int> results = string_test(map, size); vector<int> results = string_test(map, size);
insert += ", " + std::to_string(results[0]); insert += ", " + std::to_string(results[0]);
succ_lookup += ", " + std::to_string(results[1]); succ_lookup += ", " + std::to_string(results[1]);
nosucc_lookup += ", " + std::to_string(results[2]); nosucc_lookup += ", " + std::to_string(results[2]);

View File

@ -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" "8. emilk's emilib:: hashmap(1) \n"
"9. martin's robin_hood:: hashmaps(2) \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) { int main(int argc, char** argv) {
CLI::App app{"Hashmap benchmarks"}; 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(','); 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"); 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("-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); CLI11_PARSE(app, argc, argv);
time_point<steady_clock> start_test = steady_clock::now(); time_point<steady_clock> start_test = steady_clock::now();
if (use_abseil_hash) { if (use_abseil_hash) {
for (auto i : hashmaps) { for (auto i : hashmaps) {
switch (i) { switch (i) {
case 1: { case 1: {
int_test_aggregate(std::unordered_map<int, int>{}, runs); int_test_aggregate(std::unordered_map<int, int>{}, runs, maxsize);
string_test_aggregate(std::unordered_map<string, string>{}, runs); string_test_aggregate(std::unordered_map<string, string>{}, runs, maxsize);
break; break;
} }
case 2: { case 2: {
int_test_aggregate(google::sparse_hash_map<int, int>{}, runs); int_test_aggregate(google::sparse_hash_map<int, int>{}, runs, maxsize);
string_test_aggregate(google::sparse_hash_map<string, string>{}, runs); string_test_aggregate(google::sparse_hash_map<string, string>{}, runs, maxsize);
int_test_aggregate(google::dense_hash_map<int, int>{}, runs); int_test_aggregate(google::dense_hash_map<int, int>{}, runs, maxsize);
string_test_aggregate(google::dense_hash_map<string, string>{}, runs); string_test_aggregate(google::dense_hash_map<string, string>{}, runs, maxsize);
break; break;
} }
case 3: { case 3: {
int_test_aggregate(absl::node_hash_map<int, int>{}, runs); int_test_aggregate(absl::node_hash_map<int, int>{}, runs, maxsize);
string_test_aggregate(absl::node_hash_map<string, string>{}, runs); string_test_aggregate(absl::node_hash_map<string, string>{}, runs, maxsize);
int_test_aggregate(absl::flat_hash_map<int, int>{}, runs); int_test_aggregate(absl::flat_hash_map<int, int>{}, runs, maxsize);
string_test_aggregate(absl::flat_hash_map<string, string>{}, runs); string_test_aggregate(absl::flat_hash_map<string, string>{}, runs, maxsize);
break; break;
} }
case 4: { case 4: {
int_test_aggregate(tsl::sparse_map<int, int>{}, runs); int_test_aggregate(tsl::sparse_map<int, int>{}, runs, maxsize);
string_test_aggregate(tsl::sparse_map<string, string>{}, runs); string_test_aggregate(tsl::sparse_map<string, string>{}, runs, maxsize);
// int_test_aggregate(tsl::array_map<int, int>{}, runs); // int_test_aggregate(tsl::array_map<int, int>{}, runs, maxsize);
// string_test_aggregate(tsl::array_map<string, string>{}, runs); // string_test_aggregate(tsl::array_map<string, string>{}, runs, maxsize);
// int_test_aggregate(tsl::ordered_map<int, int>{}, runs); // int_test_aggregate(tsl::ordered_map<int, int>{}, runs, maxsize);
// string_test_aggregate(tsl::ordered_map<string, string>{}, runs); // string_test_aggregate(tsl::ordered_map<string, string>{}, runs, maxsize);
int_test_aggregate(tsl::robin_map<int, int>{}, runs); int_test_aggregate(tsl::robin_map<int, int>{}, runs, maxsize);
string_test_aggregate(tsl::robin_map<string, string>{}, runs); string_test_aggregate(tsl::robin_map<string, string>{}, runs, maxsize);
int_test_aggregate(tsl::hopscotch_map<int, int>{}, runs); int_test_aggregate(tsl::hopscotch_map<int, int>{}, runs, maxsize);
string_test_aggregate(tsl::hopscotch_map<string, string>{}, runs); string_test_aggregate(tsl::hopscotch_map<string, string>{}, runs, maxsize);
break; break;
} }
case 5: { case 5: {
int_test_aggregate(boost::unordered_map<int, int>{}, runs); int_test_aggregate(boost::unordered_map<int, int>{}, runs, maxsize);
string_test_aggregate(boost::unordered_map<string, string>{}, runs); string_test_aggregate(boost::unordered_map<string, string>{}, runs, maxsize);
break; break;
} }
case 6: { case 6: {
int_test_aggregate(ska::unordered_map<int, int>{}, runs); int_test_aggregate(ska::unordered_map<int, int>{}, runs, maxsize);
string_test_aggregate(ska::unordered_map<string, string>{}, runs); string_test_aggregate(ska::unordered_map<string, string>{}, runs, maxsize);
int_test_aggregate(ska::bytell_hash_map<int, int>{}, runs); int_test_aggregate(ska::bytell_hash_map<int, int>{}, runs, maxsize);
string_test_aggregate(ska::bytell_hash_map<string, string>{}, runs); string_test_aggregate(ska::bytell_hash_map<string, string>{}, runs, maxsize);
int_test_aggregate(ska::flat_hash_map<int, int>{}, runs); int_test_aggregate(ska::flat_hash_map<int, int>{}, runs, maxsize);
string_test_aggregate(ska::flat_hash_map<string, string>{}, runs); string_test_aggregate(ska::flat_hash_map<string, string>{}, runs, maxsize);
break; break;
} }
case 7: { case 7: {
int_test_aggregate(phmap::parallel_flat_hash_map<int, int>{}, runs); int_test_aggregate(phmap::parallel_flat_hash_map<int, int>{}, runs, maxsize);
string_test_aggregate(phmap::parallel_flat_hash_map<string, string>{}, runs); string_test_aggregate(phmap::parallel_flat_hash_map<string, string>{}, runs, maxsize);
int_test_aggregate(phmap::parallel_node_hash_map<int, int>{}, runs); int_test_aggregate(phmap::parallel_node_hash_map<int, int>{}, runs, maxsize);
string_test_aggregate(phmap::parallel_node_hash_map<string, string>{}, runs); string_test_aggregate(phmap::parallel_node_hash_map<string, string>{}, runs, maxsize);
break; break;
} }
case 8: { case 8: {
int_test_aggregate(emilib::HashMap<int, int>{}, runs); int_test_aggregate(emilib::HashMap<int, int>{}, runs, maxsize);
string_test_aggregate(emilib::HashMap<string, string>{}, runs); string_test_aggregate(emilib::HashMap<string, string>{}, runs, maxsize);
break; break;
} }
case 9: { case 9: {
int_test_aggregate(robin_hood::unordered_flat_map<int, int>{}, runs); int_test_aggregate(robin_hood::unordered_flat_map<int, int>{}, runs, maxsize);
string_test_aggregate(robin_hood::unordered_flat_map<string, string>{}, runs); string_test_aggregate(robin_hood::unordered_flat_map<string, string>{}, runs, maxsize);
int_test_aggregate(robin_hood::unordered_node_map<int, int>{}, runs); int_test_aggregate(robin_hood::unordered_node_map<int, int>{}, runs, maxsize);
string_test_aggregate(robin_hood::unordered_node_map<string, string>{}, runs); string_test_aggregate(robin_hood::unordered_node_map<string, string>{}, runs, maxsize);
break; break;
} }
} }
@ -105,69 +108,69 @@ int main(int argc, char** argv) {
for (auto i : hashmaps) { for (auto i : hashmaps) {
switch (i) { switch (i) {
case 1: { case 1: {
int_test_aggregate(std::unordered_map<int, int, Hash<int>>{}, runs); int_test_aggregate(std::unordered_map<int, int, Hash<int>>{}, runs, maxsize);
string_test_aggregate(std::unordered_map<string, string, Hash<string>>{}, runs); string_test_aggregate(std::unordered_map<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
case 2: { case 2: {
int_test_aggregate(google::sparse_hash_map<int, int, Hash<int>>{}, 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); 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); 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); string_test_aggregate(google::dense_hash_map<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
case 3: { case 3: {
int_test_aggregate(absl::node_hash_map<int, int, Hash<int>>{}, 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); 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); 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); string_test_aggregate(absl::flat_hash_map<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
case 4: { case 4: {
int_test_aggregate(tsl::sparse_map<int, int, Hash<int>>{}, runs); int_test_aggregate(tsl::sparse_map<int, int, Hash<int>>{}, runs, maxsize);
string_test_aggregate(tsl::sparse_map<string, string, Hash<string>>{}, runs); string_test_aggregate(tsl::sparse_map<string, string, Hash<string>>{}, runs, maxsize);
// int_test_aggregate(tsl::array_map<int, int, Hash<int>>{}, runs); // int_test_aggregate(tsl::array_map<int, int, Hash<int>>{}, runs, maxsize);
// string_test_aggregate(tsl::array_map<string, string, Hash<string>>{}, runs); // string_test_aggregate(tsl::array_map<string, string, Hash<string>>{}, runs, maxsize);
// int_test_aggregate(tsl::ordered_map<int, int, Hash<int>>{}, runs); // int_test_aggregate(tsl::ordered_map<int, int, Hash<int>>{}, runs, maxsize);
// string_test_aggregate(tsl::ordered_map<string, string, Hash<string>>{}, runs); // string_test_aggregate(tsl::ordered_map<string, string, Hash<string>>{}, runs, maxsize);
int_test_aggregate(tsl::robin_map<int, int, Hash<int>>{}, runs); int_test_aggregate(tsl::robin_map<int, int, Hash<int>>{}, runs, maxsize);
string_test_aggregate(tsl::robin_map<string, string, Hash<string>>{}, runs); string_test_aggregate(tsl::robin_map<string, string, Hash<string>>{}, runs, maxsize);
int_test_aggregate(tsl::hopscotch_map<int, int, Hash<int>>{}, runs); int_test_aggregate(tsl::hopscotch_map<int, int, Hash<int>>{}, runs, maxsize);
string_test_aggregate(tsl::hopscotch_map<string, string, Hash<string>>{}, runs); string_test_aggregate(tsl::hopscotch_map<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
case 5: { case 5: {
int_test_aggregate(boost::unordered_map<int, int, Hash<int>>{}, runs); int_test_aggregate(boost::unordered_map<int, int, Hash<int>>{}, runs, maxsize);
string_test_aggregate(boost::unordered_map<string, string, Hash<string>>{}, runs); string_test_aggregate(boost::unordered_map<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
case 6: { case 6: {
int_test_aggregate(ska::unordered_map<int, int, Hash<int>>{}, runs); int_test_aggregate(ska::unordered_map<int, int, Hash<int>>{}, runs, maxsize);
string_test_aggregate(ska::unordered_map<string, string, Hash<string>>{}, runs); string_test_aggregate(ska::unordered_map<string, string, Hash<string>>{}, runs, maxsize);
int_test_aggregate(ska::bytell_hash_map<int, int, Hash<int>>{}, runs); 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); 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); 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); string_test_aggregate(ska::flat_hash_map<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
case 7: { case 7: {
int_test_aggregate(phmap::parallel_flat_hash_map<int, int, Hash<int>>{}, 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); 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); 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); string_test_aggregate(phmap::parallel_node_hash_map<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
case 8: { case 8: {
int_test_aggregate(emilib::HashMap<int, int, Hash<int>>{}, runs); int_test_aggregate(emilib::HashMap<int, int, Hash<int>>{}, runs, maxsize);
string_test_aggregate(emilib::HashMap<string, string, Hash<string>>{}, runs); string_test_aggregate(emilib::HashMap<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
case 9: { case 9: {
int_test_aggregate(robin_hood::unordered_flat_map<int, int, Hash<int>>{}, 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); 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); 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); string_test_aggregate(robin_hood::unordered_node_map<string, string, Hash<string>>{}, runs, maxsize);
break; break;
} }
@ -177,8 +180,8 @@ int main(int argc, char** argv) {
} }
time_point<steady_clock> end_test = steady_clock::now(); 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() std::cout << "\n\n" << runs << " runs for all tests for " << hashmaps.size() << "maps: "
<< " seconds\n\n"; << duration_cast<seconds>(end_test - start_test).count() << " seconds\n\n";
} }