LINUX.ORG.RU

multimath - обертка для WASM, клепать мелкие числодробилки

 


0

1

https://github.com/nodeca/multimath

Почти допилили обертку, которая должна по идее упростить клепание мелких числодробилок на webassembly. Делалось именно ради компактности. Если она не нужна - используйте emcc, с генерацией кода в wasm и asmjs одновременно.

Зачем умеет этот лисапед:

1. Позволяет создавать код с фолбеками на JS.
2. Упрощает управление памятью.
3. Скрывает всю магию wasm api.

В качестве примера сделан фильтр «unsharp mask».

Кому интересно - смотрите, спрашивайте.

★★★★★

Последнее исправление: Vit (всего исправлений: 1)
Ответ на: комментарий от Bad_ptr

Напиши протест в лигу защиты LLVM

Vit ★★★★★
() автор топика

Годнота, я так понимаю сильных измерений не произошло, а был таки добит unsharp )) и стабилизировался сам multimath да?

Cast DELIRIUM как я понимаю это одна из штук которая вам может очень и очень пригодиться по скрещиванию ужа с ежиком )

Dron ★★★★★
()
Ответ на: комментарий от Dron

Там другое, именно обертка нормальная, которой раньше не было.

Vit ★★★★★
() автор топика

обертка для WASM

запомни, юноша, WASM - это watcom assembler, а web assembly - это web assembly

anonymous
()
Ответ на: комментарий от anonymous

да, вот именно так. а то я смотрю - написано WASM. заглянула в тему, а тут вебня какая-то...

Iron_Bug ★★★★★
()
Ответ на: комментарий от DELIRIUM

Уооо, клёво )) Я рад что всё получилось =)

Dron ★★★★★
()
Ответ на: комментарий от Iron_Bug

Оно из С компилируется в web assembler посредством llvm, с верху обёртка на js что бы это запускать в браузере, Си можно заменить на Rust или другое поддерживаемое.

Dron ★★★★★
()
Последнее исправление: Dron (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

открой секрет, зачем нужна числодробилка на жабаскрипте и в вебе?

Как живой пример это изменять размер изображения и фильтровать картинку на клиенте.

Dron ★★★★★
()
Ответ на: комментарий от Dron

значит, это не С. ладно, мне это точно неинтересно. это не С и не ассемблер. это веб и обычный жабаскрипт.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Dron

ага, ещё больше грузить проц, который и без того сожран фурифоксом, скриптами и прочим подобным? впрочем, я так понимаю, что весь этот псевдоассемблер можно отключить в браузере и он просто не будет работать.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

Да, можно включать и отключать. Но цель его таки снизить нагрузку за счёт «нативного» выполнения отдельных частей web откомпилированных в web assembler.

Ну для полноты картины я поясню немножечко. То есть суть такая, разработан web assembler для него отлажен llvm бэкенд и clang и теперь в идеале мы можем не касаться js для исполнения некоторых (в теории многих) задач на клиенте и для разработки уже всплывает вот такая картина.

Мы берём любой поддерживаемый в llvm язык, С/С++/Rust/Go и тому подобное и просто пишем на них то что нам нужно исполнить на клиенте это всё clang/llvm преобразуют в бинарный wasm который мы например спомощью уже например multimath прикручиваем к сайту/приложению дополнительно учитывая что не каждый клиент может в web assembler именно поэтому Vit сделал так что-бы мы имели 2 реализации на wasm и js и в зависимости от поддержки клиента использовали или нет этот wasm, сам же wasm это байт код исполняемый в виртуальной машине, вернее там происходит ещё одна компиляция в нативный код. В итоге

Любой язык -> компиляция в wasm -> обработка браузером -> исполнение на клиенте

Там много но, довольно много, например да мы можем использовать Сишку любимую, но вот просто так взять и юзать стандартную библиотеку не получиться ... её просто негде взять =) Так что основной профит это уже сейчас и чуть далее в будущем прирост скорости (с ньюансами конечно :)) ) и возможность писать под веб не только на js, но на разных языках. В том числе переносить уже существующие приложения в web.

Только знаешь чего я боюсь? Так это того что вроде хорошая штука, но если она станет мейнстримом то в теории может появиться хайп на цифровое распространение приложений через web работающих на web assebler. Это будет эпик, но такого в виду всего можно ожидать, вернее даже стоит ожидать и уже сейчас смотреть на изменение рынков и общие последствия от такого.

Dron ★★★★★
()
Последнее исправление: Dron (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

Например для обработки фотачек. Грамотно ужать пред аплоадом, зафейсдетектить.

На webassembly получается более стабильно, чем на жабаскрипте. И когда-нибудь туда завезут simd (а в жабаскрипт похоже нет).

Vit ★★★★★
() автор топика
Ответ на: комментарий от Iron_Bug

На кой его отключать? Код зафолбечится на жабаскриптовую имплементацию, будет менее стабильно и чуть медленнее.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

я не очень-то увлекаюсь фоточками. обработку если и использую, то пакетную, из командной строки. мне не нужно это делать в вебе. тем более посредством запуска непонятного софта на моей машине. обрабатывать картинки жабаскриптом и его подобиями неэффективно.

я без наезда. пусть кто хочет - тот пользует. но я считаю, что сишные утилиты это делают эффективнее и быстрее.

Iron_Bug ★★★★★
()
Последнее исправление: Iron_Bug (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

но я считаю, что сишные утилиты это делают эффективнее и быстрее.

Ну т.к. ты не используешь и тебе пофик, то считать ты можешь что угодно :)

А кто использует - имеет профит по нагрузке сервера и времени аплоада.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Vit

да не надо мне рассказывать. если не писать веб на пистонах и ставить кэширование - всё будет работать прекрасно. но не умеют просто. вымерли веб-программисты, остались вебмакаки. а им всегда будет мало ресурсов.

Iron_Bug ★★★★★
()
Ответ на: комментарий от Iron_Bug

если не писать веб на пистонах и ставить кэширование - всё будет работать прекрасно.

Не будет. Есть вещи которые выгоднее обрабатывать на клиенте. И я привел конкретные примеры.

Vit ★★★★★
() автор топика
Ответ на: комментарий от Iron_Bug

Тебе просто конкретный пример не привели, вот ты берёшь фотку и загружаешь её на лор как аватарку, фотка загружается в браузер сжимается до нужного размера и отправляется на сервер лора, профиты есть, во первых серверу после загрузки нужно просто сохранить маленькую картинку и всё во вторых у тебя всё произойдёт быстро так как ожидание на отправку снизится в разы. Это не для массовой обработки, а для разовой обработки чего либо (как в этом примере). Естественно не нужно упарываться и всё использовать только когда это в меру и оправданно. Я лишь согласен с тобой в том что сейчас ну слииишком много всего перекладывают на клиента, я думаю ты это имела в виду когда говорила про макак.

Dron ★★★★★
()
Ответ на: комментарий от Iron_Bug

К слову кэши кэшами, но сейчас всем динамику подавай. Тут сильно не покэшируешь.

Dron ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.