Консорциум W3C опубликовал черновой вариант новой спецификации, стандартизирующей промежуточного код WebAssembly 2.0 и связанный с ним API, позволяющий создавать высокопроизводительные приложения, переносимые между браузерами и аппаратными платформами. WebAssembly предоставляет не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения приложений, скомпилированных из различных языков программирования. Благодаря задействованию JIT для WebAssembly можно добиться уровня производительности близкого к нативному коду...Подробнее: https://www.opennet.ru/opennews/art.shtml?num=57052
Когда стандарт SVG 2.0 допилят?
С поддержкой wasm 2.0?
Ещё 1-ый не внедрили, а уже 2-ой запилили... На кой они так часто нужны?!
Не скажи. Штука полезная, если не брать в расчёт потерю контроля над внедрённым кодом.
Как обычно: теоретически штука полезная, если не брать в расчёт реальность
> Как обычно: теоретически штука полезная, если не брать в расчёт реальность95% хомячков так всю жизнь живут. Да чего там: сам так всегда делаю.
>Как обычно: теоретически штука полезная, если не брать в расчёт реальностьВот как ты точно сейчас про Rust сказал.
Чтобы почаще обмазываться свеженьким.
Ну так не несвежим же обмазываться. Оно холодное и крошится.
А как SVG, тоесть аля XML имеет отношение до WS с его виртуальной машиной..Кажись это как сравнивать HTML И C++?
Нужно, скорее бы нативные проги выбросили все.
Опасно, очень опасно... Централизация приложений всё больше и больше...
Крайне опасно. Страничка может подгрузить вообще что угодно. А с бинарником физически а твоей машине -- ты ещё можешь что-то сделать.
Почему сразу "странички". Может локальная, "толстая" прога, standalone, но в вебассембли-виде на сотвествующей локальной платформе. Как какой-нибудь *.jar-файл запускать в ява-рантайме. Там ведь о таком и в новости говорится (и ссылка приводится) - " Последнее время WebAssembly также продвигается в качестве универсальной платформы для безопасного выполнения кода в любых инфраструктурах, операционных системах и устройствах, не ограничиваясь браузерами". Например, в каком-нибудь wasmer'е запускать. Вот и сможешь что-нибудь с wasm-овским бинарником на своей машине что-нибудь сделать :)
Ну если там, скажем например, чтобы в нём поставлялся AutoCAD-wasm.tar.gz, а не AutoCAD-x86_64.tar.gz как сейчвс.
Байт-код не нужен, когда доступна физическая платформа. Хватит греть атмосферу!
> Хватит греть атмосферу!Перегреется рабочее тело.
От трения.
Это тоже "грение атмосферы".
Вопрос надо решать с другой стороны - не подводить энергию к рабочему телу - надо меньше жрать, ой, добывать энергоресурсов. Уже выработанное электричество - нагретое тело - можно только путем "грения атмосферы" утилизировать.
Странно что меня заминусовали. Вроде там не говорил, что "толстые васм-программы - это хорошо и надо выбросить нативные", но многие, видать, так и поняли. Просто указал, что из утверждения "скорее бы нативные проги выбросили все" вовсе не обязательно следует заключение - "скорее бы перешли в странички в интернетах". Просто после пожелания "надо выкинуть" не предложен вариант на что заменить и ты додумал - "на странички" (наверное как и подразумевал автор топикстартера). Но возможен и вариант интерпретации - "не в странички, а локально, но васм(байт)-код" (безотносительно того, хорошо это или плохо).
последние события ничему не научили?
хотя, вы же тролль
Они странные.
Им надо не JIT прокачивать, а уже вполне себе такое AOT, благо WASM как язык довольно несложный.
> Они странные.
> Им надо не JIT прокачивать, а уже вполне себе такое AOT, благо
> WASM как язык довольно несложный.Если бы им именно это было надо -- они именно это уже давно бы и сделали.
Короче, на нае...WebAssembly высокопроизводительный только если там используется JIT и тяжёлые оптимизации.
Какой от него толк, если всёравно всё транскодируется в JS?
Зайди в фигму и осознай что все так плавно работает только лишь из-за того что фигма написана на c++ и работает через wasm.
Ты дурак или прикидываешься? Без разницы на чем оно написано, всёравно код транскодирован в .js файлы (открой исходник и посмотри сам). А плавность зависит не от языка, а от GPU ускорения отрисовки самого браузера.
Ты конч? Если оно быстро работает какая разница js там или нет?
Какая javascript??. WebAssembly это другая виртуальная машина, другой байтовский код.
Вы кроме файла js который создан для совместимости некоторых функций js и загрузки ws в браузерах где это нельзя.. высмотрели бы файлик .ws и дизасмеблировали его..минимум фигню бы перестали нести.
Фигма очень плохой пример. Она выжирает 8-10гб рамы на средних-больших проектах. К чёрту такие приложения
в лучших традициях джавы
Только серьёзного повышения скорости работы васм’а( в сравнении с жс ) никто не обещал :)
Главный обещанный «прирост производительности» - в ускорении парсинга кода и меньшем времени от запроса скрипта до начала его исполнения.
Вдобавок, сам васм сделан не столько для повышения производительности, сколько для возможности исполнения чего-то что не жс. Т.е в проект можно тянуть сишные библиотеки и иное и на выходе получить нечто, что нормально выполняется в браузере без необходимости переписывать тонны кода на жс
WS компилируется LLVM, с тем самым на котором работает Clang и другие вещи, а он то умеет толк в оптимизацию (вот даже SIMD завезли).а заодно посмотрели бы бенчи, там я смотрел очень хорошо ws себя показывает:)
ws - вебсокеты ?Я уже некоторое время не слежу за васмом, но особенность веба в том, что и жс весьма быстр в сравнении со всевозможными браузерными апи и взаимодействием с деревом элементов.
Так вот, к чему я - сколь быстрым ни был бы васм, реальное взаимодействием со внешней средой скорее всего будет происходить через жс и через медленные методы всевозможных манипуляций с DOMом или чем-то ещё, иначе - результаты работы того васма просто не появятся на экране. По крайней мере, раньше так было.Ну и какая, по сути, разница, если, к примеру, васмовый код исполняется за 1мкс, тогда как вывод этой инфы займёт 1мс, итого 1,001мс. Против жс, на котором тот же самый код будет исполняться даже вчетверо медленней, т.е 4мкс, итого с выводом - 1,004мс
Но мб в новой версии это изменят
Не путайте теплое с мягким, скорость интерпретатора и скорость апи разные вещи, да, на js редко делают сложные вычисления и большинство сайтов тормозит именно из-за непонимания работы dom, но кроме дома есть еще canvas, webgl, звук, есть разница будет спрайт генериться 10мс или 1000мс. Wasm нужен в первую очередь для портирования приложений и библиотек, например игр, где нет обращений к дому.
> Не путайте теплое с мягким, скорость интерпретатора и скорость апи разные вещи,
> да, на js редко делают сложные вычисления и большинство сайтов тормозит
> именно из-за непонимания работы dom, но кроме дома есть еще canvas,
> webgl, звук, есть разница будет спрайт генериться 10мс или 1000мс.Я и не путаю.. именно сложные, повторяющиеся штуки, в жс неплохо ускоряются.
Некоторое время назад влезал в исходники жс-двигла( вебкит. Хз за что но люблю его. Мб потому что к гуглу не гугловый ). Там суть в том, что было не менее 3 уровней оптимизации - от тупой_интерпертации и до джит'а. Причём, для каждой функции отдельно. Там обычно считалось количество её вызовов с момента последнего её изменения( даже попадалась хитрая демонстрация несовершенства системы отслеживания изменений ). Если вызовов больше Эн - то переход с первого уровня на второй. Если больше ЭнДва - то со второго на третий. Нередко, кстати, те уровни можно было задавать параметрами командной строки.
Наличие нескольких уровней оптимизации связано с тем, что каждый из них жрёт ресурсы, притом, джит - больше всего и потому ему по умолчанию подвергаются лишь наиболее часто используемые и редко изменяемые методы
Это к слову о том, что типовые и часто используемые методы из жс в итоге отлично ускоряются.> Wasm нужен в первую очередь для портирования приложений и библиотек, например игр,
> где нет обращений к дому.
>>> Вдобавок, сам васм сделан не столько для повышения производительности,
>>> сколько для возможности исполнения чего-то что не жс.
>>> Т.е в проект можно тянуть сишные библиотеки и иное и на выходе получить нечто,
>>> что нормально выполняется в браузере без необходимости переписывать тонны кода на жсМои поздравления. Ты пересказал моё сообщение выше в этой же ветке.
Только вот, обращения вовне всё равно будут. Не к ДОМу - так к чему-то ещё. Васм в этом смысле изначально был кастрированным и дела шли через жс. Изначальная суть васма была в том, чтобы он более-менее точно предсказал сколько для его модулей потребуется памяти( давно читал разные гайды, упоминалось что предсказание выделения памяти чуть ли не осн проблема в браузерном двиге и в васме это решили упростить ), а реально взаимодействовать с "миром" он будет всё равно через жс
Какой еще `, реальное взаимодействием со внешней средой скорее всего будет происходить через жс и через медленные методы всевозможных манипуляций с DOMом`,
вы никогда не слышали про WebIDL? так может стоит услышать?```
васмовый код исполняется за 1мк
``````
Против жс, на котором тот же самый код будет исполняться даже вчетверо медленней
```
не четверо, а раз в 8-10 раз медленее. + расходы на jit + расходы на gcc + расходы на псевдо компиляцию этого js без оптимизаций...можно много говорить..
Кто вам такую чушь сказал?
Вероятно вы путаете с asm.js
- дрова .. FreeBSD .. WASM ..
- мистер Андерсен, выдыхайте!
Для переносимости дрова написаны с использованием фреймворка Electron, скомпилированного в WASM.
Была ось на JavaScript:) и дрова к ней)) но такоесебе.
>Последнее время WebAssembly также продвигается в качестве универсальной платформы для безопасного выполнения кода в любых инфраструктурах, операционных системах и устройствах, не ограничиваясь браузерами.В реальной жизни окажется, что безопасТного.
Не понимаю чем ты недоволен. Никакая виртуальная машина не безопасна (доказано много лет назад).
Но хотя бы тормозить не будет. Хочешь сделать безопасно -- придумай свою виртуальную машину, верифицируй её, внедри средства поддержания целостности, придумай свой интернет и живи безопасТно. Всего делов то.
Когда уже mlir сопрут в Wasm из LLVM?
Пилят пилят, но что-то не видно какого-то реального применения. С другой стороны, продвинутые технологии в вэбе склонны применяться так что лучше и не надо - орущая видеореклама, реклама в Push-ах, баннеры на canvas чтобы нельзя было блокировать по доменам и прочее. так что может оно и к лучшему.
Реальное применение в возможности использовать код не на жс( какие-то сошные библиотеки и иное ), получая на выходе код, который будет нормально работать в браузере, без необходимости переписывания его на жс, хотя последний всё равно потребуется по многим причинам
Всмысле никакого реального применения? Вы из пещеры вылезали?WebAssembly валит в
с Firefox 52
с Chrome 57...для справки сейчас firefox уже 100 версии..
а chrome 96-97...Так о чем я?:) Он давно везде, просто вы не всматриваетесь...
> Всмысле никакого реального применения? Вы из пещеры вылезали?
> WebAssembly валит в
> с Firefox 52
> с Chrome 57...
> для справки сейчас firefox уже 100 версии..
> а chrome 96-97...
> Так о чем я?:) Он давно везде, просто вы не всматриваетесь...Вот покажите мне пожалуйста живые примеры. Только реальные, а не демочки. Последний раз серьезной попыткой был выпуск Humble Bundle нескольких игр в вэбе с помощью asm.js (хотя .то была более ранняя технология, да).
ЧСХ, оно нормально так и не запускалось.
Из WebAssembly уже можно напрямую манипулировать DOM-ом?
Уже год-два_года как точно..
Напрямую всё ещё нельзя
Можно и давно. WebIDL же..
> Благодаря задействованию JIT для WebAssembly можно добиться уровня производительности близкого к нативному коду.`близкого` - это как с маркетологического переводится?
Это переводится хочется javascript выкинуть, но вот оно есть решение... развиваем..А с маркетингова, либо скорость как на javascript или лучше, но всяко лучше) бо предварительная компиляция, нет gcc и трр.
Интереснее узнать про "уровни производительности"
https://ziglang.org/documentation/master/#WebAssembly
https://github.com/wasm3/wasm3/blob/main/build.zig
> https://github.com/wasm3/wasm3Предупреждаю: там про геноцид
Опять кастрюлеголовый комитил? В пейсбуке кастрюлеголовый манагер в некоторые плюсовые репы этот же высер нарушил. Это все на что они способны.