Size: a a a

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

2020 October 17

Г

Георгий in WebAssembly — русскоговорящее сообщество
и шо там функция есть типо free?
источник

К

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

К

Константин in WebAssembly — русскоговорящее сообщество
Если ты ещё не знаешь, то ты не можешь вернуть кусок памяти, который отодрал у браузера в васм-модуль.
Если ты там когда-то выделил 2гб, то ты так их и будешь держать пока модуль не выгрузить
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
а почему так?
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
разве как бы там, VirtualAlloc, VirtualFree вроде давно изобретены в винде как минимум
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Ну это уже как-то объяснялось, и что не так и сложно было сделать.
Я ща не найду, месяца 2 назад задавался вопрос:)
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
жесть канеш просто насчет ручного управления памятью
источник

Г

Георгий in WebAssembly — русскоговорящее сообщество
как будто в делфи вернулся
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ну в C++ как бы давно RAII завещено в умных указателей. Никто уже давно malloc / free не использует)
источник

Г

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

К

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

Г

Георгий in WebAssembly — русскоговорящее сообщество
хз, вроде всё удаляю, все равно память зажирается
источник

ZB

Zalim Bashorov in WebAssembly — русскоговорящее сообщество
MaxGraey
В отличии от JVM или JS где обычно JIT включается только выборочно для горячихз участков и происходят еще guard вставки (ловушки) для деоптимизации и провала в интерпретацию и т д. В общем в wasm jit всего этого нету и не нужно
Это пока так. На сколько я знаю, V8 так умеет, но по умолчанию не делает.
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Делает, если про JS
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Zalim Bashorov
Это пока так. На сколько я знаю, V8 так умеет, но по умолчанию не делает.
Не делает трасирующую JIT компиляцию с деоптимизациями или что?)
источник

К

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

К

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

M

MaxGraey in WebAssembly — русскоговорящее сообщество
MaxGraey
Не делает трасирующую JIT компиляцию с деоптимизациями или что?)
А ты про то, что он будет натравливать Turbofan только для горячих участков (функций) вместо всего модуля целиком) Нет, на сколько я знаю V8 для wasm так не умеет делать и вряд ли будет. У них там tiered компиляция Liftoff -> Turbofan паралельно. И делать это per-function есть смысл разве что на мобильных устройствах для экономии батареи.
источник

ZB

Zalim Bashorov in WebAssembly — русскоговорящее сообщество
MaxGraey
А ты про то, что он будет натравливать Turbofan только для горячих участков (функций) вместо всего модуля целиком) Нет, на сколько я знаю V8 для wasm так не умеет делать и вряд ли будет. У них там tiered компиляция Liftoff -> Turbofan паралельно. И делать это per-function есть смысл разве что на мобильных устройствах для экономии батареи.
Я где-то видел эксперименты с разными стратегиями переходами между тирами.
источник

ZB

Zalim Bashorov in WebAssembly — русскоговорящее сообщество
Гранулярность -- функция
источник