Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Оптимизация размера программ (EXE)

Автор: WELLROCK
Дата сообщения: 01.12.2004 10:09
MoKC0DeR
Да я не совсем то сказал, что хотел =)
Я имел ввиду packer.cpp, packhead.cpp и т.п.
Автор: Varenik
Дата сообщения: 02.12.2004 05:52
vito333
Только UPX - бесплатный, а PECompact - нет
Автор: WELLROCK
Дата сообщения: 02.12.2004 06:25
На _http://www.wasm.ru/toollist.php?list=8
есть PeCompact 2.40 retail by CollakeSoftware
Автор: vito333
Дата сообщения: 02.12.2004 15:05
Varenik
ну, тут не поспоришь
WELLROCK
мы в одном шаге от Варезника
Автор: WELLROCK
Дата сообщения: 02.12.2004 18:28
Извеняюсь. Я как-то не подумал
Автор: vito333
Дата сообщения: 02.12.2004 19:01
WELLROCK
какие релизы свои ты жмешь, если не секрет?
Автор: WELLROCK
Дата сообщения: 03.12.2004 03:38
vito333
http://www.rockteam.org


Добавлено
Я имею ввиду патчи конечно
Автор: vito333
Дата сообщения: 03.12.2004 05:56
WELLROCK
а манифесты у тебя не пропадают? я вот пожал свою прогу - тут же сообщают, пропал стиль ХР.

Добавлено
хотел автору отписать - не могу сайт увидеть
Автор: WELLROCK
Дата сообщения: 03.12.2004 06:31
Честно говоря я с манифестами жать не пробовал.
В моих прогах из ресурсов только битмап, иконка ну и сам диалог =)
А сайтвот http://northfox.uw.hu
Автор: vito333
Дата сообщения: 03.12.2004 06:34
WELLROCK
а ты попробуй
а на сайт - не могу, попробую позже с другого компа
Автор: WELLROCK
Дата сообщения: 03.12.2004 06:45
Ну у меня под рукой тоже ничего пока нету
Вечером попробую...
Автор: ShIvADeSt
Дата сообщения: 03.12.2004 07:10
Вот что сказано по поводу Delete Unimortant resources

Цитата:

Delete unimportant resources
delete FILEINFO, XML resources
every resource will be in the destination file

если жевключить функцию, не компресс ресурсы, то размер ехешника получается на 20 кб больше, чем при включенной функции удалять. Если же поснимать все галочки, то есть и с удалять и с некомпрессовать, то прога потом отказывается запускаться
Автор: WELLROCK
Дата сообщения: 03.12.2004 07:15
Ну может автор пофиксит это дело...
Автор: ShIvADeSt
Дата сообщения: 03.12.2004 07:24
WELLROCK

Цитата:
Ну может автор пофиксит это дело...

Вряд ли, ему предлагали сделать настройку пакера более гибкой, но судя по дате релиза, если он сделает, то не скоро.
Автор: WELLROCK
Дата сообщения: 03.12.2004 07:29
Ну в прошлой версии вообще консоль была без настроек особых.
Видать некогда ему заниматься этим проектом...
Автор: vito333
Дата сообщения: 03.12.2004 10:28
не, ну в принципе мой косяк, проглядел опцию - нодо все ресурсы оставить просто, у меня лишних нет и проверить ...
Автор: WELLROCK
Дата сообщения: 03.12.2004 10:37
То есть у тебя манифест был не в ресурсах а отдельно что ли?
Автор: vito333
Дата сообщения: 06.12.2004 14:38
в ресурсах. проверил я MEW - наладить сохранение манифеста и одновременно компрессию не удалось. возвращаюсь на FSG.
Автор: WELLROCK
Дата сообщения: 07.12.2004 03:22
Ну это опять же смотря какие файлы жать
Для меня MEW всё же более приемлим.
Автор: vito333
Дата сообщения: 07.12.2004 13:08
WELLROCK
нормальные проги а mew заточен под асм, да еще без манифестов, так что пользуйся, а я - увы ...
Автор: WELLROCK
Дата сообщения: 08.12.2004 03:15
Ну что ж. Каждому свой пакер
Автор: vito333
Дата сообщения: 17.12.2004 13:04
Optimizing Your Code with Visual C++
Mark Lacey
Microsoft Corporation
April 2003
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dv_vstechart/html/vctchOptimizingYourCodeWithVisualC.asp
----------------------
Summary: This document describes the code optimization features available in the Visual C++® .NET 2003 product. Additionally, for those readers not already familiar with the advancements made in Visual C++® .NET 2002, a short section describes the new Whole Program Optimization feature that was introduced there. Finally, some "best practices" for optimizing are discussed, as well as general enhancements to the Visual C++ compiler.

Добавлено
Managing Code Size
The GCC compiler supports a variety of options for optimizing your code. Most of these techniques result in the generation of less code or faster code, depending on your needs. As you prepare your software for release, you should experiment with these techniques to see which ones benefit your code the most.

http://developer.apple.com/documentation/Performance/Conceptual/CodeFootprint/Concepts/CompilerOptions.html#//apple_ref/doc/uid/20001861/CJBJFIDD
Автор: vito333
Дата сообщения: 19.12.2004 17:08
How Big Is My Program
http://www.codeproject.com/system/howbig.asp
Автор: WELLROCK
Дата сообщения: 20.12.2004 03:22

