Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Вниз

asm в Delphi   Найти похожие ветки 

 
ElectriC ©   (2007-09-01 13:29) [0]

Посоветуйте хорошую книгу использование asm в дельфи для чайников.


 
Anatoly Podgoretsky ©   (2007-09-01 13:35) [1]

> ElectriC  (01.09.2007 13:29:00)  [0]

www.intel.com


 
Sergey Masloff   (2007-09-01 13:37) [2]

Денис Христенсен, BASM Уроки для начинающих
перевод © Anatoly Podgoretsky, 2003 ;-)
файл BasmForBeginners-ru.doc ищется в любом поисковике за 2 минуты


 
Sergey Masloff   (2007-09-01 13:39) [3]

Кстати на intel.com устанешь искать документацию по процессорам. Я наверное часа полтора искал хотя точно знал что ищу. Ни фига не эргономичный дизайн...


 
Anatoly Podgoretsky ©   (2007-09-01 13:53) [4]

> Sergey Masloff  (01.09.2007 13:37:02)  [2]

Это не много не то.


 
Anatoly Podgoretsky ©   (2007-09-01 13:54) [5]

> Sergey Masloff  (01.09.2007 13:39:03)  [3]

Трудновато, я сам обматюгался, но это именно то что требуется для работы.
У меня на сайте есть (в ftp части), то это явно устарело.


 
ElectriC ©   (2007-09-01 14:24) [6]

Спасибо за книженцию. Думаю то что надо.


 
homm ©   (2007-09-01 17:29) [7]

> Посоветуйте хорошую книгу использование asm в дельфи для
> чайников

Я бы посоветовл чайником не испльзовать asm в дельфи.


 
homm ©   (2007-09-01 17:32) [8]

> Я бы посоветовaл чайникaм не использовать asm в дельфи.


 
Denis_ ©   (2007-09-01 17:43) [9]


> чайником не испльзовать asm

Да, я согласен с Вами.


 
atruhin ©   (2007-09-01 17:47) [10]

> Я бы посоветовл чайником не испльзовать asm в дельфи.

Самый разумный совет. Лично тестировал процедуры в библиотеках, написанные на асм
которые работали медленнее чем на Delphi.


 
sdubaruhnul   (2007-09-02 00:01) [11]

Я бы посоветовал не использвать asm.


 
ElectriC ©   (2007-09-02 00:10) [12]


> homm ©

Я про asm, а не Delphi


 
Германн ©   (2007-09-02 01:30) [13]


> homm ©   (01.09.07 17:32) [8]
>
> > Я бы посоветовaл чайникaм не использовать asm в дельфи.
>
>

Не согласен. Имхо.


 
J_f_S   (2007-09-02 02:42) [14]

Я бы посоветовал вообще не использовать такие вставки в высокоуровневых языках. Если хочется поизучать ассемблер - скачайте лучше отдельный FASM. Клевый, современный, быстрый ассемблер с отличными примерами.

А мешать асм код в современные ООП языки вообще вредно. Не будет выигрыша ни в читаемости кода, ни в скорости выполнения (исключения чрезвычайно редки, пишутся профессионалами в редких случаях, и то код не всегда получается быстрее кода компилятора).


 
Германн ©   (2007-09-02 02:49) [15]


> J_f_S   (02.09.07 02:42) [14]
>
> Я бы посоветовал вообще не использовать такие вставки в
> высокоуровневых языках. Если хочется поизучать ассемблер
> - скачайте лучше отдельный FASM. Клевый, современный, быстрый
> ассемблер с отличными примерами.
>
> А мешать асм код в современные ООП языки вообще вредно.
> Не будет выигрыша ни в читаемости кода, ни в скорости выполнения
> (исключения чрезвычайно редки, пишутся профессионалами в
> редких случаях, и то код не всегда получается быстрее кода
> компилятора).
>

Ещё раз не согласен.


 
homm ©   (2007-09-02 07:43) [16]

> [13] Германн ©   (02.09.07 01:30)
> Не согласен. Имхо.

С чем? код, написаный чайником на асемблере в большенстве случаев работает хуже, чем оригинальный на дельфи. Сам был чайником в асм (да и сейчас не особо крут).


> [12] ElectriC ©   (02.09.07 00:10)
> Я про asm, а не Delphi
Чего?


 
Инс ©   (2007-09-02 10:12) [17]

Многие ошибочно полагают, будто бы с помощью асм в Delphi можно обойти многие ограничения, накладываемые операционной системой. Им кажется, будто бы, если они будут в совершенстве владеть асм, им даже WinAPI не понадобится, они сами смогут напрямую обращаться к аппарутуре, физической памяти и пр. Уважаемый автор, у вас не этот случай? ;)


 
JaK[Light] ©   (2007-09-02 11:12) [18]


