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

...
Google Search
Forth-FAQ Spy Grafic

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




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: WebAssembly
СообщениеДобавлено: Сб янв 09, 2021 19:12 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
https://webassembly.github.io/spec/core/

Что интересно - в основе опять стековая машина. Она не напрямую соответствует Форту, поскольку отсутствуют стековые манипуляторы (впрочем, drop присутствует в явном виде). Однако же для команд ВМ приведена непосредственно стековая нотация.

WebAssembly, согласно публикуемым материалам, не предназначена для замены существующих языков. Вместо этого многие языки транслируются в wasm, а коды выполняются браузерами. В этом смысле Форт мог бы выступать в качестве входного языка, трансляция из которого будет довольно простой.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: WebAssembly
СообщениеДобавлено: Сб янв 09, 2021 19:47 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1395
Благодарил (а): 3 раз.
Поблагодарили: 50 раз.
Hishnik писал(а):
https://webassembly.github.io/spec/core/

Что интересно - в основе опять стековая машина. Она не напрямую соответствует Форту, поскольку отсутствуют стековые манипуляторы (впрочем, drop присутствует в явном виде). Однако же для команд ВМ приведена непосредственно стековая нотация.

Наверное черпали вдохновление смотря на Java byte code и CLI (C#) и фиг ещё знает что. :)
А, про DUP почему забыли? (и другие стэковые операторы)
Hishnik писал(а):
WebAssembly, согласно публикуемым материалам, не предназначена для замены существующих языков. Вместо этого многие языки транслируются в wasm, а коды выполняются браузерами. В этом смысле Форт мог бы выступать в качестве входного языка, трансляция из которого будет довольно простой.

корни WebAssembly, возможно, уходят ещё и к Tamarin Tracing (JS V8)

P.S. Вот когда аппаратно выведут стековую Форт архитектуру в поле массового использования тогда и можно будет что обсуждать. :)


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

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
KPG писал(а):
Вот когда аппаратно выведут стековую архитектуру в поле массового использования тогда и можно будет что обсуждать.

И зачем вдруг такое? Для достижения пиковой производительности именно на Форте? Так она объективно не достигается, поскольку увеличение количества адресов (индексов) в команде способствует увеличению производительности. Стек - бутылочное горлышко для вычислений. С помощью процессоров с аппаратным стеком можно увеличивать производительности кода на Форте, если уж такой код откуда-то взялся по другим соображениям, но соображений брать именно Форт для высокой производительности нет.

На современном этапе производительность основана на корректном применении связки CPU/GPU/FPGA в необходимых сочетаниях. Бессмысленно даже начинать проект, который на Форте обгонит GPU в построении трехмерных изображений, однако вызывать код для GPU можно из разных языков. Фреймворки на Питоне уже достаточно распространены для самых разных платформ - просто для того, чтобы облегчить вхождение в технологию, не заставляя людей учить HDL или nvcc. Так что и фреймворк в виде DSL на базе Форта вполне представим. Делать из него непременно низкоуровневый сверхбыстрый код (а то и вообще Форт-ОС) - совершенно другая задача с крайне сомнительными перспективами, и нет смысла утыкаться в нее, игнорируя действительно перспективные подходы.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: WebAssembly
СообщениеДобавлено: Сб янв 09, 2021 20:09 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 1395
Благодарил (а): 3 раз.
Поблагодарили: 50 раз.
Hishnik писал(а):
И зачем вдруг такое? Для достижения пиковой производительности именно на Форте?

Хотя бы, в переложении кода на регистры, добавить подсказок JIT по дальнейшему использованию копий регистров из стэкового пула.

P.S. По поводу производительности стэкового кода - как его смогли ускорить в Java Jit?
А, как насчёт бутылочного горлышка x86 комманд и их постоянного ускорения?

Hishnik писал(а):
Фреймворки на Питоне уже достаточно распространены для самых разных платформ - просто для того, чтобы облегчить вхождение в технологию, не заставляя людей учить HDL или nvcc.

Чем Бэйсик с этих позиций был плох?


Последний раз редактировалось KPG Сб янв 09, 2021 20:17, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: WebAssembly
СообщениеДобавлено: Сб янв 09, 2021 20:11 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7197
Благодарил (а): 19 раз.
Поблагодарили: 122 раз.
KPG писал(а):
Хотя бы, в переложении кода на регистры, добавить подсказок JIT по дальнейшему использованию копий регистров из стэкового пула.

Ничего не понял. Что писать-то на этом всем? Какие регистры, что и куда? Сегодня ситуация такая - wasm предназначен для запуска промежуточного кода, генерируемого разными языками. При чем тут отсутствие стековой архитектуры в поле массового использования?


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

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


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

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


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

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