Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пн авг 20, 2018 07:28

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ 1 сообщение ] 
Автор Сообщение
 Заголовок сообщения: Глазковая оптимизация в Форте
СообщениеДобавлено: Вт июл 24, 2018 00:22 
Не в сети

Зарегистрирован: Чт янв 07, 2016 19:14
Сообщения: 585
Благодарил (а): 0 раз.
Поблагодарили: 3 раз.
Оптимизатор работает как библиотека.
На данный момент при подключении сего творения (~er\opt\optimaizer.f) в контексте появится врем. словарь, в котором и содержатся обработчики оптимизаций.

Что сейчас есть:
Замена арифметических и пр. операций на итоговое значение.
К примеру вместо последовательности 10 2 * 5 + в коде сразу будет 25
Как это ни странно, но оптимизатор Новы тут несколько предсказуемей СПФа (вбейте в последнем : TEST 200 10 / ; и посмотрите дизассемблером)

Замена операций со стеком возвратов, пользовательскими переменными...
Замена операций со стеком данных. Внезапно, их всего две, да и то сделаны под нужды самого оптимизатора.

Замена условий IF и WHILE
Оптимизировал только более-менее часто встречающиеся варианты в своём коде. Вариантов на самом деле уйма.

И немного мелочи.
Тестовая компиляция выявила уменьшение объёма откомпилированных библиотек где-то на 2 кб. (без оптимизатора 14 кб).

_________________
Цель: сделать 64-битную Нову под Винду


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ 1 сообщение ] 

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


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

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