Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Оптимизация размера программ (EXE)

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10

Открыть новую тему     Написать ответ в эту тему

vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Разбираясь с темой наталкивался на разные документы и исходники. Решил обобщить все в одном топике, так как постоянно встречаю вопросы об оптимизации то там, то сям.
Ниже будут ссылки на документы и файлы.
 
Добавлено
самая лучшая статья по оптимизации для пишущих на VC++ 6,7:
http://www.rsdn.ru/article/cpp/crt.xml
или она же:
http://www.rsdn.ru/article/?51
статья на английском - автор Matt Pietrek - опять для MS VC++ :
"Reduce EXE and DLL Size with LIBCTINY.LIB"
http://msdn.microsoft.com/msdnmag/issues/01/01/hood/default.aspx
с исходниками
 
 

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 16:29 01-11-2004 | Исправлено: vito333, 13:52 29-04-2005
vladgri

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Попробуй
http://rsdn.ru/File/41945/mdelphie.rar

Всего записей: 16 | Зарегистр. 03-11-2004 | Отправлено: 08:18 13-06-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вот немного другая техника (только для ХР)
http://vito.rbcmail.ru/Misc/minipad.zip

размер - 2587 байт.
 
а minipad.com у меня пару раз запустился и перестал ...

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 03:49 14-06-2005 | Исправлено: vito333, 04:55 14-06-2005
vladgri

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Интересно.
Проверял на win2000, работает но слишком много мусора при выполнении bat файла.
При разделении на два файла общий размер сохраняется но
мусор исчезает.
 
minipad.com проверялся на всех машинах нашего офиса, а их порядка
80 шт, с операционками начиная от WIN98 do WINXP sp2, глюков не замеченно.
Что, происходит когда  minipad.com не запускается.
   Какие нибудь сообщения, зависание процесса или ???????
     
 