Цитата:
How Big Is My Program
http://www.codeproject.com/system/howbig.asp

Юзать MFC имхо не оптимизация.
Так можно и кодинг на VB назвать самым оптимизированным =)
Автор: vito333
Дата сообщения: 20.12.2004 04:39
WELLROCK
ну, упираться в WinAPI, как я, тоже не гуд.

а в топик я разную инфу кладу, но про оптимизацию

Добавлено

Цитата:
Так можно и кодинг на VB назвать самым оптимизированным

думаю, проги на ВБ тоже можно так или иначе оптимизировать,хотя и не представляю как
Автор: WELLROCK
Дата сообщения: 20.12.2004 04:51

Цитата:
ну, упираться в WinAPI, как я, тоже не гуд.

Это как раз оптимальный вариант.
Потому что нет никаких длл-ок посредников, никаких "псевдо-функций".

Хотя и тут есть место для оптимизации
Например лучше юзать WriteFile чем _lwrite, потому что _lwrite в итоге вызывает WriteFile.
То же самое касается и MessageBox'a, который в итоге вызывает MessageBoxEx.

Кстати размер при этом увеличится, т.к. эти функции используют больше параметров. Но скорость будет выше.
Автор: vito333
Дата сообщения: 20.12.2004 05:51

Цитата:
Это как раз оптимальный вариант

для небольших и несложных проектов - может быть, в других случаях - использовать надо, но упираться - не стоит. Это из собственного опыта тоже. Свой редактор я сначала писал на чистом С, затем сложность меня завалила, сейчас я полностью его переписываю и переделываю на С++, но и тогда и сейчас - чистый WinAPI, так вот сейчас я с завистью иногда поглядываю на WTL - на мой взгляд для создания хребта программы(интерфейса прежде всего) аналогичного класса это самый предпочтительный инструмент, а дополнять и развивать можно как угодно, хоть винапи, хоть мфс.
Хотя конечно, все зависит от цели. Я мог и на VB пописать редактор, но что-то не хотелось, цель другая - минимальный размер, понятность и красота кода, удобный интерфейс, заодно изучаю С/C++ - в общем это ДЗЭН .
У тебя, как у крякера и асмера наверняка другое несколько отношение.
Мне вот уже мой редактор кажется великоватым по размеру кода (53.5 кб неупакованный) - но объективно понимаю, что меньше при его возможностях сделать почти невозможно, только на асме, но думаю, не намного меньше выйдет, а объем работы будет на порядок больше, и ошибок - соответственно. Но тут уже начинается тема соотношения затрат и качества/размера программы, а этого мы не касаемся.
Да и асм я не знаю ((.

Что касается ReadFile и _lread - я в своем Марке попытался максимально ускорить загрузку больших файлов в ричедит. Сделал что мог - максимально простой код на ReadFile, минимум проверок в StreamIn функции. Но! Берем бред2 - смотрим - начинает отображать большие файлы (ну скажем 26 мб txt) - через 1-2 сек одновременно догружая остаток - смотрим исходник - все вроде обычно - даже не ReadFile, а _lread используется, смотрим аналоги на этой же версии ричедита - нифига быстрого, все как обычно - тормоза. Смотрим мой Mark - тот же файл - 5-6 сек. Извращался как мог. Но все равно бред2 отображает файл со скоростью функции ReadFile, а у меня на загрузку в ричедит уходит 75% времени и отображает только через 5-6 сек.
Понятно, что ричедит - не самая лучшая вещь и т.д., что он при загрузке грузит кускамм по 4096 байт и возможно из-за этого тормоза, но как это делает бред2? я соптимизировал, а он все равно намного быстрее

Автор: WELLROCK
Дата сообщения: 20.12.2004 06:20
Даже не знаю что сказать %)

Добавлено
Хм. Так у тебя долго грузится при чтении из файла или при записи в ричэдит?
Автор: vito333
Дата сообщения: 22.12.2004 05:16
из файла в ричедит

стандартный EM_StreamIn.

просто я экспериментировал по всякому и и когда читал сначала в буфер в памяти а потом из него в ричедит, то картина была следующая: общее время было такое же, как при прямом чтении в рич 5-6 сек, но! чтение ReadFile-ом 26 мег занимает как раз 1-2 сек, а все остальное время - загрузка в рич, то есть именно мелкокусочнобуферная загрузка в рич занимает основное время. А бред2, собака ), работает со скоростью ReadFile.

В принципе, все это умозрительно и почти не имеет практической ценности, так как Марк все-таки грузит большие файлы, а подавляющее большинство аналогов просто дохнет, во вторых, файлы больше 1-2 мег на компе редкость, а их редактирование - редкость еще бОльшая. Просто было интересно и как раз работал над загрузкой, а это вопрос так и не смог выяснить.
А вообще вопрос по быстрому открытию файлов и загрузке в РТФ-контрол у меня остается открытым.
Автор: vito333
Дата сообщения: 30.12.2004 02:32
вопрос по скорости бреда2 закрыт - получил письмо от kluga - автора бреда2 - ничего особенного он не делал, использовал STRAMIN, просто ричедит 1.0 быстрее - так что свою прогу буду ускорять своими методами.

Страницы: 1234567

Предыдущая тема: Интересные ИСХОДНИКИ на Delphi


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.