Size: a a a

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

2020 December 16

M

MaxGraey in WebAssembly — русскоговорящее сообщество
folex
Но это plain js код, не wasm, не раст
Да, но смотри глобальная переменная все равно нужна, видимо что бы не создавать лишний раз кортеж уже на стороне js они продолжили использовать это и дальше. Чисто из соображения производительности
источник

f

folex in WebAssembly — русскоговорящее сообщество
а, то есть чтобы не делать

function passStringToWasm0(...): (number, number), тк создание кортежа (number, number) не бесплатное?
источник

AF

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

M

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

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
ушлые
источник

AF

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

M

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

f

folex in WebAssembly — русскоговорящее сообщество
понял, принял. Жалко конечно, поддерживаемость кода и вообще возможность использовать этот код корректно сильно пострадали. Ну, чтож. Спасибо :) Буду мириться с этим
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Вообще, то что генерит wasm-bindgen иногда меня ставит в тупик. В одном месте экономия на спичках, в других местах какое то транжирование ресурсов
источник

MV

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

function passStringToWasm0(...): (number, number), тк создание кортежа (number, number) не бесплатное?
эм, это настолько сложно в ts?
источник

MV

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

f

folex in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
эм, это настолько сложно в ts?
js*
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
и multi-value тут не причём, потому что потом всё равно это (длина и размер строки) записывается в память для функции
источник

f

folex in WebAssembly — русскоговорящее сообщество
Ну я думаю что резонно им ишьюс запилить на эту тему.
источник

f

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

wasm_module.ts:
export func passStringToWasm0(...): number
export let WASM_VECTOR_LEN: number;

и затем я это использую

let ptr0 = passStringToWasm0("bigStringHereForSure");
let len0 = WASM_VECTOR_LEN
;

и len0 оказывается равна 0, хотя я добавил отладочный вывод в passStringToWasm0, и там видно что WASM_VECTOR_LEN = 52
источник

f

folex in WebAssembly — русскоговорящее сообщество
я в JS/TS не шарю, и by reference by value семантика меня там не первый раз бьёт по рукам. Но это прям больно.
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
она там не глобальная
источник

SR

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

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
что-то они там и не определились между var и let еще
источник

SR

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