LINUX.ORG.RU
ФорумTalks

WebAssembly - соединение двух миров. Пишем на сишечке, кимпиляем clang, исполняем в вебчике.

 


0

3

Советую осилить эту технологию тем, что считает что веб для даунов, а настоящие суровые челябинские мужики пишут только на си. Можно кидаться мегабайтами байтиков из JS в сишечку, делать сложные вычисления и пихать результат обратно. Можно невозбранно таскать огромные массивы данных туда-сюда много раз в секунду, например полностью перерисовывать канвас быстрее чем за движение мыши. Фотошопные сложные кисти так реализуются без проблем, прям со смешиваним в сишечке буферов и прозрачностями. В особо упоротых случаях можно реализовывать чуть более чем всю логику веб-приложенечки в сях или крестах, а из JS только окончательные инструкции «чо делать» забирать. 5 мегабайтный джипег и айпхона, породивший ~51 мб сырых пикселей в памяти JS, улетел в webasm и преобразовался там в чёрно-белую фотку где-то за 35.9 мсек. При этом сам jpeg в сырые пиксели в js вызовом window.createImageBitmap() конвертился 125 мс.

В современных JS есть ещё API для воспроизведения сырых семплов звука. Я знал мужика, который в 2005 году умел в JS из памяти .wav файлы порождать, а щас-то вообще жесть содомия начнётся!

Безопасность: плоская модель памяти. Нет malloc()/free(), просто плоский шмат памяти от нулевого смещения и живи там. Нельзя увеличить память изнутри wasm-машины. Все указатели - смещения от этого нуля. Нет никой кучи, точнее этот шмат и есть куча и ты вечно в ней живёшь. Размер этого шмата можно увеличить извне wasm-машины, из того JS-кода, который машину запускает и использует. Можно даже реализовать в wasm функцию, которую вызывать из JS и которая будет говорить хочет ли wasm увеличить себе память или нет, а js будет подкручивать рубильник. Все аллокаторы - сам реализуй или линкуйся с каким-то malloc(), но он будет по-сути резать эту кучу на куски и тогда тебе в бинарник просто накладут всякого кала типа стандартных библиотек и будет не цимес. А цимес-то делать бинарники на пару килобайт, реализуя только нужную обработку байтиков. Аллокатор обычно не нужен - назаписывал что-то там в памяти и выкинул всё в конце.

Сравнения wasm с flash некорректны, все кто так делает - тупой. flash специализировался на анимациях векторной графики, а wasm не специализируется ни на чём, исполнение произвольного кода, молотящего байтики. На wasm можно реализовать аудиокодеки с шифрованием и использовать как движой аудиозвонков или можно действительно построить на wasm новый flash, не важно.



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

опасность этой наркомании даже не в том, что там дикий оверхед,

Нет там оверхеда.

запускается вообще неизвестно что, скомпилированный бинарь!

Неверно )

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

Тебе все, начиная от профессиональных программистов и заканчивая похапе-макаками вроде меня, написали что твой wasm дичь

Жосткое давление авторитетами пошло. Видать тяжело с аргументами совсем) Но давление авторитетами не взлетело, потому что я оказался в разы профессиональнее. Непонятно, как на меня могло подействовать мнение профессиональных программистов, если я умнее их и профессиональнее в 2.7 раз.

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

Нет там оверхеда.

А запуск браузера у тебя случается на этапе загрузки бивиса, занимает 300мс и потребляет 8Мб ОЗУ?

Неверно )

Т.е. ты даже не разобрался в теме.

https://developer.mozilla.org/ru/docs/WebAssembly/Reference/JavaScript_interface ня, луркай.

Жосткое давление авторитетами пошло. Видать тяжело с аргументами совсем) Но давление авторитетами не взлетело, потому что я оказался в разы профессиональнее. Так-то.

Профессиональнее ты будешь, когда что-нибудь напишешь, или хотя бы перечислишь pro и contra той дичи, о которой ты рассказал в топике.

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

А запуск браузера у тебя случается на этапе загрузки бивиса, занимает 300мс и потребляет 8Мб ОЗУ?

Так речь изначально про запуск в браузере, то есть он уже есть. То есть, его запуск ноль занимает. Походу вот что ты не понял.

Т.е. ты даже не разобрался в теме.

Нет ты.

Профессиональнее ты будешь, когда что-нибудь напишешь, или хотя бы перечислишь pro и contra той дичи, о которой ты рассказал в топике.

