Форум программистов, компьютерный форум CyberForum.ru

Контрольные суммы...и vector - C++

Восстановить пароль Регистрация
 
Union
 Аватар для Union
17 / 17 / 2
Регистрация: 16.08.2010
Сообщений: 252
28.02.2011, 18:29     Контрольные суммы...и vector #1
Есть сайт, на котором регистрируется и авторизовывается постоянно большое количество пользователей.
Есть база из ~100 тыс логинов, хранится в MySQL. Из mysql базы логины периодически загружаются в vector:
C++
1
std::vector<std::string> users;
Суть такова, нужно очень быстро загружать vector из mysql базы уникальными логинами (в mysql часто встречаются повторы), чтобы потом смотреть есть ли определенный логин в vector или нет. Проблема в том что на заполнение вектора уходит около 3-х минут. И не из-за медленного MySQL, а из-за постоянного ресайза самого вектора. Я пробовал задавать сразу размер вектора равным количеству логинов, но string не позволяет этого сделать.

Идея состоит в том, чтобы отказаться от string в векторе и заменить его на переменную постоянно величины (int, char[]) и далее можно сразу задавать размер вектора равным числу логинов в базе и всё будет заполняться чуть ли не мгновенно, без всяких постоянных ресайзов (я правильно мыслю?). Логины имеют размер от 2-х до 20 символов. Нужно как-то ужать их до фиксированной величины... лучше наверно до int64.

Подскажите, какую контрольную сумму использовать, опираясь на большие требования к производительности и очень низкой частоте коллизий... ?

Всем спасибо
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2011, 18:29     Контрольные суммы...и vector
Посмотрите здесь:

vector<Struct2{int,vector<struct1>}> или множественное наследование ... C++
контрольные суммы C++
C++ Указатель на объект вектор в векторе vector < vector<int>* >*
C++ error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main
C++ Записать числа из файла в двумерный массив или вектор вроде такого vector<vector<int>>
Контрольные суммы C++
Как корректно скопировать vector в vector внутри класса C++
Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>) C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 03:09. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru