QHash vs QList. Один уродует порядок, другой тормозит..., Нужен быстрый доступ, но без сортировки объектов |
Здравствуйте, гость ( Вход | Регистрация )
QHash vs QList. Один уродует порядок, другой тормозит..., Нужен быстрый доступ, но без сортировки объектов |
demon051 |
14.6.2018, 10:46
Сообщение
#1
|
Студент Группа: Участник Сообщений: 27 Регистрация: 12.8.2014 Пользователь №: 4209 Спасибо сказали: 4 раз(а) Репутация: 0 |
Всем привет!
Попал вот в неприятное... В общем гружу из таблицы БД данные. Каждая строка превращается в объект в памяти. Надо куда-то сохранять. Почитал доку по QHash, там написано что он не сортирует заносимые в него данные. Ага, на... В итоге оказалось, что он не сортирует, но раскидывает в каком-то удобном ему порядке, возможно, для осуществления быстрого поиска по ключу. А мне надо, чтобы порядок был тот самый, в котором я загружаю (order by - в sql-запросе). Ну я подозревал по предыдущему опыту, что c QList будет доступ к данным тормознее, но оказалось, что жутко тормознее. Фактически для поиска нужного объекта в QList надо каждый раз всё перебирать. Соответственно, чем больше объектов и чем глубже лежит нужный, тем всё хуже и хуже скорость Чешу репу, думаю что делать... чтобы получить не сортированный порядок объектов с возможностью быстрого поиска нужного. Ищется по уникальному Id, который в QHash использовался в качестве ключа. А в QLict - перебор со сравнением для каждого Id. Help me!!! Please!!! |
|
|
Алексей1153 |
15.6.2018, 9:57
Сообщение
#2
|
фрилансер Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: 34 |
demon051, то есть, ты сортируешь по параметру "порядок загрузки". В этом случае идеально подходит QVector
а QList - вообще бесполезный, на мой взгляд, контейнер для хранения больших объёмов данных. Сообщение отредактировал Алексей1153 - 15.6.2018, 9:58 |
|
|
Текстовая версия | Сейчас: 22.11.2024, 17:23 |