Size: a a a

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

2021 January 22

A

Abnessor in WebAssembly — русскоговорящее сообщество
MaxGraey
Ну если пиковое потребление памяти не привысит 2 ** 31 байт то проблем не должно быть
недавно на плэйканвасе (да оффтоплю) на скорую руку сделал освещение лабиринта рандомного с тенями
у меня все норм было, а вот жена зашла, у нее хром упал, ибо у нее только 16гигов рамы было...
источник

A

Anon in WebAssembly — русскоговорящее сообщество
MaxGraey
Ну если пиковое потребление памяти не привысит 2 ** 31 байт то проблем не должно быть
Чет у меня хром при выделении больше 1 гигабайта под wasm ошибку давал... Вродебы.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Abnessor
недавно на плэйканвасе (да оффтоплю) на скорую руку сделал освещение лабиринта рандомного с тенями
у меня все норм было, а вот жена зашла, у нее хром упал, ибо у нее только 16гигов рамы было...
Ну это хром) Он кушает память как печеньки
источник

A

Anon in WebAssembly — русскоговорящее сообщество
Кеш на кеше, пул на пуле, брат за брата.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Anon
Кеш на кеше, пул на пуле, брат за брата.
all inclusive прям в Стамбуле
источник

DP

Defragmented Panda in WebAssembly — русскоговорящее сообщество
во сколько раз wasm код медленнее нативного кода типа с++? 2? 4? 16?

если оба оптимально написаны. в среднем

т.е. wasm - это как джава vm или скорее как си код? или как питон интерпретатор по скорости?
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Defragmented Panda
во сколько раз wasm код медленнее нативного кода типа с++? 2? 4? 16?

если оба оптимально написаны. в среднем

т.е. wasm - это как джава vm или скорее как си код? или как питон интерпретатор по скорости?
Все очень сильно зависит от движка (vm). Ели мы говорим про V8. то там очень много чего еще нужно сделать что бы он дошел до предела своих возможностей. Если рассматривать идеальный случай, то wasm даже иногда может быть быстрее натива:
https://twitter.com/whitequark/status/1264271231051878400
И это без simd
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
MaxGraey
Все очень сильно зависит от движка (vm). Ели мы говорим про V8. то там очень много чего еще нужно сделать что бы он дошел до предела своих возможностей. Если рассматривать идеальный случай, то wasm даже иногда может быть быстрее натива:
https://twitter.com/whitequark/status/1264271231051878400
И это без simd
Но если мы рассмвтриваем V8 движек в нынешнем виде, то это зачастую 1.5x-3.0x если сравнимать без simd.
источник

DP

Defragmented Panda in WebAssembly — русскоговорящее сообщество
спасибо!
источник

A

Anon in WebAssembly — русскоговорящее сообщество
MaxGraey
Все очень сильно зависит от движка (vm). Ели мы говорим про V8. то там очень много чего еще нужно сделать что бы он дошел до предела своих возможностей. Если рассматривать идеальный случай, то wasm даже иногда может быть быстрее натива:
https://twitter.com/whitequark/status/1264271231051878400
И это без simd
Лол, у Wasm получается есть все шансы обогнать скомпиленый код на Cи.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Anon
Лол, у Wasm получается есть все шансы обогнать скомпиленый код на Cи.
не для всех кейсов. Как я понимаю wasm может быть быстрее за счет лучшей утилизации кеша (32-битные указатели - соответственно в два раз больше на кеш данных). Еще за счет того, что wasm vm обычно использет все нативные интрукции современного процессора, в то, время как нативный модуль обычно собирают под усредненную (generic) архитектуру
источник

A

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

A

Anon in WebAssembly — русскоговорящее сообщество
Ну если примерно на уровне - то о лучшем и не мечтали.
источник

DM

Dmitry M in WebAssembly — русскоговорящее сообщество
Я сравнил Go с wasmer-go+AS в вычислении мандельброта из примеров AS(1920×1080)
BenchmarkNaive-12                7   143801703 ns/op
BenchmarkAssembly-12             8   131174447 ns/op


wasm быстрее на 10ms. Но если дернуть GCCGO
BenchmarkNaive-12                9   114142582 ns/op
BenchmarkAssembly-12             8   131802592 ns/op
источник

DB

Dmitry Bezhetskov in WebAssembly — русскоговорящее сообщество
@chicoxyzzy @maxgraey не знаете что мешает reference-types влиться в wasm spec master?
источник

DP

Defragmented Panda in WebAssembly — русскоговорящее сообщество
Dmitry M
Я сравнил Go с wasmer-go+AS в вычислении мандельброта из примеров AS(1920×1080)
BenchmarkNaive-12                7   143801703 ns/op
BenchmarkAssembly-12             8   131174447 ns/op


wasm быстрее на 10ms. Но если дернуть GCCGO
BenchmarkNaive-12                9   114142582 ns/op
BenchmarkAssembly-12             8   131802592 ns/op
спасибо. т.е. примерно одинаково
источник

DM

Dmitry M in WebAssembly — русскоговорящее сообщество
Defragmented Panda
спасибо. т.е. примерно одинаково
Тут нужно тестить конкретные кейсы. Т.к. я числодробилками не занимаюсь, то и адекватный тест не могу сделать.
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
У WebAssembly в JavaScriptCore появится JIT-less режим

Режим без JIT позволит исполнять #WebAssembly в JavaScriptCore (движке, используемом в WebKit/Safari) на платформах, которые не поддерживают B3 и Air оптимизаторы. В таких случаях будет использоваться только интерпретатор LLInt.

https://bugs.webkit.org/show_bug.cgi?id=220365
источник

SR

Sergey Rubanov in WebAssembly — русскоговорящее сообщество
Dmitry Bezhetskov
@chicoxyzzy @maxgraey не знаете что мешает reference-types влиться в wasm spec master?
только наличие имплементаций
источник

DB

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