Russian Qt Forum

Компиляторы и платформы => Компиляторы => Тема начата: Racheengel от Декабрь 22, 2015, 14:31



Название: Расход памяти в разных версиях студии
Отправлено: Racheengel от Декабрь 22, 2015, 14:31
Всем привет,

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


Название: Re: Расход памяти в разных версиях студии
Отправлено: Bepec от Декабрь 22, 2015, 16:01
2013 имеет больше неотключаемых плюшек, которые тоже компонуются внутрь, особенно с дебагом.

По аналогии с Qt - 4.7 программа занимает почти целых 4 мб. Qt 5.5 около 13.


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


Название: Re: Расход памяти в разных версиях студии
Отправлено: Bepec от Декабрь 22, 2015, 16:40
По этим причинам я предпочитаю 2008 компилятор :/

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

PS в принципе есть программы которые позволяют посмотреть порядок загрузки dll и использования памяти, те же дебагеры. Скорее всего есть такие инструменты и в 2013, поищите.


Название: Re: Расход памяти в разных версиях студии
Отправлено: Racheengel от Декабрь 22, 2015, 16:51
2013 мы выбрали по причине того, что компиль намного лучше оптимирует код (до 25% производительности из коробки).
А так работаем в основном в 2008й, только финальный релиз собирается в 2013.
Насколько я могу предположить, жрется память где-то в инициализации гуя. Стайлшиты отключили - не помогло. Что-то это другое...


Название: Re: Расход памяти в разных версиях студии
Отправлено: xokc от Декабрь 22, 2015, 17:55
Обе версии - релиз, с дебаг инфой.
А релиз "без дебаг инфо" как себя ведёт?


Название: Re: Расход памяти в разных версиях студии
Отправлено: Racheengel от Декабрь 23, 2015, 12:17
так же... сейчас в дебаге собираю, попробую продебагать...

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


Название: Re: Расход памяти в разных версиях студии
Отправлено: qate от Декабрь 23, 2015, 13:07
просто проект огромный, и каждая пересборка - это на часы...

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

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


Название: Re: Расход памяти в разных версиях студии
Отправлено: Racheengel от Декабрь 23, 2015, 13:14
Проект соразмерен с qt, плюс куча 3rdparty-стаффа.

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



Название: Re: Расход памяти в разных версиях студии
Отправлено: qate от Декабрь 23, 2015, 14:31
И это только с 2013 студией. Походу баг Qt :(

одна и таже версия qt ведёт себя по разному с разными компиляторами ?


Название: Re: Расход памяти в разных версиях студии
Отправлено: Racheengel от Декабрь 23, 2015, 14:42
Да, к сожалению, это так... Вот така фигня, малята :)