Size: a a a

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

2021 September 22

AP

Andrey Pechkurov in WebAssembly — русскоговорящее сообщество
Спасибо
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Люк давно это уже представлял, новая итерация interface types :) (если вы думали что IT это сложно то у нас для вас плохие новости)
источник
2021 September 23

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Ещё это выносит вещи типа IT за пределы основной спеки
источник

К

Константин in WebAssembly — русскоговорящее сообщество
В реальности это в общем случае приведет к деградации в любом кейсе.
Даже если васопт не так много нагенерит инструкции, оптимизатор турбофана же в любом случае может добить анролинг до того, что сейчас имеем.
Те располосовал к примеру васмопт маленький луп на 4, а турбован его ещё в 5 раз больше анрольнул (с какой вероятностью) и все равно не попали в кеш.

Я конечно не совсем понял почему так не случилось с C кодом.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
> Даже если васопт не так много нагенерит инструкции, оптимизатор турбофана же в любом случае может добить анролинг до того, что сейчас имеем.

именно! это я и пытаюсь там объяснить
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
> Константин, [23 сент. 2021 г., 03:24:44 (23 сент. 2021 г., 03:28:10)]:
>...Я конечно не совсем понял почему так не случилось с C кодом.

просто не заинлайнился или оптимизация цуть лучше и компакнее вышла
источник

К

Константин in WebAssembly — русскоговорящее сообщество
кстати, надо просто зайти и посмотреть, чё это я :)
источник

К

Константин in WebAssembly — русскоговорящее сообщество
А насколько Rust генерит оверхеда? Я просто смотрю ruffle, и там Wasm бинарь около 5mb (у нас JS жатый терсером 2.5, хотя в поставке рафла вообще нету фактически AVM2 и as3 API (оно там около 40% всей кодовой базы))
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Думаю там много зависимостей. Кроме того Rust без no_std довольно жирненький в wasm, на порядок меньше чем go, но и не такой аскетичный как Zig или AssemblyScript
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
live
https://www.youtube.com/watch?v=yLd5SPlF0Bo

офигенный доклад от про Fluence Marine сейчас
источник
2021 September 24

LM

Lex Meshkov in WebAssembly — русскоговорящее сообщество
Добрый день. Я хочу запустить QR tracking в браузере. Для этого нашел js модуль zbar.wasm, который я подключаю к своему проекту в виде воркера. Вызываю оттуда функцию скана, замерил время выполнения с помощью console.time и пишет, что работает за 2-5 мс., но во вкладке performance, если посмотреть, то эта функция работает +-100 мс, так как всё время занимает js-to-wasm. Кто нибудь может подсказать, можно ли это как-то ускорить и что нужно сделать?
Я только начал смотреть в сторону wasm не совсем знаю как с ним правильно работать. Заранее спасибо
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Там долго работать будет захват картинки с камеры и трансфер этого дела в васм
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Ибо работает это так:

canvas.draw
canvas.getImageData
worker.postMessage(data, [data.bufferr])
wasm.heap.set(offset, data)
wasm.call
self.postMessage
источник

A

Alexandr Borisovich in WebAssembly — русскоговорящее сообщество
Это работает очень быстро. Реалтайм. Проблема просто в производительности васма.
источник

К

Константин in WebAssembly — русскоговорящее сообщество
5ms норм результаты
источник

К

Константин in WebAssembly — русскоговорящее сообщество
это не производительность васма, это интеропт
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Не двигай много данных js-wasm :) и часто
источник

A

Alexandr Borisovich in WebAssembly — русскоговорящее сообщество
Картинки прокидываются разве тоже с интеропом? Разве не просто доступ к памяти?
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Нет
источник