Уже написал и перечислил. Но непрофессионал типа тебя в любом случае будет обиженно лаять на таких людей как я тупо от зависти)

lesopilorama
() автор топика

веб для даунов

Тут надо уточнять, какой веб. Исходный веб как распределённый гипертекст был спроектирован очень даже умно. А вот идея превратить его в платформу для удалённых вычислений – уже не очень. Вот концепция Java-апплетов была красивая, жаль померла.

а настоящие суровые челябинские мужики пишут только на си

Серверный веб вполне можно писать на Си, @Eddy_Em на тебя нет.

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

Вот концепция Java-апплетов была красивая, жаль померла.

Бугага, так ничем от WASM не отличается ведь. Теперь даже веселее - байткод есть, а привязки в java-миру нет.

Серверный веб вполне можно писать на Си

Знаем, умеем, практикуем. Правда на крестах.

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

возможность скомпилировать в него что угодно

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

Т.е. чтобы написать что-то на WASM надо специально заморочиться, учесть все ограничения и заморочки v8, структуру и принципы работы предоставляемого браузером окружения и вместо того, чтобы написать это сразу на специально придуманном и удобном для таких задач JS где всё нужное для этого есть искаропки, написать это на каком-то другом языке, пердолясь с обJSиванием этого языка и прикручивая к нему DOM, браузерные примитивы и т.п., скомпилировать потом это в WASM, и попытаться подсунуть этот бинарь лошкам, которые почему-то не отключили выполнение WASM в своих браузерах.

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

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

WASM вовсе не даёт возможности скомпилировать в него что угодно, а только то, что может быть написано на JS для браузера и не более.

Что угодно = любой язык. Ясно дело, что сделать FORMAT C: вам не дадут, песочница ведь. Но это и так очевидно.

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

учесть все ограничения и заморочки v8

Не требуется. Нет там специфичных ограничений, не свойственных «WASM машинке». Пишешь на C++ произвольный код - он просто работает.

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

Зачем писать на «любом языке» который совершенно не заточен под написание барахла для веб-страничек то, что можно намного быстрее и проще написать на JS?

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

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

Такой пердолинг может быть нужен лишь для одной цели - масимально усложнить для целевой аудитории проприетарной поделки скомпилённой в WASM работу по пониманию как оно работает,

Неверно. Во-первых, целевой аудитории глубоко похрен. Много ты видел пользователей Figma или Telegram web-версии, которым интересно что там внутри? Кажется что их примерно ноль. Во-вторых нужен WASM совсем не для этого, это достижимо было и без него - обфускация JS лютой степени с хуками на открытие консоли F12 и прочими ништяками, затрудняющими отладку любому новичку. А нужно оно как раз для возможности красиво переиспользовать код. Есть у тебя, например написанный на Си кодек Opus - херак и он у тебя завёлся в вебчике и не нужно пытаться создать какую-то JS-версию этого кодека или ждать поддержки в браузере.

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

Так речь изначально про запуск в браузере, то есть он уже есть. То есть, его запуск ноль занимает. Походу вот что ты не понял.

Так если речь идет про запуск в браузере - тогда тем более ненужно, ведь для вебни уже есть HTML как конструктор DOM, CSS как описание стилей, и JS для какой-нибудь простенькой интерактивщины. Иными словами

Уже написал и перечислил. Но непрофессионал типа тебя в любом случае будет обиженно лаять на таких людей как я тупо от зависти)

Нет ни одной существующей на сегодня проблемы, которую решает этот тупняк в тупняке.

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

Зачем писать на «любом языке» который совершенно не заточен под написание барахла для веб-страничек то,

Во-первых непонятно зачем в веб-странички пытаться пихать барахло, почему веб-странички содержащие годноту не рассматриваются. Во-вторых зачем переписывать что-то на JS, если версия этого кода уже есть на C++ и хочется переиспользовать её. Например движок анимирования векторных кнопочек.

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

Так если речь идет про запуск в браузере - тогда тем более ненужно, ведь для вебни уже есть HTML как конструктор DOM, CSS как описание стилей, и JS для какой-нибудь простенькой интерактивщины.

Но WASM не для вёрстки и не простенькой интерактивщины, а для чего-то сложненького.

Нет ни одной существующей на сегодня проблемы, которую решает этот тупняк в тупняке.