> код, написаный чайником на асемблере в большенстве случаев
> работает хуже, чем оригинальный на дельфи

Но ведь никто не запрещает сперва посмотреть сгенерированный код в CPU? :)


 
Anatoly Podgoretsky ©   (2007-09-02 11:13) [19]


> Я про asm, а не Delphi

А это что?

> использование asm в дельфи

Учитывая, многообразие процессоров и различия в оптимизации по них, очень трудно достигнуть нужной.
Если для СИ у Интела есть компиляторы, которые оптимизируют под процессор, то с АСМ не так, если не считать оптимизатор на уровне машинных команд.
Без этого конструция А может работать медленнее конструкции Б, хотя во второй команд и соответственно голых тактов будет больше, чем в первой.


 
Anatoly Podgoretsky ©   (2007-09-02 11:15) [20]

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


 
Anatoly Podgoretsky ©   (2007-09-02 11:25) [21]

> JaK[Light]  (02.09.2007 11:12:18)  [18]

Посмотрел, а дальше что?


 
Инс ©   (2007-09-02 11:29) [22]


> Посмотрел, а дальше что?

Зачастую компилятор генерирует очень некачественный код. Гоняет значения из памяти в регистры и обратно. Очень частно можно достаточно сильно ускорить код, просто убрав всю эту мешанину, сведением к минимуму обращения к памяти. Однажды мне пришлось так поступить - выигрыш был процентов 200-300.


 
Инс ©   (2007-09-02 11:31) [23]


> [20] Anatoly Podgoretsky ©   (02.09.07 11:15)

То, о чем вы говорите - называется низкоуровневая оптимизация. Она безусловно может дать выигрыш, но прежде чем к ней перейти, необходимо осуществить высокоуровневую оптимизацию (пересмотреть алгоритм), которая может дать выигрыш значительно больший.


 
Anatoly Podgoretsky ©   (2007-09-02 11:43) [24]

Ну так давно известно, что максимальный прирост дают алгоритм, а начинающие верят, что если они перейдут на ассемблер то произойдет чудо, а как правило, в большинстве случаев, произойдет нечто другое.


 
homm ©   (2007-09-02 11:48) [25]

> необходимо осуществить высокоуровневую оптимизацию (пересмотреть
> алгоритм),

Для этого обязательно переписывать на asm?


 
Anatoly Podgoretsky ©   (2007-09-02 11:58) [26]

> homm  (02.09.2007 11:48:25)  [25]

Как раз это не требуется, переписывать на асм нужно в очень редких случаях, особо критичные куски, при условии, что человек владеет методикой оптимизации, в соответствии с мануалами Интела на конкретную модель процессора и общими принципами оптимизации без учета процессора, максимум класса процессоров.
Методы которые работали на 8086/80286/80386 стали мало применимы к более старшим моделям, точнее они стали приводить к обратному эффекту.


 
JaK[Light] ©   (2007-09-02 12:01) [27]


> Посмотрел, а дальше что?

Ну частично Инс уже ответил, могу только добавить, что иногда компилятор в силу своей универсальности генерирует немного не те команды, поэтому зачастую приходится не только убивать бессмысленные перемещения туда и обратно, но и заменять целые блоки (естественно, с опорой на доки). Он не настолько интеллектуален, чтобы хорошо разобраться в каждой ситуации :)


> Anatoly Podgoretsky ©   (02.09.07 11:43) [24]

К ассемблеру стоит переходить, если уверен, что алгоритм идеальный, но нужное быстродействие еще не достигнуто. Остальное - от лукавого.
Почему-то такого автоматического комментария после asm не предусмотрено :)


 
Инс ©   (2007-09-02 14:24) [28]


> Как раз это не требуется, переписывать на асм нужно в очень
> редких случаях, особо критичные куски, при условии, что
> человек владеет методикой оптимизации, в соответствии с
> мануалами Интела на конкретную модель процессора и общими
> принципами оптимизации без учета процессора, максимум класса
> процессоров.

Это верно.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.282 c
2-1188251587
Dummy
2007-08-28 01:53
2007.09.30
Как узнать погоду через инет средствами Дельфи 5?


2-1188797687
малой
2007-09-03 09:34
2007.09.30
Служба и процессы


2-1188935109
max_
2007-09-04 23:45
2007.09.30
мышь


15-1188700763
NEW3
2007-09-02 06:39
2007.09.30
IDA Pro 4 3 Ищу какие-нибудь справочники литературу статьи по ней


15-1188390465
Dmitriy_010
2007-08-29 16:27
2007.09.30
Проблема с XP Embeded





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский