![]() |
|
![]() ![]() ![]() |
|
AndAnd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
проблема в следующем.
Очень долго удаляются элементы списка, но нужно работать именно с QString... как быть?
|
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
Ну для начала: маленький lifehack:
Далее. Почему ты решил, что медленное именно удаление? Ты же замеряешь время не только удаления, но и добавления... Далее. Сама по себе очистка вектора - операция со сложностью O(N * O(~T())), т.е. если деструктор имеет сложность O(1), то сложность становится O(N) - это достаточно быстро(быстрее просто не возможно - объекты в любом случае уничтожать придётся). А что касается удаления поэлементо(по одному за раз) - у этой операции сложность тоже O(N) потому что вектор гарантирует data contiguity, т.е. если ты удалешь элемент из начала вектора, ему придётся переместить все N-1 элементов "влево". Если нужно быстрое поэлементное удаление, то используй именно список(как ты обозвал вектор в своём сообщении ![]() -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
AndAnd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
может так понятней будет
Почему удаляется в 53 раза медленнее чем создаётся? вот это не понятно... и как можно ускорить процесс удаления... Это сообщение отредактировал(а) AndAnd - 5.5.2008, 10:10 |
|||
|
||||
just_geek |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 309 Регистрация: 13.12.2007 Репутация: 7 Всего: 10 |
AndAnd, странные результаты, этот же кусок кода у меня выполняется
з.ы. Qt и проект скомпилен на VC++ 2008 EE, ну и проц Core2Duo 2.33 FSB 1333 Это сообщение отредактировал(а) just_geek - 5.5.2008, 10:29 |
|||
|
||||
archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 11 Всего: 93 |
AndAnd, не беспокойся, в релизе всё ок.
-------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
AndAnd |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 82 Регистрация: 22.7.2006 Репутация: нет Всего: 1 |
to archimed7592, вроде ты прав... спасибо
![]() В общем, если запускать из Visual под отладчиком получаются тормоза, а если скомпилированный *.exe то мгновенно... Это сообщение отредактировал(а) AndAnd - 5.5.2008, 11:16 |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |