Size: a a a

Rust — русскоговорящее сообществo

2020 March 08

A

Adevald in Rust — русскоговорящее сообществo
Andrei 🦉 Sergeev
lua jit при хороших вводных имеет производительность сравнимую с сишкой
А что это значит - хорошие вводные
источник

A

Adevald in Rust — русскоговорящее сообществo
Ты имеешь ввиду данные вводные хорошо структурированные?
источник

AS

Andrei 🦉 Sergeev in Rust — русскоговорящее сообществo
Adevald
А что это значит - хорошие вводные
значит, что код написан так, что хорошо jit'ится и не забивает память множеством объектов, от которых вешается довольно тупой lua gc
источник

AS

Andrei 🦉 Sergeev in Rust — русскоговорящее сообществo
и да, lua jit быстрее современных js движков при прочих равных
источник

A

Adevald in Rust — русскоговорящее сообществo
Andrei 🦉 Sergeev
значит, что код написан так, что хорошо jit'ится и не забивает память множеством объектов, от которых вешается довольно тупой lua gc
Я предполагал писать в data oriented design, по сути все данные будут создаваться и обрабатываться на самом расте, luajit будет просто бизнес логикой дёргать за данные, читать, изменять и прочее
источник

A

Adevald in Rust — русскоговорящее сообществo
Andrei 🦉 Sergeev
и да, lua jit быстрее современных js движков при прочих равных
Ну выбор у меня небольшой
источник

AS

Andrei 🦉 Sergeev in Rust — русскоговорящее сообществo
сказывается примитивность самого lua 5.1
источник

A

Adevald in Rust — русскоговорящее сообществo
Andrei 🦉 Sergeev
сказывается примитивность самого lua 5.1
Поэтому и быстрее?
источник

AG

Anastasia Gornostaeva in Rust — русскоговорящее сообществo
а какая разница с какой скоростью оно пропалывает данные, если главное - долгоживущие живые системы, а не мелкие примитивные утилиты
источник

A

Adevald in Rust — русскоговорящее сообществo
Anastasia Gornostaeva
а какая разница с какой скоростью оно пропалывает данные, если главное - долгоживущие живые системы, а не мелкие примитивные утилиты
Мы не об этом
источник

AS

Andrei 🦉 Sergeev in Rust — русскоговорящее сообществo
Adevald
Я предполагал писать в data oriented design, по сути все данные будут создаваться и обрабатываться на самом расте, luajit будет просто бизнес логикой дёргать за данные, читать, изменять и прочее
тут может быть проблема с тем, что взаимодействие с растом по ffi будет медленным относительно остального кода, т.к. оно не jit'итится

с другой стороны быстрее и проще в интеграции скриптового языка всё равно нет
источник

A

Adevald in Rust — русскоговорящее сообществo
Ну то есть технически можно будет разделить допустим часть функционала которая работает с данными изнутри, а часть допустим являются функциями самого JIT, который просто через интерфейс (или его растовские аналоги, я пока в процессе постижения) получает требуемые данные
источник

A

Adevald in Rust — русскоговорящее сообществo
Таким образом у нас большинство тяжеловесной логики остаётся на внутренних системах раста (Entity Component System), а часть лёгкой логики можно вынести в луа допустим
источник

A

Adevald in Rust — русскоговорящее сообществo
Andrei 🦉 Sergeev
тут может быть проблема с тем, что взаимодействие с растом по ffi будет медленным относительно остального кода, т.к. оно не jit'итится

с другой стороны быстрее и проще в интеграции скриптового языка всё равно нет
какие подводные?
источник

AS

Andrei 🦉 Sergeev in Rust — русскоговорящее сообществo
Adevald
какие подводные?
подводный камень ровно один:
чтобы запустить всю эту конструкцию нужно будет запускать lua скрипт с помощью lua jit, растовый код подгружать в виде so и из lua уже дёргать экспортированные методы раста
источник

A

Adevald in Rust — русскоговорящее сообществo
То есть нельзя сделать так чтобы Rust сам запускал луашечные скрипты, а именно чтобы скрипты запускали растовые либы? Какой то ужас прямо
источник

IA

Ivan Azoyan in Rust — русскоговорящее сообществo
Adevald
То есть нельзя сделать так чтобы Rust сам запускал луашечные скрипты, а именно чтобы скрипты запускали растовые либы? Какой то ужас прямо
В плюсах можно. С растом думаю тоже
источник

A

Adevald in Rust — русскоговорящее сообществo
Ivan Azoyan
В плюсах можно. С растом думаю тоже
А в расте почему нет? Даже черех ансейф какой-нибудь?
источник

AS

Andrei 🦉 Sergeev in Rust — русскоговорящее сообществo
Adevald
То есть нельзя сделать так чтобы Rust сам запускал луашечные скрипты, а именно чтобы скрипты запускали растовые либы? Какой то ужас прямо
для этого нужно смотреть как из раста можно работать с lua jit
я ничего готового не видел, а описанный выше метод я уже применял в тарантуле (подключал библиотеку на расте)
источник

A

Adevald in Rust — русскоговорящее сообществo
Andrei 🦉 Sergeev
для этого нужно смотреть как из раста можно работать с lua jit
я ничего готового не видел, а описанный выше метод я уже применял в тарантуле (подключал библиотеку на расте)
Ну вот, всего лишь не видел. Это было бы очень странно если бы так нельзя было сделать, потому что эта метожика была реализована уже много где и не один раз.
источник