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

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

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Cжатие динамических библиотек Qt 5 UPX'ом  (Прочитано 7802 раз)
alexandros
Гость
« : Июль 09, 2013, 22:14 »

Собрал проект в релиз, положил необходимые библиотечки, все вместе стало весить 30Мб. Сжал UPX'ом библиотеки стало 10мб, но при этом приложение стало пожирать 32Мб(!!!) оперативки, до сжатия потребляло ок 4.5Мб. Нормально ли это?
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #1 : Июль 09, 2013, 22:16 »

Вы расход памяти в системном мониторе смотрите?
Записан
alexandros
Гость
« Ответ #2 : Июль 09, 2013, 22:17 »

в диспетчере задач Win
Записан
Old
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4349



Просмотр профиля
« Ответ #3 : Июль 09, 2013, 22:20 »

в диспетчере задач Win
Приложение алоцирует память у ОС для распаковки библиотек, но память системе сразу не возвращается, в дальнейшем эта память будет доступна приложению. Переживать не стоит.
Записан
alexandros
Гость
« Ответ #4 : Июль 09, 2013, 22:38 »

Приложение алоцирует память у ОС для распаковки библиотек, но память системе сразу не возвращается, в дальнейшем эта память будет доступна приложению. Переживать не стоит.

Да, видимо так оно и есть, в течении 5 минут использование памяти резко падает до 900кб. Спасибо ценная информация!
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #5 : Июль 09, 2013, 22:53 »

при сжатии всех библиотек UPX-ом значительно падает скорость запуска приложения, если это важно.
Записан
alexandros
Гость
« Ответ #6 : Июль 09, 2013, 22:57 »

при сжатии всех библиотек UPX-ом значительно падает скорость запуска приложения, если это важно.

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

Сообщений: 3880


Просмотр профиля WWW
« Ответ #7 : Июль 10, 2013, 10:21 »

ну и не забывай, после распаковки файлов во временный каталог "Текущий каталог" будет именно временным.
Т.е. если ты, например, возьмёшься использовать QSettings и будешь читать файл настроек из текущего каталога бинаря, а файл настроек не упакован вместе с ним, то файл настроек будет искаться во временном каталоге, а вовсе не рядом с упакованным бинарём.
Записан

Юра.
fuCtor
Гость
« Ответ #8 : Июль 14, 2013, 12:44 »

А смысл вообще упаковывать UPX-ом? Если можно сделать простейший инсталляк для распространения, который аналогично ужмет все.
Записан
Bepec
Гость
« Ответ #9 : Июль 14, 2013, 12:54 »

Не аналогично - раз.
Во вторых уже сжатое UPX можно сжать уже инсталлятором Веселый
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #10 : Июль 14, 2013, 13:11 »

>>Не аналогично - раз.
UPX вроде lzma-сжатие использует, как и многие современные установщики.

другое дело над upx-ом думать не надо, он очень прост в использовании.
Записан

Юра.
thechicho
Гость
« Ответ #11 : Июль 14, 2013, 13:24 »

а чо проблема 30мб скачать сейчас? нафига ужимать.
если нету/жалко денег на трафик, можно залить на гугл-диск какой-нибудь.
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #12 : Июль 14, 2013, 14:31 »

А смысл вообще упаковывать UPX-ом? Если можно сделать простейший инсталляк для распространения, который аналогично ужмет все.

инсталлятор ужмёт setup.exe, а не установленные DLL. UPX сжимает сами DLL.
Записан
Bepec
Гость
« Ответ #13 : Июль 14, 2013, 16:51 »

lit-uriy, как правильно заметил Alex Custov - это разные сущности.

Размер установщика и размер dll.

Сжатие используют мб и одинаковое (не знаю, каюсь), но результат иной.

1) Для переносимого приложения нужен малый вес всех файлов.

2) Для стационарного нужен малый вес установщика.

1 не аналогично 2.
Записан
fuCtor
Гость
« Ответ #14 : Июль 15, 2013, 16:23 »

То что не аналогично это да.

1) Для переносимого приложения нужен малый вес всех файлов.
2) Для стационарного нужен малый вес установщика.

Тогда уж лучше статическая линковка + ресурсы максимально внутрь. Тогда можно и UPX пройтись.

Я думал прошло время когда 10-20мб являются таким большим объемом для переноса. На днях смотрел флешки, меньше 8Гб не увидел в продаже.
Я б как раз сжимал пакет целиком, для оптимизации его передачи по сети. При этом несжатое приложение все же быстрее запускается.


Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


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