Size: a a a

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

2021 January 28

К

Константин in WebAssembly — русскоговорящее сообщество
Anon
Попробовал сделать пол миллиона симуляций мира в секунду, работает. Всё время забито аллокациями Vector2 и прочими штуками связанными с heap памятью, сами калькуляции меньше 5%. Эт многообещающий результат, особенно учитывая светлое будущее из пропозалов.
сделать пулл и не дергать GC
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Я не питаю надежд на wasm gc
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Надо бы. Я уже много че запулил, но недостаточно много эт точно.
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Multi-value мне кажется бы с этим прямо очень сильно помог. Но какбы работаем с тем что есть.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Anon
Попробовал сделать пол миллиона симуляций мира в секунду, работает. Всё время забито аллокациями Vector2 и прочими штуками связанными с heap памятью, сами калькуляции меньше 5%. Эт многообещающий результат, особенно учитывая светлое будущее из пропозалов.
Ну это решаемо через multi-value proposal либо scalar replacment оптимизацию (тоже планируется)
источник

ДЧ

Данил Черкашин... in WebAssembly — русскоговорящее сообщество
При компиляции c++ в wasm насколько wasm модуль медленнее работает чем нативный c++?
источник

DM

Dmitry M in WebAssembly — русскоговорящее сообщество
никто не скажет, нужно писать бенчмарки
источник

ДЧ

Данил Черкашин... in WebAssembly — русскоговорящее сообщество
Т.е. однозначно сказать нельзя?
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
Данил Черкашин
Т.е. однозначно сказать нельзя?
Однозначно можно сказать, что это очень сильно зависит от алгоритма на C++ и слегка зависит от рантайма.
источник

DM

Dmitry M in WebAssembly — русскоговорящее сообщество
а ещё компилятора C++, и нет ли там инстринков
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Данил Черкашин
Т.е. однозначно сказать нельзя?
Это сильно зависит от алгоритма и рантайма на котором это крутиться. А еще от языка. Например native Go и wasm Go будут очень разительно отличаться по производлительности.

Если брать C/C++ то нужно компилировать и сравнивать в -O2. что бы не учитывать автовекторизацию
источник

ДЧ

Данил Черкашин... in WebAssembly — русскоговорящее сообщество
И кто быстрее?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Данил Черкашин
И кто быстрее?
Для Go? Go native значительно быстрее, потому как wasm Go это далеко не лучший пример кодогенерации для wasm. Так же как и blazor (C#). Немного получше дела обстоят у TinyGo
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
В wasmtime появиться возможность «gas metering»:
https://github.com/bytecodealliance/wasmtime/pull/2611
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Данил Черкашин
Т.е. однозначно сказать нельзя?
можно ориентироваться в среднем на просадку производительности в 1.3-2.5 раза
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
можно ориентироваться в среднем на просадку производительности в 1.3-2.5 раза
Тут нужно делать оговорку, что это для C/C++/Rust/TinyGo
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
вопрос вроде про плюсы был как раз
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
впрочем, самый последний бенчмарк, который я видел, был в том году
источник

M

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

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
но, почти наверное, ситуация в сравнении с нативным не сильно поменялось
источник