Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Сб янв 16, 2021 15:39

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Ответить
Имя пользователя:
Заголовок:
Текст сообщения:
Введите текст вашего сообщения. Длина сообщения в символах не более: 60000

Размер шрифта:
Цвет шрифта
Настройки:
BBCode ВКЛЮЧЕН
[img] ВЫКЛЮЧЕН
[flash] ВЫКЛЮЧЕН
[url] ВКЛЮЧЕН
Смайлики ВЫКЛЮЧЕНЫ
Отключить в этом сообщении BBCode
Не преобразовывать адреса URL в ссылки
Вопрос
Теперь гостю придется вводить здесь пароль. Не от своей учетной записи, а ПАРОЛЬ ДЛЯ ГОСТЯ, получить который можно после регистрации на форуме через ЛС.:
Этот вопрос предназначен для выявления и предотвращения автоматических регистраций.
   

Обзор темы - По поводу оптимизации кода
Автор Сообщение
  Заголовок сообщения:  Re: По поводу оптимизации кода  Ответить с цитатой
Хищник писал(а):
Mihail писал(а):
Хищник писал(а):
Ладно бы еще дела с оптимизатором шли нормально

Что с ним ненормально?

Ты получаешь за него стабильную зарплату? Его нормально воспринимают специалисты за пределами узкого круга заинтересованных лиц?



Существует реально 3 продукта - форт как язык для исходника, (даже 4 - СПФ) , оптимизатор и порождённый им код,
вопрос- кому интересно это сочетание продуктов?

1. Кому интересен настолько исходник на форте, чтобы выбрать СПФ и удовлетвориться оптимизатором
2. Кому настолько интересен резултат оптимизации, чтобы выбрать исходник на форте
3. ...
Сообщение Добавлено: Вс окт 10, 2010 15:25
  Заголовок сообщения:  Re: По поводу оптимизации кода  Ответить с цитатой
Mihail писал(а):
Хищник писал(а):
Ладно бы еще дела с оптимизатором шли нормально

Что с ним ненормально?

Ты получаешь за него стабильную зарплату? Его нормально воспринимают специалисты за пределами узкого круга заинтересованных лиц?
Сообщение Добавлено: Вс окт 10, 2010 15:02
  Заголовок сообщения:  Re: По поводу оптимизации кода  Ответить с цитатой
Хищник писал(а):
Самому сделать лень, но просить сделать правило оптимизатора за микроплатеж - побежит с радостью

Пока могу и бесплатно.

Хищник писал(а):
Ладно бы еще дела с оптимизатором шли нормально

Что с ним ненормально?
Сообщение Добавлено: Вс окт 10, 2010 14:54
  Заголовок сообщения:  Re: По поводу оптимизации кода  Ответить с цитатой
Mihail писал(а):
Бывает может, но не хочет.

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

Хватит уже фантазировать. Ладно бы еще дела с оптимизатором шли нормально - так нет, но вместо каких-то кардинальных шагов ты упорно пихаешь его во все темы форума, жалуясь на невнимание общественности.
Сообщение Добавлено: Вс окт 10, 2010 13:47
  Заголовок сообщения:  Re: По поводу оптимизации кода  Ответить с цитатой
Хищник писал(а):
человек, который в состоянии идентифицировать проблему, и отличить хорошую оптимизацию от плохой, настолько беспомощен, что не решит вопрос самостоятельно?


Бывает может, но не хочет. Идентифицировать проблему можно косвенным образом.
Например, переведя программу с другого языка, вдруг она стала работать медленнее.
Не всегда и не для всех ассемблерная вставка желательна. Плохо оптимизирующийся
фрагмент может быть маленьким, но встречаться во многих частях программы.
Сообщение Добавлено: Вс окт 10, 2010 11:33
  Заголовок сообщения:  Re: По поводу оптимизации кода  Ответить с цитатой

M обсуждение оптимизации вынесено в отдельную тему.

Сообщение Добавлено: Вс окт 10, 2010 08:13
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
Mihail писал(а):
С ассемблером лучше не спешить. Предворительно, следует сообщить в конференцию о том,
что фрагмент на Форте оптимизируется неважно.

Ты сейчас вообще серьезен? По-твоему, человек, который в состоянии идентифицировать проблему, и отличить хорошую оптимизацию от плохой, настолько беспомощен, что не решит вопрос самостоятельно?
Сообщение Добавлено: Вс окт 10, 2010 00:39
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
chess писал(а):
если сильно прижмет, то
встроенный ассемблер позволит получить предельное ускорение

С ассемблером лучше не спешить. Предворительно, следует сообщить в конференцию о том,
что фрагмент на Форте оптимизируется неважно.
Сообщение Добавлено: Вс окт 10, 2010 00:23
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
Хищник писал(а):
Достижение экстремальной производительности - сложнейшая задача сама по себе, так стоит ли биться в нее лбом, игнорируя все остальное?

Так давно никто и не бьется. Peephole оптимизации хватает. А если сильно прижмет, то
встроенный ассемблер позволит получить предельное ускорение.
Пожалуй только в VFX сильно потрудились видимо им сильно и надо было.
Сообщение Добавлено: Сб окт 09, 2010 23:17
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
chess писал(а):
По мере решения своих задач постепенно приходит понимание слабых мест языка. Язык позволяет себя модифицировать(форт именно такой) для их исключения. То есть формируется
функция качества конкретной реализации языка, позволяющая гарантированно достигать нужных результатов.
Модификация языка для форта это абсолютно нормальный процесс.

