Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Ср апр 24, 2024 23:01

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вс янв 02, 2011 01:12 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
вопрос писал(а):
Цитата:
:lol: :mrgreen: :twisted:


ЧТо за эмоции?


Злой хохот до позеленения.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вс янв 02, 2011 15:20 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Надо верить в оригинальные идеи,
:(
впрочем, вера творит чудеса лишь до определённого предела
http://ru.wikipedia.org/wiki/Уилсон,_Морис


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вс янв 02, 2011 17:39 
Не в сети
Moderator
Moderator
Аватара пользователя

Зарегистрирован: Чт май 04, 2006 00:53
Сообщения: 5062
Откуда: был Крым, теперь Новосибирск
Благодарил (а): 23 раз.
Поблагодарили: 63 раз.
вопрос писал(а):
Надо верить в оригинальные идеи

не надо выплескивать ребенка вместе с водой из тазика!

_________________
Мне бы только мой крошечный вклад внести,
За короткую жизнь сплести
Хотя бы ниточку шёлка.
fleur


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вт янв 04, 2011 00:13 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
mOleg писал(а):
вопрос писал(а):
Надо верить в оригинальные идеи

не надо выплескивать ребенка вместе с водой из тазика!
Кажется, никто не проникся :(


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вт янв 04, 2011 00:35 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
Кажется, никто не проникся

По-моему, об этом в обсуждении уже слегка намекалось.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вт янв 04, 2011 01:20 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
перемены восприняты в штыки?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вт янв 04, 2011 01:38 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Какие перемены-то?

Было предложение обкорнать форт до нескольких невразумительных операций, непонятно почему названное "оптимизацией".
НЕПОНЯТНО!
Проще "соптимизировать" все раз и навсегда,
зафиксировав кнопку "RESET" в нажатом состоянии.

_________________
С уважением, WingLion
Forth-CPU . RuF09WE
Мой Форт
Отсутствие бана это не заслуга юзера, а недоработка модератора (с)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вт янв 04, 2011 01:41 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
вопрос писал(а):
перемены восприняты в штыки?

Не знаю, кто как, а я никак не воспринял :) У меня не возникло желания бросаться и все переделывать. Так что пожалуйста, можно пробовать ;)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Ср янв 05, 2011 12:10 
вопрос писал(а):
Вопрос таков - не кажется ли кому-то, что самая простая оптимизация в двух смыслах
1. читабельность и простота
2. скорость

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

Предположим, заинтересовались. А теперь самое главное как это будет выглядеть. К примеру есть такой код:
Код:
: A 2 ;
: B 3 ;
: +  *  ;
: ! . ;
A B + !

Приведите как будет выглядеть аналог при Вашей "самой простой оптимизации".

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

Для тех, кому со стеком работать не желается есть весьма хорошая библиотека
\ext\locals.f

325 строк исходника из которых первые 100 - хелп и примеры. И далее "что вперемешку лежит на стеке" помнить уже не обязательно...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Чт янв 06, 2011 20:43 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Не так легко привести пример
Я подумаю, нельзя ли с каким
простым фортом сделать
элементарные преобразования
чтобы посмотреть результат


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Чт янв 06, 2011 21:41 
вопрос писал(а):
Не так легко привести пример

Почему? Просто напиши как оно должно ВЫГЛЯДЕТЬ не обязательно с реализацией. Так и другим и тебе понятнее будет.
ЗЫ. А то может тебя не так поняли - мы ж не телепаты...


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вт янв 11, 2011 16:14 
Не в сети
Аватара пользователя

Зарегистрирован: Пт дек 26, 2008 21:16
Сообщения: 412
Откуда: Великий Новгород
Благодарил (а): 9 раз.
Поблагодарили: 4 раз.
ArtemKAD писал(а):
Почему? Просто напиши как оно должно ВЫГЛЯДЕТЬ не обязательно с реализацией. Так и другим и тебе понятнее будет.
ЗЫ. А то может тебя не так поняли - мы ж не телепаты...
Ну и зачем сам же сказал....
ArtemKAD писал(а):
Для тех, кому со стеком работать не желается есть весьма хорошая библиотека
\ext\locals.f
Вот оно и есть :!:


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вт янв 11, 2011 21:19 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
ну не совсем
я всё-таки думаю взять простенький форт на С
может тот же Рельф
какой смысл измышлять пример, который
никто никогда не запустит


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Вт янв 11, 2011 22:29 
вопрос писал(а):
какой смысл измышлять пример, который
никто никогда не запустит

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

ЗЫ. И не надо криво коситься на переопределение слов "!" и "+" - к примеру при запуске целевой компиляции переопределение стандартных слов весьма необходимо как и при работе с float-библиотекой.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения: Re: Самая простая оптимизация?
СообщениеДобавлено: Ср янв 12, 2011 00:26 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
: A 2 ; \ парсер не пропустит (нужно будет для этого подправить парсер)
: B 3 ; \ тоже не пропустит, т.к. всякое данное не остаётся на стеке
: + * ; \ поле для творчества - что делать с переименованием действия
: ! . ; \ т.е. зачем, собственно, переименовывать
A B + ! \ поскольку ! входит в оптимизирующи синтаксис - не пропустит

Правильно
2 CONSTANT A \ ведь в этом смысл
3 CONSTANT В \
0 VARIABLE X
A B + X ! X .

считаем грубо
вызовов в первом примере А В + * (внутренний вызов в +) ! .
6 вызовов
обращений к памяти в 1 примере
ни одного (или 2 если считать LITERAL)

вызовов во втором примере + .
всё остальное - обращения к памяти
А В Х X
Поскольку идущие подряд 2 обращения к одному и тому же имени можно соптимизировать. то,
вызовов 2
обращений к памяти - 3

но это неподходящий случай
настолко неподходящий, что я его потом вытру

в сартовом сообщении сказано, что этот метод оптимизации должен проявляться в коде с ветвлниями, циклами, массивами


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 65 ]  На страницу Пред.  1, 2, 3, 4, 5  След.

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


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

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


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

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