Size: a a a

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

2020 October 27

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
В AssemblyScript добавили StaticArrays? Они наверно шустрее намного?
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Я все про задачу в контексте кидаться туда-сюда массивами.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🍣
В AssemblyScript добавили StaticArrays? Они наверно шустрее намного?
Да, они без буфера и стало быть без indirect access. И соответственно у них нету push, pop, slice, splice.
источник

M

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

P🍣

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

M

MaxGraey in WebAssembly — русскоговорящее сообщество
MaxGraey
Но это все равно медленее чем кортежи, которые тоже возможно скоро появятся
Мы просто ждали пока во все рантаймы завезут multi-values
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🍣
Кажется в прошлый раз мне из-за этой проблемы пришлось глобалки делать. Хотелось максимум скорости, но код получался довольно криповый.
тогда лучше подождать кортежи
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
MaxGraey
Мы просто ждали пока во все рантаймы завезут multi-values
А у них синтаксис как у статик массивов наверно будет? Это же поддержка со стороны браузера как я понимаю даже?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🍣
А у них синтаксис как у статик массивов наверно будет? Это же поддержка со стороны браузера как я понимаю даже?
там синтаксис будет такой же как и в TS:
type Tuple = [f64, f64];
или
type Tuple = [i32, string];

для рекордов:
type Record = { x: f64, y: f64 }

Но там есть нюянсы. возможно придеться делать как то так: type Record = readonly { x: f64, y: f64 }
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Забавно, примерно так устроены шейпы в v8 для оптимизации/деоптимизации.
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Хотя wasm все равно не будет оптимизироваться, коэшн. Он уже.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🍣
Забавно, примерно так устроены шейпы в v8 для оптимизации/деоптимизации.
Вообще никакой аналогии. Это все идиоматичный TS: https://www.typescriptlang.org/docs/handbook/basic-types.html#tuple
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Ок👌
источник

Constantine ʕ◔ϖ◔ʔ🦀... in WebAssembly — русскоговорящее сообщество
источник

Constantine ʕ◔ϖ◔ʔ🦀... in WebAssembly — русскоговорящее сообщество
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
А теоретически можно сделать васм таким, что бы написаный уже на нем код переиспользовать в другом коде/языке и при этом в одной песочнице?
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
Тупой вопрос но актуальный, может его задать где нибудь не тут?
источник

d

diabolo in WebAssembly — русскоговорящее сообщество
Pavel 🍣
А теоретически можно сделать васм таким, что бы написаный уже на нем код переиспользовать в другом коде/языке и при этом в одной песочнице?
а как он по твоему запускается в браузере?
источник

P🍣

Pavel 🍣 in WebAssembly — русскоговорящее сообщество
diabolo
а как он по твоему запускается в браузере?
Стэк машина получает на вход данные и название функции, функция находится в таблице, выполняется и остается ответ.
источник

PP

Petr Penzin in WebAssembly — русскоговорящее сообщество
Pavel 🍣
А теоретически можно сделать васм таким, что бы написаный уже на нем код переиспользовать в другом коде/языке и при этом в одной песочнице?
Function-as-a-service вроде бы это как раз и делает
источник