Russian Qt Forum
Ноябрь 22, 2024, 01:42 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Расход памяти в разных версиях студии  (Прочитано 10676 раз)
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« : Декабрь 22, 2015, 14:31 »

Всем привет,

есть приложение, собирается студиями 2008 и 2013 (Qt 5.3.2, 64 bit).
После старта версия 2008 занимает около 200 мб в памяти, версия 2013 - больше 1 гига Грустный
Конфигурации и ключи компилятора (вроде бы как) одинаковые.
Обе версии - релиз, с дебаг инфой.
Гугл молчит, как партизан.
Что это может быть?
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Bepec
Гость
« Ответ #1 : Декабрь 22, 2015, 16:01 »

2013 имеет больше неотключаемых плюшек, которые тоже компонуются внутрь, особенно с дебагом.

По аналогии с Qt - 4.7 программа занимает почти целых 4 мб. Qt 5.5 около 13.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #2 : Декабрь 22, 2015, 16:13 »

Предположим, но откуда оно разворачивает 900 мебагайт памяти...?
Экзешник всего 20 размером...
Да, и стартует приложение, собранное 2013й студией, раз в 5 медленнее, чем в 2008й..
Никаких "нестандартных" штук для работы с памятью не юзается, преаллокация делается в паре мест, но почему такая значительная разница в расходе, и именно при старте - непонятно.
« Последнее редактирование: Декабрь 22, 2015, 16:15 от Racheengel » Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Bepec
Гость
« Ответ #3 : Декабрь 22, 2015, 16:40 »

По этим причинам я предпочитаю 2008 компилятор :/

Разница почти в 5 раз удивительна, на самом деле. Я просто предположу что это всякие анализаторы, корректоры, оптимизаторы, зависимости, нет фреймворки.

PS в принципе есть программы которые позволяют посмотреть порядок загрузки dll и использования памяти, те же дебагеры. Скорее всего есть такие инструменты и в 2013, поищите.
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #4 : Декабрь 22, 2015, 16:51 »

2013 мы выбрали по причине того, что компиль намного лучше оптимирует код (до 25% производительности из коробки).
А так работаем в основном в 2008й, только финальный релиз собирается в 2013.
Насколько я могу предположить, жрется память где-то в инициализации гуя. Стайлшиты отключили - не помогло. Что-то это другое...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #5 : Декабрь 22, 2015, 17:55 »

Обе версии - релиз, с дебаг инфой.
А релиз "без дебаг инфо" как себя ведёт?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #6 : Декабрь 23, 2015, 12:17 »

так же... сейчас в дебаге собираю, попробую продебагать...

просто проект огромный, и каждая пересборка - это на часы...
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #7 : Декабрь 23, 2015, 13:07 »

просто проект огромный, и каждая пересборка - это на часы...

проект больше самого qt или просто так долго собирается ?

расход по памяти может отображать и замапленные в память библиотеки, их наверно как раз на гиг с дебуг инфой и будет
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #8 : Декабрь 23, 2015, 13:14 »

Проект соразмерен с qt, плюс куча 3rdparty-стаффа.

Итак, выявился первый подозреваемый... Похоже, это имплементация svg-рендерера.
В проекте достаточно много графики в svg-формате, в т.ч. иконки.
Убрал половину иконок - время загрузки и расход памяти снизились почти вдвое...
И это только с 2013 студией. Походу баг Qt Грустный

Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
qate
Супер
******
Offline Offline

Сообщений: 1177


Просмотр профиля
« Ответ #9 : Декабрь 23, 2015, 14:31 »

И это только с 2013 студией. Походу баг Qt Грустный

одна и таже версия qt ведёт себя по разному с разными компиляторами ?
Записан
Racheengel
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2679


Я работал с дискетам 5.25 :(


Просмотр профиля
« Ответ #10 : Декабрь 23, 2015, 14:42 »

Да, к сожалению, это так... Вот така фигня, малята Улыбающийся
Записан

What is the 11 in the C++11? It’s the number of feet they glued to C++ trying to obtain a better octopus.

COVID не волк, в лес не уйдёт
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.117 секунд. Запросов: 22.