Выходит эти наркоманы просто от нехрен делать его создавали? Вот это поворот, огого, ничёсе.

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

Ну то есть ты сам себя ведешь к расстрелу =)

Ноль идей что ты имел ввиду.

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

Но WASM не для вёрстки и не простенькой интерактивщины, а для чего-то сложненького.

Чему-то сложненькому не место в браузере по причинам описанным выше. А потом из-за таких как ты удивляемся, с хрена ли вычислительным машинам стали нужны гигабайты ОЗУ, при том что начиная с Чикаги, ничего концептуально не менялось.

Ну конечно, у тебя еще прикладная программа не запущена (ради которой ты и купил комп), а уже 8 гигов отожралось фреймворками на фреймворке для управления фреймворком.

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

Чему-то сложненькому не место в браузере по причинам описанным выше.

Ну не место и не место, чо бухтеть-то. От того, что сложненькому там «не место», оно не перестаёт там успешно жить и наращиваться семимильными шагами. Вряд-ли реальность, состоящую во всё большем применении сложненького в вебчике как-то волнует твой взгляд или чей-то ещё из местных «экспертов» на это. Бугага.

lesopilorama
() автор топика

Дожились.

А Iron_Bug меня за кресты в попытках избавиться от дроча с памятью\строками\массивами чмырила =) Тут вон все как радикальненько))

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

А потом из-за таких как ты удивляемся, с хрена ли вычислительным машинам стали нужны гигабайты ОЗУ, при том что начиная с Чикаги, ничего концептуально не менялось. Ну конечно, у тебя еще прикладная программа не запущена (ради которой ты и купил комп), а уже 8 гигов отожралось фреймворками на фреймворке для управления фреймворком.

Нищие неудачники с жалкими 32 гигами оперетивки никого не волнуют и не определяют движение индустрии слава богу!

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

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

Пишешь на C++ произвольный код - он просто работает.

Да-да, конечно-конечно. Берём произвольную гуйню на Qt, например - и оно принципиально не сможет работать, потому что доступа к системе нету.

А толку от того, что какой-нибудь цепепешный «Hello world!», который придётся долго переписывать и отлаживать чтобы как минимум грамотно переопределить cout на использование console.log в итоге можно будет как-то заставить работать, причём не быстрее чем тот же «Hello world!» на JS, нет никакого.

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

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

Нищие неудачники с жалкими 32 гигами оперетивки никого не волнуют и не определяют движение индустрии слава богу!

Вот тут согласен. Почитал кто и где использует wasm. Смело отключил это ненужно у себя на компе.

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

и оно принципиально не сможет работать, потому что доступа к системе нету.

Странный проблемы, я Winows XP скомпилировал вчера и у меня всё заработало и даже CD-ROM начал выдвигаться которого даже физически нет. Не понимаю в чём проблемы у тебя, наверное skill issue)

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

Вывод очевиден. WASM нужен только для того…

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

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

Этот вывод был жостко обосран

Как ты можешь что-то обосрать, если ничего толкового хотя бы для себя, не написал?

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

Как ты можешь что-то обосрать, если ничего толкового хотя бы для себя, не написал?

Неважно как, главное результат. А тебя я уже наверное в пятый раз ловлю на попытке взбарывать личности и в попытке на них перейти) Бугага, это не перспективно. Тебя как-то очень сильно волнуют вопросы о том, кто там лично чего достиг, написал, кто авторитет, кто профессионал. Прям как-то тебя эта тема цепляет, тема достижений и авторитетов, наверное у тебя какая-то психотравма, обусловленная скажем тем, что ты ничего не смог добиться в жизни или чем-то типа того) Но я по данному вопросу мало чо могу посоветовать - ну не достиг и не достиг, чё переживать-то, всё равно умрёшь когда-нибудь.

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

Ни разу не встречал вебстраничку где годнота содержится в скриптах. Более того, абсолютно все попадавшиеся мне странички с максимальным количеством годноты не содержали никаких скриптов вообще. Чем меньше скриптов - тем больше годноты.

Например движок анимирования векторных кнопочек.

Чего, глядь? Жёваный крот, это же просто итичкина магатуха какая-то! Полный истец.