Всего записей: 16 | Зарегистр. 03-11-2004 | Отправлено: 07:11 14-06-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
появляется "дос"-окно, висит несколько секунд и закрывается. Всё, никаких сообщений, ничего.

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 17:36 14-06-2005 | Исправлено: vito333, 17:04 18-06-2005
timsky



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Недавно обнаружил, что некоторые программы, запакованные UPX'ом занимают в памяти МЕНЬШЕ, чем обычно положено. Например:
Total Commander 6.53 (сам ехе'шник) весит 837 156 байт.
У меня со всеми плагами/прибамбасами в развернутом состоянии в оперативе занимает ~ 8-9 мегов, в подкачке - ~ 13-14. Но стоит его свернуть так в оперативе вообще 400-500 кило! Как будто и не запакован.
Если totalcmd.exe распаковать (2 320 420 байт) и обратно запаковать, то будет стандартная для упаковщиков картина.
То же самое и с C-Organizer.
 
Как они это делают? Может у них какой-то переделанный upx? Или они после упаковки что-то мутят?

Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 19:24 22-06-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
timsky
сомнительно это

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 18:25 25-06-2005
timsky



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333
В смысле сомнительно? Все именно так, как я описал.

Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 12:06 27-06-2005 | Исправлено: timsky, 12:07 27-06-2005
MoKC0DeR



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
timsky
Специально проверил:
Total Commander 6.0
                Mem / VM
packed      7940/4156
unpacked  6464/1956

Всего записей: 510 | Зарегистр. 31-03-2004 | Отправлено: 13:03 27-06-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Оптимизация – ваш злейший враг
перевод англоязычной статьи, ссылку на которую я ранее выложил
http://www.rsdn.ru/article/philosophy/Optimization.xml

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 06:03 28-06-2005
timsky



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MoKC0DeR А ты пробовал свернуть окно коммандера и посмотреть, сколько памяти будет использоваться тогда? Вопрос ведь как раз заключается в том, что сжатые программы при сворачивании не выгружаются из оперативки. А он еще как выгружается O_o
У меня, кстати, версия 6.53.

Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 16:07 29-06-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
timsky
такая картина с любым упаковщиком

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 15:28 30-06-2005
timsky



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vito333
Точно O_o
То ли я глюкнул, то ли раньше UPX по-другому паковал.

Всего записей: 2287 | Зарегистр. 08-06-2004 | Отправлено: 17:19 30-06-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Провёл тестирование скорости и эффективности упаковки нескольких ЕХЕ пакеров.
Тестовым ЕХЕ служила моя программа мини-редактор Mark (размер на момент теста - 103 936 байт)
http://forum.ru-board.com/topic.cgi?forum=5&topic=13554&start=1240
 
Установки по умолчанию во всех упаковщиках.
 
Итак:
 
---------------------------------------------
WinUpack 0.29b
Размер ехе после упаковки: 45 410 байт
Скорость распаковки: ~ 150 миллисекунд
--
изменения настроек привели только к увеличению размера на ~ 2 kb, скорость осталась практически прежней
 
---------------------------------------------
Upx 1.90w (= 1.25)
Размер ехе после упаковки: 49 664 байт
Скорость распаковки: ~ 70 мc
--
использование ключа --best [-9] не изменило ничего
 
---------------------------------------------
Fsg
Размер ехе после упаковки: 54 993 байт
Скорость распаковки: ~ 90 мc
 
---------------------------------------------
PeCompact 2.59
(lzma кодек, быстрый декодер - off, compess. level - 9)
Размер ехе после упаковки: 50 688 байт
Скорость распаковки: ~ 90 мc
--
манипуляция с настройками позволила уменьшить размер до 50 176 байт, время выросло до ~ 110 мс
либо размер 49 664 б, время ~ 130 мс
-----
(ffce codec, aplib codec, опция - быстрый декодер - on, compess. level - 9)
~ 70 миллисекунд
размер - 53 760 байт

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 10:06 08-07-2005
Vid0



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Написал CMD файл для тех, кто хочет поиграть с (Win)UPACK опциями.
UPACK.EXE должен быть в рабочем каталоге или где-нибудь в пути.
(Записать этот текст в файл UPackMax.uue и распаковать WinRAR'ом):
 
--------------------- UPackMax.uue --------------------------
begin 644 UPackMax.gz
M'XL("/_@WT(``%5086-K36%X+F-M9`"=4^]OFE`4_6[B_W!&\AIUUD(;UX2,
M;@ZA,Z5@1+L?'VPH/%M2Y#'`:IO%OWWO(;6X-8W9)]Z[[]YS[N&>^]G0OSIP
M3+->4U7H=]2_Q[<P#M@RPP--LY#%]=K`A.V,(1'')9*F267"M3V6<.Z,';B/
M<>ZM"HA6"[,PS7(D7NK-:4Y3S!?\>D/AX<&+PH"_1Q190OUP%OI>7J4PO@]<
M0:2\!MQ"S+`,H\#WTB"#%T5L20.$\:N(0EB'M/`;YL#N0VI).+,GU@O5:.2,
M+./*L*!4R?ZM_+1W9='H!:4)5YJ&WDU$,T3,]Z)ZS37&EJ/WK.*$RS!VPR>J
M_<3!`<J`KLF5F_ERLQA+-+E>,YT1CBP0HF-@HR%#P8<F^@X:E3>S>.M"P7&W
M^_RJ.\,?./H"HF"Z3CS_OI//DU+49-C3+ZKA0U\P',XX5IDBP`FQ"^27Q`*<
M*[*@ZO-$R"E:$V6$K)_L>JW9K-?ZAE4!%_]P.^1UK%PW?"*DJ]`(9Q2ZQ;%)
MUBM%`J_=(ZUL<F38G"B;<UL(ICT*^:3M?CD4,4;5<,QRAOTP2R+O$7<T2I#Y
M*:4QC^\89//!9,BE77JKCC\/VKC:K`R4CHP92[>K9(__JLJ\6ZH"VW)@^E&X
M6)AX>E9F&2MOGD14K61)EX_#E-UVZ(I*NY!]AICE6&2TLB-A_!IN-;3=3AK[
M$<LV^Q2P!?<N?BU83CG(#&$.GW'Q89PAX\.D6;TV[$U<8_?//1MA8_*C7F'=
M]YHBG%Q&^BRFF@BW%%F6CY33[FEA"G("RW5!RLT@PK;;Q2#*SF:08W&M[A$Y
MV9J\:N6J'X1+2OT"L`V!TT99#ILNBS-&U&=I\`[3!A&]JFNY?:B03GGA1T*F
BS:KLYG/_Y^-1M?\WR*9GE<3]B=Y`U/X'\`^##&YJ_04```4`
`
end
-------------------------------------------------------------

Всего записей: 95 | Зарегистр. 29-05-2002 | Отправлено: 21:47 21-07-2005 | Исправлено: Vid0, 21:55 21-07-2005
Varenik



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
(Win)UPACK уже 0.30 beta

----------
Если нравится, считайте, что получилось…

Всего записей: 1766 | Зарегистр. 21-07-2001 | Отправлено: 07:55 22-07-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
(Win)UPACK уже 0.32 beta  

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 15:25 24-08-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
packing, data handling, stuff - revision 2
http://f0dder.schwump.net/packandstuff.htm
 
Упаковка исполняемых файлов в среде Windows как она есть
http://www.citforum.ru/book/cook/exepack.shtml

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 12:00 05-09-2005 | Исправлено: vito333, 12:02 05-09-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
страничка с несколькими интересными программами, причём крошечного размера и на Delphi. Есть библиотека, спомощью которой автор их сделал.
http://prog-soft.narod.ru/download.htm

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 11:01 07-09-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ещё упаковщик исполняемых файлов - NSPack
http://www.nsdsn.com/eng/index.htm
 
высокая степень сжатия (чуть хуже Upack), чуть выше скорость распаковки

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 12:41 03-10-2005
vito333



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
обновился Upack - значительно повышена скорость распаковки и уменьшен размер кода распаковщика.
Теперь он с меньших размеров "бьёт" FSG.

Всего записей: 3322 | Зарегистр. 13-05-2002 | Отправлено: 04:04 09-10-2005
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Оптимизация размера программ (EXE)


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru