crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

6 страниц V  « < 4 5 6  
Ответить в данную темуНачать новую тему
> вставка QVector в другой QVector
Алексей1153
  опции профиля:
сообщение 17.2.2013, 17:25
Сообщение #51


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


1) ну и нехай пользуется ) Мне таких больших массивов с QString, что работа с ними станет медленной, точно нигде не придётся использовать.
2) оптимизаторы сейчас хитрые, вполне может так статься, что оператор QString развернётся в присваивание указателя, а затем весь цикл в memmove
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Авварон
  опции профиля:
сообщение 17.2.2013, 17:31
Сообщение #52


Студент
*

Группа: Участник
Сообщений: 99
Регистрация: 26.4.2009
Пользователь №: 709

Спасибо сказали: 14 раз(а)




Репутация:   0  


Каким местом он развернется в присваивание указателя, если там делается ref() ?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 18.2.2013, 7:19
Сообщение #53


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


Авварон, я и не говорил, что это точно произойдёт :) Но оптимизаторы нынче хитрые, к примеру вот, что умеют разделывать на пирожки

http://ru.wikipedia.org/wiki/%D0%A5%D0%B2%...%81%D0%B8%D1%8F
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Авварон
  опции профиля:
сообщение 18.2.2013, 11:19
Сообщение #54


Студент
*

Группа: Участник
Сообщений: 99
Регистрация: 26.4.2009
Пользователь №: 709

Спасибо сказали: 14 раз(а)




Репутация:   0  


Нашли, чем удивить. Компиляторы умные, я этого не отрицаю, но важно понимать что он может оптимизировать, а что нет.
Например, если ф-ия короткая, компилер может (в теории) заинлайнить ее в двух случаях - если она описана в хедере (это делают все компилеры), или если эта ф-ия объявлена в этом же модуле (длл). На практике 2е не встречаются, так как все объектники компилятся раздельно.
Если же ф-ия объявлена лишь в хедере, а реализована в cpp, то заинлайнить ее в другой модуль компилятор не сможет ну никак, он будет вынужден подставлять адрес функции.
Также, atomicInt.ref() нельзя заменить на присваивание указателя никоим образом. А, следовательно, нельзя и заменить на меммвув.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Алексей1153
  опции профиля:
сообщение 20.2.2013, 9:00
Сообщение #55


фрилансер
******

Группа: Участник
Сообщений: 2941
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

Спасибо сказали: 215 раз(а)




Репутация:   34  


ну, раз нельзя, то нельзя :) Главное, что по скорости устраивает
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

6 страниц V  « < 4 5 6
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.2.2025, 12:53