Название: Расход памяти в разных версиях студии Отправлено: 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 Да, к сожалению, это так... Вот така фигня, малята :)
|