Предположим, у меня есть следующая структура пользователя:
struct User {
string userId;
UserType userType; // UserType is just an enumeration
string hostName;
string ipAddress;
//and more other attributes will be added here
};
, и мне нужно хранить коллекцию пользовательских записей (около 10 ^ 5 пользователей, также может масштабироваться выше).Будет ли лучше производительность, если я сохраню его как unordered_set или unordered_map?Unordered_set технически такой же, как HashSet, а unordered_map такой же, как HashMap, верно?Использование обычного набора (заказанного) не вариант, так как вставка и удаление будут очень медленными, когда количество элементов увеличивается.
unordered_set <User> userRecords;
ИЛИ
unordered_map <string, User> userRecords; // string is the user ID.
Мне нужно этобыть очень быстрым с точки зрения вставки, удаления и доступа к конкретному объекту пользователя по его идентификатору пользователя.