Мне нужно было создать ас. контейнер в котором ключом есть int а самим значением какой-то объект, котрый представляет собой структуру с некоторыми данными параметрами. Объектов в среднем что то вроде 1млн. , затраты памяти пока ужасные но этого пока не касаемся. map сортирует всё по убыванию моего ключа, это меня устраивает. Вопрос вот в чем. Когда я начинаю обработку этих объектов , то уж больно "долго" идёт эта обработка. Счас уточню. Долго относительно того же алгоритма только на CSharp где место map используется Hashtable. Она тоже сортирует по убыванию ключа что мне и надо. Так вот CSharp работает допустим 8 сек. ТО С++ около 25. Ошибки в алгоритме нет. просто мот сам цикл долго ходит. он типа такой.
Код: Выделить всё
Obj* o;
for(iterator = _map.begin();!(iterator == _map.end());iterator++)
{
std::pair<int,Obj*> s = *iterator;
o = s.second;
....
}
Как мот лучше огранизовать перебор.
Далее.Если я ставлю hash_map
Всё не отсортировано, но это меня тоже устраивает.
Но теперь как организовать перебор потому что насколько я понимаю
через iterator не покатит.