Если ты не в курсе - то анимирование векторных иконок делается без малейших проблем несколькими строчками JS, я даже постил свой высер с анимированными круглыми шкалами на ЛОРе который как раз именно что анимирует чисто векторные картинки, которые, если это кому-то зачем-то понадобится можно буквально за 5 секунд превратить в кнопочки. Без всяких компиляций и пердоленья с «любым» не предназначенном для анимации вебни языком.

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

Ни разу не встречал вебстраничку где годнота содержится в скриптах. Более того, абсолютно все попадавшиеся мне странички с максимальным количеством годноты не содержали никаких скриптов вообще. Чем меньше скриптов - тем больше годноты.

Ну не встречал и не встречал, можно подумать ты один на планете живёшь и всю статистику этим мнением делаешь.

Чего, глядь? Жёваный крот, это же просто итичкина магатуха какая-то! Полный истец.

Я не понял смысла этого высказывания, видимо тебе не по нраву прочитанное! Какая-то мразь анимирует кнопки, да? Но это просто реальность, можешь пойти их топором позарубать, но их развелось уже достаточно много, я лишь пересказываю чо в мире происходит - анимированные стикеры там всякие, кнопка «play» при нажатии плавно превращающаяся векторно в «pause» - это всё эти твари понаделали. У них там даже есть какой-то формат файлов, в который дизайнеры выгружают векторные анимации и они пишут всякие движки, которые эти файлы воспроизводят в UI. В телеге такую либу юзают, не помню как называется. А формат у них там кажется этот https://en.wikipedia.org/wiki/Lottie_(file_format)

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

Показывай результат своего программизма, мы не против.

Но показывать-то надо кому-то компетентному, в чьей способности что-то там квалифицированно оценить ты уверен.

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

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

Внезапно, от математического кода, кодеков и прочих подобных библиотек в 99% случаев требуется в первую очередь максимальная скорость, а во-вторую минимальный ужор ресурсов, и, что интересно, и с первым и со вторым в браузере всё из рук вон плохо.

Никто не будет запускать расчёт обтекания неламинарным потоком произвольного объекта на 386SX или в браузере, потому что есть всякие Core i9 и GPU которые выполнят эту задачу на порядки быстрее.

А если скорость не нужна и ужор ресурсов не волнует, то нахрена писать это на WASM, если всё то же самое будет точно так же работать на JS?

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

Телега любит анимировать что-то вот этим поделием https://github.com/TelegramMessenger/rlottie

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

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

Внезапно, от математического кода, кодеков и прочих подобных библиотек в 99% случаев требуется в первую очередь максимальная скорость, а во-вторую минимальный ужор ресурсов, и, что интересно, и с первым и со вторым в браузере всё из рук вон плохо.

Что может быть плохого в исполнении процом нативного бинарного кода? Куда лучше-то?

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

Никто не будет запускать расчёт обтекания неламинарным потоком произвольного объекта на 386SX или в браузере, потому что есть всякие Core i9 и GPU которые выполнят эту задачу на порядки быстрее.

Будет - ты будшь, когда захочешь что-то поанимировать в веб-версии своей игрушки и не захочешь физическую-анимационную считалку портировать из сишечки на TypeScript. Допустим ты хочешь, чтобы в твоей игрушке танки горели пламенем так же офигенно красиво, как в мобильной или десктопной версии - почему бы кусок кода на сишечке не выдрать и не научить его давать поток пикселей для канваса? Вариантов-то нет других, на JS что-ли кодить эту сранину?

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

Но показывать-то надо кому-то компетентному, в чьей способности что-то там квалифицированно оценить ты уверен.

В общем как всегда, личных примеров у тебя нет.

Впрочем это в очередной раз доказывает ненужность всего того, что ты нарисовал в топике.

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

В общем как всегда, личных примеров у тебя нет. Впрочем это в очередной раз доказывает ненужность всего того, что ты нарисовал в топике.

Если тебе лично Путин документы из сейфа не стал показывать, это не значит что у него нет их) Бугага.

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

WASM - это вообще ни разу не нативный бинарный код.

Во время исполнения это нативный бинарный код. Там JIT же в бравузере жрёт байткод перед исполнением, там же не интерпретатор и не байткодо-машина. JS-то тоже не интерпретируется, JS тоже во время исполнения уже нативный бинарный код, потому что тоже JIT. Но некоторая разница между WASM и JS в пользу WASM видимо в том, что мы снимаем некоторые приколы динамической типизации: то есть скомпилированный в машинный код JS получается такой, что там вокруг каждой переменной ещё какуя-то структура, описывающая какой щас тип у этой переменной и ссылки там всякие и счётчики ссылок наверное. А WASM более туп и прямолинеен, регистры там всякие и больше нет ни*** - нативный бинарный код такой фигни меньше и быстрее.

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

