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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 18 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: ведь это неэффективно...
СообщениеДобавлено: Пт май 30, 2008 23:06 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 25, 2008 06:54
Сообщения: 27
Откуда: Украина
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
скомпилировал я пару программ на ФОрте. дизасмил и ... о ужас - вычисления прямо в стеке !!! почему? нет бы в регистры загрузить и там вычислять... одно слово обращается к другому - другое к еще другому... от этого CALL да CALL...
стек "эмулируется" - ведь только два стека.
ведь это все снижает скорость выполнения очень... никак с этим бороться нельзя?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Пт май 30, 2008 23:24 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Бороться можно разве что переходом ко всем прелестям оптимизирующего компилятора, мгновенно превратив Форт из простейшей программы в сложную. Догнать флагманские продукты в области компиляторов все равно не удастся, зато регулярность кода и возможность компиляции "на лету" потеряется. В действительности постоянные стековые операции - это не то, для чего обычно пишут программы на Форте. Сложные вычисления можно реализовать массой способов - ассемблерной вставкой, оформлением своей функции в виде dll, вызовом стандартных драйверов и библиотек ОС. Форт же в такой проект привнесет мощную консоль и возможность накручивать на заранее откомпилированный код любые скрипты.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ведь это неэффективно...
СообщениеДобавлено: Сб май 31, 2008 00:03 
Не в сети

Зарегистрирован: Вт май 09, 2006 12:31
Сообщения: 3438
Благодарил (а): 5 раз.
Поблагодарили: 16 раз.
Necromancer13 писал(а):
скомпилировал я пару программ на ФОрте. дизасмил и ... о ужас - вычисления прямо в стеке !!! почему? нет бы в регистры загрузить и там вычислять... одно слово обращается к другому - другое к еще другому... от этого CALL да CALL...
стек "эмулируется" - ведь только два стека.
ведь это все снижает скорость выполнения очень... никак с этим бороться нельзя?

Где-то тут была тема, что можно вызовы проигнорировать, скомпилировать так, чтобы слова "слить" в одно слово, без CALL - не помню где

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 00:05 
Также, можно бороться переходом к другому форт-транслятору (сложные форт-трансляторы тоже имеются).


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 00:09 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 25, 2008 06:54
Сообщения: 27
Откуда: Украина
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
В общем, я вот как понял это: Форт - сам язык. То, что неэффективные трансляторы не значит, что неэффективный Форт. :) Реально ведь написать и хороший транслятор... хотелось бы когда-то хот ьпопробовать этим заняться =)

_________________
Jabber: necromancer13.13@jabber.ru

Изображение


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 00:28 
(шепотом) а если процессор стековый, то очень даже эффективно получается. Никакой эмуляции ведь уже нет. А тут естественно будет медленно, т.к. процессор регистровый, а форт стековый.


Вернуться к началу
  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 00:50 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 25, 2008 06:54
Сообщения: 27
Откуда: Украина
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
а где можно достать такой процессор и сколько он ПРИМЕРНО стоит? :)

_________________
Jabber: necromancer13.13@jabber.ru

Изображение


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 01:34 
Не в сети

Зарегистрирован: Сб май 06, 2006 12:01
Сообщения: 959
Откуда: Украина, Харьков
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Есть ПЛИС (10-12$), на которых его можно сделать. Ну, программатор этой ПЛИС можно сделать за ~2$... Требует LPT.

_________________
With best wishes, in4.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 05:56 
Не в сети

Зарегистрирован: Сб май 13, 2006 23:37
Сообщения: 380
Благодарил (а): 1 раз.
Поблагодарили: 10 раз.
Или у фирмы Intellasys попросить. Настоящий форт процессор.


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 12:21 
Не в сети

Зарегистрирован: Ср май 03, 2006 11:27
Сообщения: 1394
Откуда: St.Petersburg
Благодарил (а): 2 раз.
Поблагодарили: 11 раз.
Хищник писал(а):
Бороться можно разве что переходом ко всем прелестям оптимизирующего компилятора, мгновенно превратив Форт из простейшей программы в сложную.


Когда я вставил оптимизатор в СПФ, все программы под СПФ без оптимизатора, остались работоспособными.
В крайнем случае, для специфического фрагмента оптимизатор можно отключить.

Хищник писал(а):
Догнать флагманские продукты в области компиляторов все равно не удастся, зато регулярность кода и возможность компиляции "на лету" потеряется.


Вопрос только в трудозатратах.
На данный момент, эффективность кода, скомпилированного СПФ, соизмерима с кодом MVC & GCC.
Чтобы значительно превзойти эти компиляторы мне потребуется на порядки меньше времени, чем вложенное
в один из этих компиляторов. Но и его у меня нет.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 12:25 
Не в сети

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

Ещё есть Intel C++ (как-то так...) и разные фортраны, кот. дают ещё более эффективный код. Но то, что теоретически оптимизация после форта проще - тут где-то обсуждалось.

_________________
понимаю некоторую бестолковость некоторых вопросов


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: ведь это неэффективно...
СообщениеДобавлено: Сб май 31, 2008 20:59 
Не в сети

Зарегистрирован: Сб май 06, 2006 18:43
Сообщения: 400
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
Necromancer13 писал(а):
ведь это все снижает скорость выполнения очень... никак с этим бороться нельзя?

странно, вроде в SP-FORTH оптимизатор из коробки встроен ? тут на форуме еще где-то было мерянье пиписьками оптимизаторного кода с кучей листингов :roll:

_________________
http://akps.ssau.ru/forth/


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Сб май 31, 2008 22:34 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 13:19
Сообщения: 3565
Откуда: St.Petersburg
Благодарил (а): 4 раз.
Поблагодарили: 72 раз.
Necromancer13 писал(а):
а где можно достать такой процессор и сколько он ПРИМЕРНО стоит?


Только что смотрел цену на минимальный Cyclone-III фирмы ALTERA - 16$

EP3C5 в 144-выводном корпусе
- 5136 логических ячеек
- 414 килобит внутренней памяти
- 23 встроенных умножителя 18x18
- 2 ФАПЧ (PLL)
- 94 I/O pins

на форт-процессор надо от 1000 до нескольких тысяч логических ячеек, т.е. в такoй ПЛИС можно разместить несколько форт-процессоров

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

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 01, 2008 20:44 
Не в сети
Аватара пользователя

Зарегистрирован: Вс май 25, 2008 06:54
Сообщения: 27
Откуда: Украина
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.
хыхы =) мне бы что-то типа маленького отдельного компьютера с таким процессором... ;)

_________________
Jabber: necromancer13.13@jabber.ru

Изображение


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: Вс июн 01, 2008 23:13 
а что мешает? ;) всего то 16 долларов. И останется только написать свой супер-пупер процессор с правом неприкосновенности :)
WingLion, стартер-киты же есть. И плату разводить не надо. только кристал запрограммировать


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

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


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

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


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

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