Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 26.01.2015, 12:08   #21
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
весь код на ассемблер переиначивать, я так понял, не катит...
ну, скажем, если я написал некую грузанутую процедуру, которую приходится много раз вызывать в программе по таймеру. то её можно как раз в виде ассемблерной вставки в Delphi использовать? ну, скажем, процедура поиска файлов в папке. или уж лучше оставить как есть в виде Delphi?
кто из форумчан так делал?
Код не тот оптимизировать ты пытаешься. На асме имеет смысл писать только лично твой код, не использующий функции ОС. т.е. хорошо на нем писать вычисления, преобразования и прочее - твоё.

А то что ты заменишь if на cmp да без проверок да оптимизаций(которые делает компилятор) особого КПД не даст, .т.к. код ждет отклика от ОС а не от процессора.

К тому же новые IDE не дадут тебе сделать вставку ассемблера в паскаль. Либо полностью то, либо другое.
Человек_Борща вне форума Ответить с цитированием
Старый 26.01.2015, 12:25   #22
pu4koff
Старожил
 
Аватар для pu4koff
 
Регистрация: 22.05.2007
Сообщений: 9,091
По умолчанию

Цитата:
Сообщение от NetSpace Посмотреть сообщение
ну, упаковщик убирает же что-то из EXE-шника, но при этом всё работает.значит, мой код Delphi несёт в себе что-то лишнее. разве нет?
Упаковщик - это уже отдельная тема и принцип работы и задачи другие. Хочете оптимизировать скорость работы - упаковщик не нужен. Хочете оптимизировать размер - милости просим за упаковщиком. Оптимизатор компилятора того же Delphi настраивается при желании и там эти моменты немного можно подшаманить. Оптимизатор может и раздуть код в итоге и наоборот подрезать, с ним тоже много нюансов. Основное поймите. Код с делфи компилятором переводится по сути в ассемблер и то, что в отладчике видите - именно этот код и исполняется. Нет никакого смысла выпиливать свой код на делфи и совать вместо него то, что на ассемблере в этом окошке, т.к. он так и так такой и выполняется, а не какой-то волшебный код при отладке появляется. Просто этим потеряете возможность нормально поддерживать код, а профита по производительности никакого. Хочется оптимизировать - оптимизируйте на уровне алгоритмов, распараллеливайте, чтобы задержки были не видны. На уровень ассемблера спускаться только при очень хорошей квалификации и большой необходимости. Лучше оптимизатора вряд ли код напишете, так что впустую время потратите и угробите всю пользу от использования делфей. И да, узкие моменты на ассемблере лучше совать в отдельные dll и не мешать всё в кучу.
pu4koff вне форума Ответить с цитированием
Старый 26.01.2015, 12:45   #23
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,871
По умолчанию

ясно, спасибо. и ещё вопрос. какой посоветуете HEX-редактор для работы?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 26.01.2015, 13:17   #24
Slym
Участник клуба
 
Регистрация: 07.12.2011
Сообщений: 1,025
По умолчанию

как-то занимался длинной арифметикой на x86, так вот asm там добавлял сотни процентов (FGInt),
но на x64 он будет медленнее до 4 раз от PurePascal (если скомпилируется)

т.е. асм имеет место только в математически нагруженных алгоритмах, но в переходный период x86-x64 тяжелее в поддержке

кстати на асм не смог перевести только FGInt.Sqr (возведение в квадрат) точнее перевел, но верхние пограничные проверки не проходил ($FFFFFFFF), где-то переполнение.
заменил на умножение а оно в 4 раза медленнее чем квадрат, но даже при этом быстрее в разы чем PurePascal
кому интересно могу выложить
Не стесняемся, плюсуем!

Последний раз редактировалось Slym; 26.01.2015 в 13:39.
Slym вне форума Ответить с цитированием
Старый 26.01.2015, 14:22   #25
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
какой посоветуете HEX-редактор для работы?
А зачем если не секрет?
вообще мне FlexHEX нравится.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 26.01.2015, 17:44   #26
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,871
По умолчанию

скачал и посмотрел FlexHEX. просто хочу попробовать в своей программе, имея один лишь EXE'шник, изменить пример a+b на a-b. то есть изменить в решении один знак, но оставить программу работоспособной.
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 26.01.2015 в 17:50.
NetSpace вне форума Ответить с цитированием
Старый 26.01.2015, 17:47   #27
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Не, взламывать чужую мне еще понятно. Но свою? Хаккер-тренинг?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 26.01.2015, 17:57   #28
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,434
По умолчанию

Цитата:
скачал и посмотрел FlexHEX. просто хочу попробовать в своей программе, имея один лишь EXE'шник, изменить пример a+b на a-b. то есть изменить в решении один знак, но оставить программу работоспособной.
не им это делается.Патч байтов в физ. файле - завершающее действие.
Человек_Борща вне форума Ответить с цитированием
Старый 26.01.2015, 18:00   #29
lomastr_
Форумчанин
 
Регистрация: 16.01.2015
Сообщений: 672
По умолчанию

Цитата:
изменить пример a+b на a-b. то есть изменить в решении один знак
в курсе что в проге (ехе) никаких + и - нету, а то устанете искать..
lomastr_ вне форума Ответить с цитированием
Старый 26.01.2015, 18:21   #30
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,871
По умолчанию

в курсе. это просто тренинг.
Патч байтов в физическом файле - это как делается? можно в общих словах?
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ассемблер в Delphi, адрес переменной Obert Помощь студентам 7 12.06.2011 16:18
Ассемблер в Delphi Вячеславик Помощь студентам 3 11.05.2010 14:35
Компилирование проекта на Delphi в ассемблер Legat Общие вопросы Delphi 3 10.04.2009 16:07
Ассемблер в Delphi Roof Помощь студентам 7 21.12.2008 00:21