Форум: "Потрепаться";
Текущий архив: 2003.08.11;
Скачать: [xml.tar.bz2];
ВнизBASM Optimisation for Beginners Найти похожие ветки
← →
Anatoly Podgoretsky (2003-07-25 17:32) [0]На моем сайте опубликована новая книга
BASM for Beginners
Представляет интерес для тек, кому интересная оптимизация на уровне BASM кода.
http://podgoretsky.com/cgi-bin/dlcounter/npscnt?file=http://podgoretsky.com/ftp/Docs/Delphi/basm/BasmForBeginners-ru.doc&file_id=BasmForBeginners-ru
← →
MBo (2003-07-25 17:37) [1]Это Dennis-a?
← →
Anatoly Podgoretsky (2003-07-25 17:56) [2]Его, хорошу. работу провел
← →
Anatoly Podgoretsky (2003-07-25 17:57) [3]Его, хорошу. работу провел
Возможно будут небольшие изменения, я его уговорил предисловие написать.
← →
Sha (2003-07-26 09:39) [4]Идея автора - отталкиваться от ASM-кода, выработанного компилятором - способна
облегчить знакомство с BASM многим начинающим. Хотя такой подход встречался раньше,
автор использует его, постоянно комментируя свои действия. Но наряду с полезной
информацией, особенно по использованию FPU, уроки содержат слишком много воды.
По-видимому, совсем без нее не обойтись, излагая материал новичкам.
С другой стороны, отсутствует внятное объяснение причин возникновения пенальти.
Может быть, я просто плохо искал. Но, мне кажется, было бы полезнее несколько раз
процитировать Agner Fog (www.agner.org/assem/) или руководства от Intel и AMD,
чем оставить проблему не до конца ясной.
Такое впечатление, что оптимизация автором выполняется методом проб и ошибок.
Частично это следствие избранного автором подхода. Хотя, опять же на мой взляд,
можно было бы подойти к проблеме оптимизации более систематично.
Например, в примере с поиском символа в строке, стоило бы протестировать и
другие варианты решения.
Способ измерения времени выполнения программ, избранный автором, далеко не оптимален.
Наконец, кроме очевидных опечаток, имеются неточности, которые могут сбить с толку
новичка (например: дважды выполненный pop изменяет указатель стека на 8, а не на 4;
20 = $14, а не $16).
В целом, вещь ОЧЕНЬ полезная.
Особенно, если держать в голове другие публикации на эту тему.
P.S. Анатолий,
хорошо было бы передать автору замечания (для использования в работе :)
если не трудно, конечно,
и при условии согласия с ними, разумеется.
← →
Anatoly Podgoretsky (2003-07-26 10:13) [5]Sha © (26.07.03 09:39)
Не мог бы ты перевести это на аглийский, поскольку автор просил, по возможности пересылать ему замечания от русских читателей, я сам за такую работу не смогу взяться, качество будет низкое.
Пока я пошлю ему русский вариает, у него жена немного понимает русский.
Многое из того, что ты здесь говоришь, я уже сообщил, в том числе про измерение, я ему предложил использовать RDTSC, тогда не придется аппроксимировать к другим частотам, поскольку величина в тактах абсолютная.
Если сможешь перевести эти замечания или кто нибудь другой это сделает, то просьба посылать на мой емайл anatoly@podgoretsky.com, с темой BASM
Просьба к остальным, если есть предложения или замечания, то выссказывать в этой ветке, что бы можно было переслать автору.
← →
Anatoly Podgoretsky (2003-07-26 10:39) [6]Еще дополнительно, данная книга была основана на статьях в группе новостей Борланд, отсюда понятны некоторые неточности и возможная сумбурность при изложении, но в данный момент автор занялся ее пересмотром, вычитыванием ошибок. На это дело его поддтолкнул перевод :-)
Поэтому через некоторое время, наверно будет исправления как в русской, так и в английских версия. Надо только немного подождать, если учесть, что к переводу я приступил только три дня назад и отослал его автору только вчера. На работу нужно время.
← →
Sha (2003-07-26 10:49) [7]Сам по-английски пишу с ошибками :(
← →
Sha (2003-07-26 10:55) [8]Неплохо получилось :)
Мой предыдущий пост вообще-то относится к Anatoly Podgoretsky © (26.07.03 10:13)
← →
Anatoly Podgoretsky (2003-07-26 11:07) [9]Я сделал какой то переводи отправил автору, но за качество не ручаюсь, но смысл будет понятен.
← →
Sha (2003-07-26 11:29) [10]Anatoly Podgoretsky © (26.07.03 11:07)
Спасибо, Анатолий.
Эх, если б еще соединить в одном флаконе работы Dennis Chistensen и Agner Fog...
← →
Sha (2003-07-26 14:56) [11]Что-то больно витиевато я излагал мысли сегодня утром.
После обеда мысли проще, поэтому хочу кое-что добавить.
Когда я говорил, что
Например, в примере с поиском символа в строке, стоило бы протестировать и другие варианты решения.
Я имел ввиду не только варианты решения, приведенные автором, а вообще другие возможные варианты решения других авторов.
Например, известны такие варианты:
1. раскрутка цикла на 2 (rolling out by 2)
2. с ипользованием счетчика, завершающегося нулем (обратный отсчет)
3. вариант проверки по 4 байта за раз, как при определении длины z-строки
4. вариант проверки по 8 байта за раз c использованием MMX
Все они (или их прототипы) есть у Agner Fog.
← →
Anatoly Podgoretsky (2003-07-26 15:15) [12]Sha © (26.07.03 14:56)
В группе новостей они постоянно устраивают соревнования/испытания различного рода алгоритмов, они не вошли в книгу, поскольку не являлись частью уроков, были и эти варианты и множество других (в соревнованиях участвовало свыше 40 тестов, от нескольких участников). Они также позволили сделать много выводов по поводу выравнивания, парности команд, прдсказаний и методики тестирования, которая оказалась самым слабым звеном.
Но все таки надо учитывать, что эта книга, польностью на основе тех семи уроков, а то что было вокруг уроков естественно в нее вошло. При желании всегда можно поднять эти обсуждения и историю их чемпионата по производительности :-). Весьма поучительно, на многое открыла глаза. Например лопнули мифы о превосходстве того или другого процессора, разные тесты показывали противоположные результаты, в зависимости от процессора.
Вообще то как мне кажется, цель статей было не столько изучение алгоритмов, сколько разборки с компилятором Дельфи и создание на его основе оптимального кода, но это мое предположение.
Небольшой камень в сторону AMD, некоторые тесты не смогли выполниться на нем, вплоть до полного зависания системы, хотя AMD как бы декларировало полную совместимость с P4.
← →
Sha (2003-07-26 15:52) [13]>Anatoly Podgoretsky © (26.07.03 15:15)
>Небольшой камень в сторону AMD, некоторые тесты не смогли выполниться на нем
Нельзя ли ссылку дать?
Небольшой камень в сторону Intel, во многих тестах AMD показывает лучшее распараллеливание микроопераций.
← →
Anatoly Podgoretsky (2003-07-26 17:14) [14]На первой же страницы указана группа, а сервер новостей
news://forums.borland.com
← →
Anatoly Podgoretsky (2003-07-26 18:05) [15]Цитата из письма
Hi Anatoly Podgoretsky
I have started a thread with discussion of the book in the Borland BASM
newsgroup. Can you point your russian friends to it? Thanks for your responses.
Best regards
Dennis
← →
Sha (2003-07-26 18:11) [16]Имелась ввиду ссылка на неработающий на AMD пример. А форум знаю, спасибо.
← →
Anatoly Podgoretsky (2003-07-26 19:17) [17]Sha © (26.07.03 18:11)
Ну ссылки на статьи в группах новостей делать невозможно, только на заголовок, а данная тема еимет не одну сотню сообщений.
Из новостей, во-первых получил приятное сообщение, что эти семь уроков не последнии, а будет как минимум еще два, сейчас они в стадии подготовки.
Второе: Денис открыл тему в группе новостей, по получению конструктивной критике по данным статья и просьбу о помощи в улучшении материала, тема называется "Critique of BASM for Beginners Series" - отнесься весьма самокритично к себе.
Подключайтесь кому это интересно и не надо бояться своего плохого языка, участники конференции очень толерантны.
Третье: внесено одно изменение в книгу, Денис прислал главу с введением, те кто скачал книгу могут ее не качать, поскольку существенной информации нет, лучше подождать публикации новой главы.
С уважением АП
← →
Sha (2003-07-26 19:38) [18]>Anatoly Podgoretsky © (26.07.03 19:17)
>Ну ссылки на статьи в группах новостей делать невозможно,
>только на заголовок, а данная тема еимет не одну сотню сообщений.
Это я понимаю :) Но все, что там видел на AMD работает. Не работает только в том случае, если расширенный набор инструкций (SSE2) не поддерживается процессором. Так и должно быть. Думал, что есть что-то другое. Немного бестолково там: в борьбе за скорость забыли о красоте. И о выравнивании (не текста, а маш. кода).
>Подключайтесь кому это интересно и не надо бояться своего
>плохого языка, участники конференции очень толерантны.
Показалось, что (Dennis"а) его критика немного задела. Мне кажется, он не совсем воспринял мысль, что следует начинать с хорошего алгоритма.
← →
Anatoly Podgoretsky (2003-07-26 19:42) [19]Мне кажется он воспринял правильно и четко указал в предисловии направленность статей. В любом случае у него хватило силы воли обратиться за помощью.
Страницы: 1 вся ветка
Форум: "Потрепаться";
Текущий архив: 2003.08.11;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.008 c