Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Union
17 / 17 / 0
Регистрация: 16.08.2010
Сообщений: 252
1

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

28.02.2011, 18:29. Просмотров 499. Ответов 0
Метки нет (Все метки)

Есть сайт, на котором регистрируется и авторизовывается постоянно большое количество пользователей.
Есть база из ~100 тыс логинов, хранится в MySQL. Из mysql базы логины периодически загружаются в vector:
C++
1
std::vector<std::string> users;
Суть такова, нужно очень быстро загружать vector из mysql базы уникальными логинами (в mysql часто встречаются повторы), чтобы потом смотреть есть ли определенный логин в vector или нет. Проблема в том что на заполнение вектора уходит около 3-х минут. И не из-за медленного MySQL, а из-за постоянного ресайза самого вектора. Я пробовал задавать сразу размер вектора равным количеству логинов, но string не позволяет этого сделать.

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

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

Всем спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.02.2011, 18:29
Ответы с готовыми решениями:

Контрольные суммы
Добрый день! Есть такая задача: Дан битовый поток, найти в нем контрольные суммы и рассчитать их с...

контрольные суммы
всем здравствуйте. я долго искал подходящий топик, но не нашёл и решил создать, так как то, что...

error LNK2019: ссылка на неразрешенный внешний символ "public: __thiscall Vector<int>::Vector<int>(void)" (?0?$Vector@H@@QAE@XZ) в функции _main
//Vector.h #include &lt;iostream&gt; #include &lt;Windows.h&gt; #include &lt;climits&gt; #include &lt;vector&gt;...

Как можно увеличить размер вектора, который является элементом вектора vector<vector<int>>arr(n, vector <int>)
Написал программу, которая создает вектор 'а' векторов 'b', вектора 'b' содержат 2 числа. Стало...

vector<Struct2{int,vector<struct1>}> или множественное наследование ...
Здравствуйте! Помогите, пожалуйста. Есть такие данные: typedef struct { int x; ...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
28.02.2011, 18:29

Ошибка [Linker error] undefined reference to `Vector::Vector(int)'
Добрый день. Делал по методички, и почему-то валятся ошибки... файл lab9_main.cpp #include...

Указатель на объект вектор в векторе vector < vector<int>* >*
Дело касается вот чего, есть такая вот незатейлевая вещь. #include &lt;vector&gt; #include &lt;iostream&gt; ...

Как корректно скопировать vector в vector внутри класса
Есть класс принимающий в конструкторе vector: class test { test(std::vector&lt;std::string&gt;...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru