Форум: "KOL";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
ВнизОтносительно эффективности встроенного ассемблера Найти похожие ветки
← →
Deimos (2003-10-29 20:39) [0]Возник вопрос, Что эффективне? использовать встроенный ассемблер внутри KOL-овских функций или написать процедуру целиком на Ассемблере и вызывать её,
Но тут возникает другой вопрос, Умеет ли дельфи переводить свой код напямую в Ассемблер??
← →
Deimos (2003-10-29 20:39) [0]Возник вопрос, Что эффективне? использовать встроенный ассемблер внутри KOL-овских функций или написать процедуру целиком на Ассемблере и вызывать её,
Но тут возникает другой вопрос, Умеет ли дельфи переводить свой код напямую в Ассемблер??
← →
mdw © (2003-10-29 21:49) [1]Возник вопрос, Что эффективне? использовать встроенный ассемблер внутри KOL-овских функций или написать процедуру целиком на Ассемблере и вызывать её
Насколько понял, вопрос о том, что эффективнее, процедура с asm-вставками, или полностью ассемблерная? Конечно полностью.
Хотя особо смысла нет, выигрыш будет небольшой, кроме отдельных случаев. В Delphi компилятор и так неплохо оптимизирует код.
Но тут возникает другой вопрос, Умеет ли дельфи переводить свой код напямую в Ассемблер??
Это как? Delphi свой код переводит в исполняемый, в Ассемблер то еще зачем? Или нужно посмотреть, что получилось при компиляции? тогда CPU window.
← →
mdw © (2003-10-29 21:49) [1]Возник вопрос, Что эффективне? использовать встроенный ассемблер внутри KOL-овских функций или написать процедуру целиком на Ассемблере и вызывать её
Насколько понял, вопрос о том, что эффективнее, процедура с asm-вставками, или полностью ассемблерная? Конечно полностью.
Хотя особо смысла нет, выигрыш будет небольшой, кроме отдельных случаев. В Delphi компилятор и так неплохо оптимизирует код.
Но тут возникает другой вопрос, Умеет ли дельфи переводить свой код напямую в Ассемблер??
Это как? Delphi свой код переводит в исполняемый, в Ассемблер то еще зачем? Или нужно посмотреть, что получилось при компиляции? тогда CPU window.
← →
Vladimir Kladov (2003-10-29 22:19) [2]Что касаемо KOL, эффективности ассемблер не добавляет (если эффективность=скорость). Размер, правда, уменьшает. Потому как по размеру Delphi оптимизировать не умеет.
← →
Vladimir Kladov (2003-10-29 22:19) [2]Что касаемо KOL, эффективности ассемблер не добавляет (если эффективность=скорость). Размер, правда, уменьшает. Потому как по размеру Delphi оптимизировать не умеет.
← →
Anatoly Podgoretsky © (2003-10-29 22:52) [3]Эффективность в случае примения вставок падает, из за потери в оптимизаторе
← →
Anatoly Podgoretsky © (2003-10-29 22:52) [3]Эффективность в случае примения вставок падает, из за потери в оптимизаторе
← →
Legran (2003-10-30 13:01) [4]ИМХО имеет смысл писать на асме токо глубоко вложенные циклы.
иначе такая "оптимизация" сильно снижает эффективность _НАПИСАНИЯ_ПРОГРАММЫ_ , что порой важнее учитывая современные возможности техники.
А что касается вопроса по встроенным фун-ям в кол(в делпхи на самом деле), знайте процедура ВСТАВЛЕНАЯ на асме существенно не отличается от процедуры НАПИСАННОЙ на асме и подгружаемой допустим из длл, просто в делпхи выполняется инициализация и финализация для защиты данных(ака pusha/popa).
← →
Legran (2003-10-30 13:01) [4]ИМХО имеет смысл писать на асме токо глубоко вложенные циклы.
иначе такая "оптимизация" сильно снижает эффективность _НАПИСАНИЯ_ПРОГРАММЫ_ , что порой важнее учитывая современные возможности техники.
А что касается вопроса по встроенным фун-ям в кол(в делпхи на самом деле), знайте процедура ВСТАВЛЕНАЯ на асме существенно не отличается от процедуры НАПИСАННОЙ на асме и подгружаемой допустим из длл, просто в делпхи выполняется инициализация и финализация для защиты данных(ака pusha/popa).
← →
miek © (2003-10-30 16:19) [5]У встроенного асма есть такая неприятная особенность - не умеет выравнивать код.
2Legran: Никаких pusha/popa не вставляется. Сам посмотри.
← →
miek © (2003-10-30 16:19) [5]У встроенного асма есть такая неприятная особенность - не умеет выравнивать код.
2Legran: Никаких pusha/popa не вставляется. Сам посмотри.
← →
Deimos (2003-10-31 00:01) [6]Кстати, раз уж зашел разговор об оптимизации,
Как показывает опыт 60-90 процентов кода представляют собой просто воздух из нулей пошедших на выравнивание секций по адресам кратным, если я не ошибаюсь, 4кб..
Неплохо-бы заставить компилятор уменьшить кратность...
В Ассемблере это просто, там можно просто указать линкеру, что, мол, используй выравнивание по 4 байта (это минимальный возможный вариант) и размер проги сильно уменьшается, (например "hello world"в виде messageBox линкуемый по умолчанию имеет размер 2500 байт, а с минимальным выравниванием 740 байт !!!!!!(и это полноценная виндовая прога) и тоже работает без глюков), как-бы это на дельфи реализовать?
Хотя, это тоже не предел,
можно-же выкинуть MS-DOS stub, он всё-равно не нужен, а место занимает..
Можно и еще порезать. но это уже Дельфи не под силу, я думаю.. (типа очистки IMAGE_DIRECTORY, OLD EXE/PE-заголовков и др. подобные изменения)
Обращаюсь персонально к Господину Кладову..... Раз уж вам удалось заставить Дельфи резать лишний код, может быть и над этим подумаете ?
PS: Хотя-бы удаление MS-DOS stub,,
← →
Deimos (2003-10-31 00:01) [6]Кстати, раз уж зашел разговор об оптимизации,
Как показывает опыт 60-90 процентов кода представляют собой просто воздух из нулей пошедших на выравнивание секций по адресам кратным, если я не ошибаюсь, 4кб..
Неплохо-бы заставить компилятор уменьшить кратность...
В Ассемблере это просто, там можно просто указать линкеру, что, мол, используй выравнивание по 4 байта (это минимальный возможный вариант) и размер проги сильно уменьшается, (например "hello world"в виде messageBox линкуемый по умолчанию имеет размер 2500 байт, а с минимальным выравниванием 740 байт !!!!!!(и это полноценная виндовая прога) и тоже работает без глюков), как-бы это на дельфи реализовать?
Хотя, это тоже не предел,
можно-же выкинуть MS-DOS stub, он всё-равно не нужен, а место занимает..
Можно и еще порезать. но это уже Дельфи не под силу, я думаю.. (типа очистки IMAGE_DIRECTORY, OLD EXE/PE-заголовков и др. подобные изменения)
Обращаюсь персонально к Господину Кладову..... Раз уж вам удалось заставить Дельфи резать лишний код, может быть и над этим подумаете ?
PS: Хотя-бы удаление MS-DOS stub,,
← →
Vladimir Kladov (2003-10-31 05:34) [7]http://protools.anticrack.de/utilities.htm
там есть все, что нужно, чтобы заменить/удалить стуб, выровнять PE и т.д. и т.п.
← →
Vladimir Kladov (2003-10-31 05:34) [7]http://protools.anticrack.de/utilities.htm
там есть все, что нужно, чтобы заменить/удалить стуб, выровнять PE и т.д. и т.п.
← →
Deimos (2003-10-31 12:36) [8]Спасибо, попробую..
← →
Deimos (2003-10-31 12:36) [8]Спасибо, попробую..
← →
RA (2003-11-10 14:13) [9]А какие-нибудь конкретные проги посоветовать можешь?
← →
RA (2003-11-10 14:13) [9]А какие-нибудь конкретные проги посоветовать можешь?
← →
Deimos (2003-11-10 19:21) [10]кстати, половина прог выложенных на http://protools.anticrack.de/utilities.htm
с Delphi-KOL проектами не работают, там всё в основном на Assembler заточено.
← →
Deimos (2003-11-10 19:21) [10]кстати, половина прог выложенных на http://protools.anticrack.de/utilities.htm
с Delphi-KOL проектами не работают, там всё в основном на Assembler заточено.
← →
BorisMor © (2003-11-11 10:27) [11]PE Tools
http://neox.pisem.net/petools.html
Там есть опция "Rebuld PE"
← →
BorisMor © (2003-11-11 10:27) [11]PE Tools
http://neox.pisem.net/petools.html
Там есть опция "Rebuld PE"
Страницы: 1 вся ветка
Форум: "KOL";
Текущий архив: 2004.04.11;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.038 c