Size: a a a

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

2019 November 26

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
на стейдж 3 (имплементация) попадет не раньше, чем через полгода
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
ну точнее самое раннее — в марте, но это маловероятно. и еще ничего не говорит о том, когда Typed Objects зашевелится
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
так что я бы больших надежд на 2020 не строил
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Да я вообще считаю, что wasm GC абсолютно переоценен. Многие думают, что вот только его для счастья не хватает и тут же Go станет в 10 раз меньше весить, Python Ruby и прочие будут сразу как AOT компилиться) Проблема в том, что GC сможет манипулировать только ref types и возможно tuplets и records. А теперь посмотрите на ref types proposal и скажите что он полезен=) Возможно и полезен в 5-10% случаев, когда нужно прокинуть из внешего импорта сравнить это с нулем, возможно достать какое то свойство через ревлексию (что весьма накладно) и отправить его дальше если нужно как параметр для экпортов. Это opaque тип, вы с ним ничего интерестного непосредственно сделать не сможете и тем более на основе него строить все managed объекты=) Пфф. Это будет чудовишно медленно и со здоровенным оверхедом так же по размеру кода
источник

OS

Oleg Shelajev in WebAssembly — русскоговорящее сообщество
Ну нужно просто лучше гц правда?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Allocation of data structures that are garbage collected
   Allocation of byte arrays that are garbage collected
   Allow heap values from the embedder (e.g. JavaScript objects) that are garbage collected
   Unboxing of small scalar values
   Down casts as an escape hatch for the low-level type system
   Explicit low-level control over all runtime behaviour (no implicit allocation, no implicit runtime types)
   Modular (no need for shared type definitions etc.)

1) Down casts as an escape hatch for the low-level type system
- это про tuplets / records. Сложный вложенный JSON вы передать или создать так не сможите

2) Allow heap values from the embedder (e.g. JavaScript objects) that are garbage collected
 Вот это как раз про ref types
источник

AT

Alexander Tchitchigin in WebAssembly — русскоговорящее сообщество
> Unboxing of small scalar values

Уверен, что это про инты и флоаты. 😊
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
MaxGraey
Да я вообще считаю, что wasm GC абсолютно переоценен. Многие думают, что вот только его для счастья не хватает и тут же Go станет в 10 раз меньше весить, Python Ruby и прочие будут сразу как AOT компилиться) Проблема в том, что GC сможет манипулировать только ref types и возможно tuplets и records. А теперь посмотрите на ref types proposal и скажите что он полезен=) Возможно и полезен в 5-10% случаев, когда нужно прокинуть из внешего импорта сравнить это с нулем, возможно достать какое то свойство через ревлексию (что весьма накладно) и отправить его дальше если нужно как параметр для экпортов. Это opaque тип, вы с ним ничего интерестного непосредственно сделать не сможете и тем более на основе него строить все managed объекты=) Пфф. Это будет чудовишно медленно и со здоровенным оверхедом так же по размеру кода
вообще там стракты и массивы собираются
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
их комбинации достаточно для того, чтобы сложную структуру передать
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
> Сложный вложенный JSON вы передать или создать так не сможите

а джейсон — это ваще строка)
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ҫѐҏӗѫӑ Ҹҋ 🤖
> Сложный вложенный JSON вы передать или создать так не сможите

а джейсон — это ваще строка)
я про десериализированный JSON, понятное дело что это текстовый формат
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Не точно выразился - скорее не JSON а просто вложенная структура
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
> Unboxing of small scalar values

Уверен, что это про инты и флоаты. 😊
Это про i31ref. Я промазал с пунктом)
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
В общем GC spec слишком амбициозная. Я даже уже и забыл сколько всего там предлагается. А учитывая с какими трудностями вкатываются такие вещи как anyref хотя бы, то болюсь GC мы еще года два будем ждать в лучшем случае
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
там есть что декомпозировать
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
думаю, что разобьют на еще несколько пропозалов
источник
2019 November 27

SK

Slava Kuzmich in WebAssembly — русскоговорящее сообщество
MaxGraey
Не точно выразился - скорее не JSON а просто вложенная структура
А в чем сложнось вложенные структуры создавать и передовать? И при чем тут down casts?
Казалось бы, поля структур и массивов могут ссылаться на другие структуры и массивы
источник

SK

Slava Kuzmich in WebAssembly — русскоговорящее сообщество
MaxGraey
Да я вообще считаю, что wasm GC абсолютно переоценен. Многие думают, что вот только его для счастья не хватает и тут же Go станет в 10 раз меньше весить, Python Ruby и прочие будут сразу как AOT компилиться) Проблема в том, что GC сможет манипулировать только ref types и возможно tuplets и records. А теперь посмотрите на ref types proposal и скажите что он полезен=) Возможно и полезен в 5-10% случаев, когда нужно прокинуть из внешего импорта сравнить это с нулем, возможно достать какое то свойство через ревлексию (что весьма накладно) и отправить его дальше если нужно как параметр для экпортов. Это opaque тип, вы с ним ничего интерестного непосредственно сделать не сможете и тем более на основе него строить все managed объекты=) Пфф. Это будет чудовишно медленно и со здоровенным оверхедом так же по размеру кода
С колокольни языков с JVM-подобной моделью памяти:  Все языковые managed объекты не стоит делать из opaque JS anyref. Предпологается, что они будут состоять из структур и массивов, состоящих из чисел и ссылок на структуры, массивы и функции.
Но ссылки на JS значения полезны, когда прогрмма хочет целенаправленно взаимодействовать с JS. Рефлексию использовать не обязательно. Можно импортировать в Wasm API для работы с этими обектаи и выражать их в языке, например, как классы.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Slava Kuzmich
А в чем сложнось вложенные структуры создавать и передовать? И при чем тут down casts?
Казалось бы, поля структур и массивов могут ссылаться на другие структуры и массивы
Сейчас уже кое что проясняется, просто последний раз когда я смотрел спецификацию было много белых пятен, сейчас даже некий прототип появился
https://github.com/WebAssembly/gc/blob/master/proposals/gc/MVP.md
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
мвп дока там очень давно
источник