Только я хотел бы заметить, что не обязательно модифицировать язык "в лоб", да еще с целью стать похожим на кого-то. Достижение экстремальной производительности - сложнейшая задача сама по себе, так стоит ли биться в нее лбом, игнорируя все остальное? Если копить деньги на лимузин, можно ведь в процессе накопления и с голоду помереть. Поэтому периоды модификации должны наступать как определенная реакция на недостатки языка, замеченные при выполнении предыдущего проекта на нем.
Сообщение Добавлено: Сб окт 09, 2010 22:54
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
Хищник писал(а):
Если язык претендует на какую-то сверхэффективность, он очень даже должен, и много чего. Или же не надо претендовать на чужое, а просто четко осознать достоинства и недостатки, и работать с ними соответственно. А то это уже похоже на тихую истерику - в отсутствие результатов начинается нахваливание Форта напропалую, вдруг народ проникнется? Вот честное слово, читая Фидо 5-7 летней давности, можно понять, что при таком подходе никто не проникнется.

По мере решения своих задач постепенно приходит понимание слабых мест языка. Язык позволяет себя модифицировать(форт именно такой) для их исключения. То есть формируется
функция качества конкретной реализации языка, позволяющая гарантированно достигать нужных результатов.
Модификация языка для форта это абсолютно нормальный процесс.
Сообщение Добавлено: Сб окт 09, 2010 22:26
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
chess писал(а):
Насмешили. Язык геморрою ничего не должен.

Если язык претендует на какую-то сверхэффективность, он очень даже должен, и много чего. Или же не надо претендовать на чужое, а просто четко осознать достоинства и недостатки, и работать с ними соответственно. А то это уже похоже на тихую истерику - в отсутствие результатов начинается нахваливание Форта напропалую, вдруг народ проникнется? Вот честное слово, читая Фидо 5-7 летней давности, можно понять, что при таком подходе никто не проникнется.
Сообщение Добавлено: Сб окт 09, 2010 20:17
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
mOleg писал(а):
Тройки из четверок получаются просто (только количество этих самых троек возрастает в два раза по отношению к четверкам и количество использованных регистров тоже увеличивается). Однако с ix86 платформой это пофигистично, т.к. есть и 0 операндные команды, а есть и трехоперандные.

Именно с x86 это не пофигистично, в силу немалой асимметрии в системе команд. Удобно, когда есть 32 регистра по 32 разряда, и команды могут выполняться над любыми их сочетаниями. А когда непонятно, положить результат в ecx (а вдруг потом будет цикл, и нужен jecxz), или в edx (а вдруг mul или in/out), надо специально озаботиться описанием соответствующих правил и зависимостей. Кстати, LEA - это не вполне удачный пример, поскольку речь идет о сложной адресации одного операнда, а не о двух операндах с независимым регистром назначения. И задача оптимизации для x86 - воспользоваться повышенной эффективностью операций над регистрами, положив туда все необходимое при возможно меньшем трафике с памятью. Если процессор 3 ГГц, а память - 1,066, то сам факт работы с памятью уже толстый намек на потерю эффективности. И вот тут становится очень важным, насколько велики возможности процессора по перекладыванию уже прочитанных из памяти данных между своими регистрами.
Сообщение Добавлено: Сб окт 09, 2010 20:11
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
dynamic-wind писал(а):
Олег, чтобы эффективно (и без лишнего геморроя) оптимизировать, язык должен иметь простую и четкую семантику.

Насмешили. Язык геморрою ничего не должен. :))
Сообщение Добавлено: Сб окт 09, 2010 18:29
  Заголовок сообщения:  Re: Ответ на чат :)  Ответить с цитатой
mOleg писал(а):
dynamic-wind писал(а):
-без сборки мусора,pattern-matching'a и других вкусностей.

этого я вообще не понял (к чему это относится, к устройству оптимизатора, или к оптимизируемому коду?)
К устройству компилятора, конечно.

mOleg писал(а):
dynamic-wind писал(а):
Олег, чтобы эффективно (и без лишнего геморроя) оптимизировать, язык должен иметь простую и четкую семантику.

зачем? Когда есть четверки\тройки, уже пофигу семантика языка.

Тенденция, однако: высокоуровневые оптимизации выполнять над промежуточным представлением, что ниже входного языка, но выше всяких троек-четверок. (Замумукаешься описывать некоторые преобразования в терминах троек-четверок, и сложность алгоритмов типа O(N^3) дасть о себе знать, когда N велико)

mOleg писал(а):
речь идет о том, что оптимизация в форте должна быть локальной (т.е. оптимизируем последнее созданное определение), такие куски кода обычно невелики, и там практически нечего крутить много раз. Понятно, что тут будет своя специфика.

Ну раз должна быть... ничего не попишешь. Но многие возможности для оптимизации не проявятся без подстановки. И программист будет вынужден нарушать парадигму форта (и не только форта) "много коротких определений" в погоне за быстродействием.
Сообщение Добавлено: Сб окт 09, 2010 18:16

Часовой пояс: UTC + 3 часа [ Летнее время ]


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB