Size: a a a

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

2020 February 26

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
верхнюю функцию скомпилил без флага - 6800мс
потом обе с флагом, верхняя столько же в пределах погрешности, а нижняя 6100. Но это вряд ли из-за симда, а скорее из-за лучшего порядка доступа к памяти(циклы в другом порядке)
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
может кто-то подскажет, что я сделал не так?
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
А еще у меня очень интересный вопрос возник:
в васме вектор создается из 4х любых значений, в то время когда в том же интел, насколько я знаю, данные должны располагаться последовательно в памяти для успешной векторизации и их итрисики принимают указатель на первый элемент в памяти. Ну и вот инетересно, насколько эффективно васм использует симд команды процессора
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
А right, left и res у тебя точно выровнены по границе 16-байт в памяти? В смысле пользуешься ли ты _aligned_malloc и _aligned_free или обычными malloc / new
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
обижаешь?)
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
конечно
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
окей. Ну мало ли)
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
А в native какое соотношение производительности со скаляром и с вектором?
источник

ВГ

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

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
тут еще острее встает вопрос о параметрах функции
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
почему в них можно пихать любые данные
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
и они даже не по ссылке передаются
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
то есть по идее копируются в функцию
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
это же очень сильно тратит время
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ну вместо wasm_make там должен быть wasm_v128_load очевидно)
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
MaxGraey
Ну вместо wasm_make там должен быть wasm_v128_load очевидно)
я тоже в эту сторону думал
источник

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
источник

ВГ

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

ВГ

Вячеслав Гук in WebAssembly — русскоговорящее сообщество
и лоды не работают
источник