Size: a a a

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

2021 February 01

A

Anon in WebAssembly — русскоговорящее сообщество
MaxGraey
можно попробовать добавить @unmanaged декоратор для класса, но он мог поламаться после недавних изменений (редко когда используется)
Вроде работает, я чекнул и приложение простояло довольно долго не порождая черную дыру.
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Но смысла от этого оказалось мало или вовсе нет. TLSF аллокации это всё равно дорого.
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Хочу multi-value >:|
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Anon
Хочу multi-value >:|
Для моего юз-кейса, именно он должен забить последний гвоздь в крышку гроба JS при сравнении производительности с AS.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Anon
Но смысла от этого оказалось мало или вовсе нет. TLSF аллокации это всё равно дорого.
ты выиграл 50 микросекунд на один collect вызов? А насколько ьыстрее стало в плане времени на один фрейм?
источник

A

Anon in WebAssembly — русскоговорящее сообщество
MaxGraey
ты выиграл 50 микросекунд на один collect вызов? А насколько ьыстрее стало в плане времени на один фрейм?
А вот незнаю, можно побенчмаркать.
источник

A

Anon in WebAssembly — русскоговорящее сообщество
MaxGraey
ты выиграл 50 микросекунд на один collect вызов? А насколько ьыстрее стало в плане времени на один фрейм?
Сложно всё это замерять, впрочем вот релятивные размеры когда в симуляции почти ничего нет. Думаю когда объектов и математики будет намного больше, то результат обернется в обратную сторону.
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Первый _collect это mark фаза, второй sweep.
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Я для себя решил что не буду ниче оптимизировать, т.к. когда вы добавите multi-value, все мои оптимизацию всё равно пойдут под снос.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Anon
Сложно всё это замерять, впрочем вот релятивные размеры когда в симуляции почти ничего нет. Думаю когда объектов и математики будет намного больше, то результат обернется в обратную сторону.
В смысле сложно? просто сделать что то вроде:

t = performance.now()
update();
t = performance.now() - t
console.log(`time: ${t} ms`);
источник

A

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

M

MaxGraey in WebAssembly — русскоговорящее сообщество
заметь я не предлагаю делать console.time/consoel.timeEnd. Так как когда открывается консоль в хроме идет просадка производительности ввиду того что v8 переключается на liftoff для wasm
источник

A

Anon in WebAssembly — русскоговорящее сообщество
MaxGraey
В смысле сложно? просто сделать что то вроде:

t = performance.now()
update();
t = performance.now() - t
console.log(`time: ${t} ms`);
Точные данные подъехали:
Симуляция без высвобождения памяти 0.50 микросекунд.
Симуляция с ручным высвобождением 0.63 микросекунды.
GC collect занимает 22.2 микросекунды.
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Всё-таки это огромный вин.
источник

Г

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

A

Anon in WebAssembly — русскоговорящее сообщество
Ну смотря как часто GC collect вызывать
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Если каждый фрейм, то вин в 40 раз.
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Опять же щас у меня там почти ничего нет. Как только будет много объектов и больше математики, будет далеко не такой большой профит.
источник

DM

Dmitry M in WebAssembly — русскоговорящее сообщество
много объектов это сколько в килобайтах?
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Щас 1 объект, дай бог 100 байт наберётся.
источник