когда захочешь что-то поанимировать в веб-версии своей игрушки

Да мне и в голову не придёт делать «веб-версию» чего бы то ни было. Веб-версия любого софта это всегда вендорлок, зонды и доение пользователя. Пользователь, тем более заплативший за софт имеет полное право использовать его вне зависимости от существования каких-то левых серверов, конторы которая его написала и желания левой пятки заднего уха очередной вебмакаки.

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

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

Да мне и в голову не придёт делать «веб-версию» чего бы то ни было. Веб-версия любого софта это всегда вендорлок, зонды и доение пользователя. Пользователь, тем более заплативший за софт имеет полное право использовать его вне зависимости от существования каких-то левых серверов, конторы которая его написала и желания левой пятки заднего уха очередной вебмакаки.

Ну бывает. Вот ты такой чел с такими убеждениями, чо. А если б ты был OZON или Яндекс, то может бы и пришло - браузер-то у всех стоит где угодно щас и главное ставить ничего не надо. Открыл домен и как-то там заработало, закрыл и забыл.

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

Да мне и в голову не придёт делать «веб-версию» чего бы то ни было. Веб-версия любого софта это всегда вендорлок, зонды и доение пользователя. Пользователь, тем более заплативший за софт имеет полное право использовать его вне зависимости от существования каких-то левых серверов, конторы которая его написала и желания левой пятки заднего уха очередной вебмакаки.

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

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

Но WASM интересен ещё и без привязки к сайтикам и интернетику. Это просто какой-то абстрактный байткод поверх регистров и плоской памяти, который платформенно независим как IR от LLVM и может быть интересен где-то ещё.

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

Во время исполнения это нативный бинарный код.

Внезапно, программа на Бейсике во время исполнения интерпретатором - это точно так же нативный бинарный код как и WASM.

WASM, если ты не в курсе, это примерно как ZX Spectrum Basic. Там команды и операторы были однобайтовыми байткодами, а интерпретатор транслировал их в куски нативыного кода по мере выполнения.

Но некоторая разница между WASM и JS

Совершенно несущественна для вебни.

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

Внезапно, программа на Бейсике во время исполнения интерпретатором - это точно так же нативный бинарный код как и WASM.

В первом случае у тебя программа управляющая программой, а в случае WASM прям машинный код под нужную платформу.

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

Совершенно несущественна для вебни.

Когда мне надо применить свёртку к большой картинке, то на WASM это полсекунды, а на заметно JS поболее. Геймдеверы и заботящиеся об отзывчивости своей вебни будут выбирать что побыстрее.

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

Но WASM интересен ещё и без привязки к сайтикам и интернетику.

Вообще неинтересен потому что v8 - это жирное тормозное удолбище, и десятки других JIT VM и пр намного эффективнее.

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

Заодно сохраняя в БД предпочтения, привычки, рацион, персональные данные и всё до чего только можно дотянуться из браузера, чтобы потом продавать это налево и направо. Извини, но даже любая дура такого по большому счёту нифига не заслуживает.

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

в случае WASM прям машинный код под нужную платформу.

Нет. Почитай чего-нибудь кроме рекламных буклетов. Да хотя бы сырцы v8

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

Вообще неинтересен потому что v8 - это жирное тормозное удолбище, и десятки других JIT VW и пр намного эффективнее.

Так у тебя WASM никак к v8 не привязан. Это просто набор инструкций абстрактный с регистрами и плоским шматом памяти. Хоть свой JIT пиши под него, высирая супергениальный нативный код.

Заодно сохраняя в БД предпочтения, привычки, рацион, персональные данные

Да, но мы тут не про кровожадность капитализма и не про мораль, а только про технологии. Ну не используй технологию во вред, используй с пользой, делов-то.

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

Нет. Почитай чего-нибудь кроме рекламных буклетов. Да хотя бы сырцы v8

Да. Ты тоже почитай. Бугага. Норм аргументами обменялись)

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

Когда мне надо применить свёртку к большой картинке

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

Stanson ★★★★★
()
Закрыто добавление комментариев для недавно зарегистрированных пользователей (со score < 50)