The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Первый выпуск wasm3, быстрого интерпретатора WebAssembly

13.01.2020 21:11

Доступен первый выпуск wasm3, очень быстрого интерпретатора промежуточного кода WebAssembly, главным образом рассчитанного на применение для запуска WebAssembly-приложений на микроконтроллерах и платформах, для которых отсутствует реализация JIT для WebAssembly, недостаточно памяти для работы JIT или не допускается создание исполняемых страниц памяти, необходимых для реализации JIT. Код проекта написан на языке Си и распространяется под лицензией MIT.

Wasm3 проходит тесты на совместимость со спецификацией WebAssembly 1.0 и может применяться для запуска многих WASI-приложений, обеспечивая производительность лишь в 4-5 раз ниже JIT-движков (liftoff, cranelift) и в 11.5 раз ниже выполнения нативного кода. При сравнении с другими интерпретаторами WebAssembly (wac, life, wasm-micro-runtime), wasm3 оказался быстрее в 15.8 раз.

Для работы wasm3 необходимо 64Kb памяти для кода и 10Kb ОЗУ, что позволяет применять проект для выполнения скомпилированных в WebAssembly приложений на микроконтроллерах, таких как Arduino MKR*, Arduino Due, Particle Photon, ESP8266, ESP32, Air602 (W600), nRF52, nRF51 Blue Pill (STM32F103C8T6), MXChip AZ3166 (EMW3166), Maix (K210), HiFive1 (E310), Fomu (ICE40UP5K) и ATmega1284, а также на платах и компьютерах на базе архитектур x86, x64, ARM, MIPS, RISC-V и Xtensa. Из операционных систем поддерживаются Linux (в том числе маршрутизаторы на основе OpenWRT), Windows, macOS, Android и iOS. Также возможна компиляция wasm3 в промежуточный код WebAssembly для выполнения интерпретатора в браузере или для вложенного запуска (self-hosting).

Высокая производительность достигается благодаря применению в интерпретаторе техники Massey Meta Machine (M3), в которой для сокращения накладных расходов на декодирование байткода выполняется упреждающая трансляция байткода в более эффективные операции, генерирующие псевдо-машинный код, а модель выполнения стековой виртуальной машины преобразуется в более эффективный регистровый подход. Операции в M3 представляют собой Си-функции, аргументами которых являются регистры виртуальной машины, которые могут быть отражены на регистры CPU. Часто встречающиеся последовательности операций для оптимизации преобразуются в сводные операции.

Дополнительно можно отметить результаты исследования распространения WebAssembly в Web. Проанализировав 948 тысяч самых популярных сайтов по рейтингу Alexa, исследователи выяснили, что WebAssembly используется на 1639 сайтах (0.17%), т.e. на 1 из каждых 600 сайтов. Всего на сайтах выявлена загрузка 1950 модулей WebAssembly, из которых 150 уникальные. При рассмотрении области применения WebAssembly были сделаны неутешительные выводы - в более 50% случаев WebAssembly применялся во вредоносных целях, например, для майнинга криптовалюты (55.7%) и скрытия кода вредоносных скриптов (0.2%). Из легитимных применений WebAssembly отмечено выполнение библиотек (38.8%), создание игр (3.5%) и выполнение собственного кода, написанного не на JavaScript (0.9%). В 14.9% случаев WebAssembly применялся для анализа окружения для идентификации пользователя (fingerprinting).



  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: W3C придал WebAssembly статус рекомендованного стандарта
  3. OpenNews: Mozilla, Fastly, Intel и Red Hat продвигают WebAssembly, как платформу для универсального применения
  4. OpenNews: Cloudflare, Mozilla и Facebook развивают BinaryAST для ускорения загрузки JavaScript
  5. OpenNews: Представлен Lucet, компилятор для WebAssembly
  6. OpenNews: Mozilla развивает WASI для использования WebAssembly вне браузера
Лицензия: CC-BY
Тип: Программы
Ключевые слова: webassembly
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (102) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Michael Shigorin (ok), 21:51, 13/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    Test -- тоже Malicious.
     
  • 1.2, Аноним (2), 22:05, 13/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    "вредоносных целях"

    Так неожиданно, кто бы мог подумать. Ничо, Касперский спасет мир!

     
     
  • 2.40, Аноним (40), 08:16, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Он сам вредоносное ПО - тормозит как трактор да еще и сливает файлы фсб.
     
     
  • 3.50, 999 (??), 09:31, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Тормозит, чтобы успеть слить. )
     
  • 3.51, Попугай Кеша (?), 09:50, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    В детстве помню еще. Удаляешь Касперский - игрушки на компе летать начинают ) Потом всем друзьям посоветовал удалить эту заразу )
     
     
  • 4.103, Аноним (103), 22:17, 16/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Xakip
     

  • 1.3, Партиарх Кирилл (?), 22:28, 13/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +14 +/
    А зачем вообще запускать на микроконтроллерах и микропроцессорах WebAssembly, если он медленнее в 11 раз, чем нативный код, да ещё и требует памяти на интерпретатор?
     
     
  • 2.5, Аноним (5), 22:31, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • –10 +/
    Затем, что на момент прошивки МК ещё не изсесно, какую фичу пожелает пользователь. Толи светодиодиками адресуемыми помигать, толи криптовалюту майнить. А так дали болванку с интерпретатором, и пускай на сдкарточку что пожелает пишет.
     
     
  • 3.10, Crazy Alex (??), 22:45, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    Для этого есть бутлоадер, OTA и ещё 100500 технологий
     
     
  • 4.15, Аноним ещё один (?), 23:21, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • +15 +/
    Будет 100501 технология.
     
  • 3.42, Аноним (40), 08:19, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > толи криптовалюту майнить.

    На 10% от возможностей железки? :) В вебе то левым сайтам на это пофиг - за электричество не они платят :)

     
  • 3.59, Аноним (59), 10:45, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >МК
    >криптовалюту майнить

    Суровые челябинские программисты МК :)

     
     
  • 4.97, neAnonim (?), 02:43, 15/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    китайские умные чайники спасут челябинского программиста от нищеты.
     
  • 2.6, cognitron (?), 22:32, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем запускать Espruino или MicroPython или ... ?
     
     
  • 3.36, Аноним (36), 06:40, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    У WebAssembly и скриптовых языков есть чёткое различие. Первый создан для скорости, но из за того, что в нём всё реализуется микрокомандами и вообще нет библиотеки скомпилированных в машинный код функций, при интерпретации он будет отставать от скриптов. Это кстати та же причина, что и у тормозов Java.
     
     
  • 4.106, Аноним (106), 21:32, 17/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >из за того, что в нём всё реализуется микрокомандами и вообще нет библиотеки скомпилированных в машинный код функций, при интерпретации он будет отставать от скриптов

    Для этого придумали интепретаторы на базе макроассемблеров, а для более ответственных задач - JIT-компиляцию.

     
     
  • 5.107, Аноним (36), 23:07, 17/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Для этого придумали интепретаторы на базе макроассемблеров, а для более ответственных задач
    > - JIT-компиляцию.

    Под макроассемблерами Вы имеете ввиду наличие в них высокоуровневых комманд вроде конкатенации и форматирования нескольких строк парой комманд? Такое есть только у скриптов, в wasm и java высокоуровневые функции реализуются как в нормальном ассемблере, через работу с примитивами. После компиляции то оно конечно быстрее скриптов, речь именно об интерпретации.

     
  • 2.12, имя (ok), 22:54, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • +4 +/
    J2ME помер, так вот вам новый на его замену и принесли.
     
     
  • 3.19, Аноним (19), 00:02, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +8 +/
    там ещё 100500 технологий было, но погромисты продолжают убивать существующее и заново изобретать колесо.
     
     
  • 4.52, Попугай Кеша (?), 09:51, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да все по кругу. Как бы сказал Шерлок из одноименного сериала с Камбербетчем - "Скууууучно"
     
  • 4.60, Аноним (59), 10:50, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Но J2ME только для экосистемы Java, а WASM для всех языков.
     
     
  • 5.63, анониммус (?), 10:58, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вот уморил :) Но ты ошибся.
     
  • 3.22, Аноним (22), 00:07, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    И теперь можно писать не только на джаве!
     
     
  • 4.37, пох. (?), 07:02, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    угу, теперь исполняемый код будет еще большим дерьмом, независимо от языка на котором написан.

     
  • 3.104, Аноним (104), 23:43, 16/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Тык он помер не просто так.
     
  • 2.27, Аноним (27), 01:11, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >А зачем вообще запускать на микроконтроллерах и микропроцессорах WebAssembly, если он медленнее в 11 раз, чем нативный код, да ещё и требует памяти на интерпретатор?

    да идея дикая, а для полноты картины надо написать компилятор для преобразования вебасебли в машинный код всех популярных микроконтроллеров

     
  • 2.41, Аноним (40), 08:17, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > если он медленнее в 11 раз, чем нативный код, да ещё и требует памяти на интерпретатор?

    Производители микроконтроллеров одобряют покупку старших моделей - они дороже.

     
     
  • 3.62, Аноним (59), 10:55, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Зато мейнстримом через пару-тройку лет могут стать 64-битники и по цене сравняются с нынешними STM32F103.
     
  • 2.49, alex (??), 09:24, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    за последние несколько лет производительность контроллеров немного подросла.
    Вот, например  - https://www.nxp.com/products/processors-and-microcontrollers/arm-microcontroll

    И теперь скомпиленый код очень быстро работает.

     
  • 2.58, Ordu (ok), 10:42, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да хз, зачем Мне не приходилось серёьзно что-то писать для мк, и я могу лишь пр... большой текст свёрнут, показать
     
     
  • 3.93, А. (?), 19:44, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >> 5% производительности в обмен на сегфолт раз в сутки работы -- это очень выгодная сделка.

    Жаль, что это не тот случай -- здесь "в 11 раз", а не "5%".

     
     
  • 4.94, Аноним (94), 19:54, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот ребята из Intel которые делают похожий рантайм для IoT под названием webassembly-micro-runtime предлагают пожертвовать в 350 раз более медленным выполнением ради запуска того же wasm. Так что 11x это еще ничего
     
  • 4.96, Ordu (ok), 01:36, 15/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это вообще не тот случай, потому что приоритеты расставлены иначе Сегфолты не д... большой текст свёрнут, показать
     

  • 1.4, Аноним (4), 22:31, 13/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > быстрого

    когда ожидать качественного?

    Как в том анекдоте: быстро, качественно, дешево. Выберите два варианта из трёх.

     
     
  • 2.8, Аноним (94), 22:38, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А что значит качественного? Если интерпретатор проходит все spec тесты и запускается на довольно внушительном количестве платформ, можно ли его считать качественным? Ну или хотя бы работоспособным?
     

  • 1.7, Аноним (94), 22:36, 13/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –6 +/
    Статистика и подобные исследования мне напоминают слепую фемиду. Это как сказать, что большая часть веганов кровожадные антисемиты, потому что Гитлер тоже был веганом. Солнце нужно выключить, так как вызывает рак кожи, пожары в Австралии и вообще парниковый эффект.

    Ну и из недавнего тренда. Лишь 0.000001% человечества (космонавты) видели Землю со стороны на большом расстоянии и могут рассказать о ее истинной форме, значит она "плоская" =) Ну и так далее

     
     
  • 2.16, Аноним (16), 23:34, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • –8 +/
    Так вроде то, что Земля круглая, люди понимали ещё сотни тысяч лет назад. Совершенно логично же. Это во времена расцвета религии придумали, что Земля плоская, и стали жечь на кострах несогласных. Достаточно применить немного логики и статистика уже не столь бесполезна.
     
     
  • 3.23, Аноним (23), 00:23, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > то, что Земля круглая, люди понимали ещё сотни тысяч лет назад

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

    > стали жечь на кострах несогласных

    Так и жгли, да? "За то, что считал Землю неплоской", да? Погугли например, за что реально жгли такого характерного __религиозного_фанатика__, как Джордано Бруно.

    Кстати, ты употребил слово "несогласных" во множественном числе. Кого еще знаешь сожженных "за науку"? Ну кроме Дж. Бруно (и то жгли его не за форму Земли).

     
  • 3.32, Аноним (32), 03:55, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    сотни тысяч лет назад? ну ты отсталый. человек разумный появился только 40 тыс лет назад.
     
     
  • 4.34, Аноним (16), 06:08, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Согласно нынешней версии больше, сотни тысяч лет. Ты не отсталый? ;)
     
  • 2.24, Аноним (24), 00:28, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    То что круглая уже с самолёта видно.
     
     
  • 3.30, Аноним (16), 01:35, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > То что круглая уже с самолёта видно.

    Достаточно подняться повыше, не обязательно с самолёта.

     
     
  • 4.61, Я (??), 10:53, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вы оба что, никогда не летали?
    Горизонт становится круглый только благодаря объективу камеры. Невооруженным глазом горизонт остается плоским как не поднимайся или лети.
     
     
  • 5.75, Аноним (59), 12:38, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Железное доказательство, что Земля плоская. А они просто шароверы. :)
     
     
  • 6.88, Урри (?), 15:04, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Они просто два школьника, которые о мире вокруг судят только по телевизору с дивана.
     
  • 5.82, gogo (?), 14:20, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Вот ХЗ куда смотрят такие, как ты, летя в самолете. Может места возле прохода достаются? ))
    Горизонт виден скругленным невооруженным глазом.
     

  • 1.11, Аноним (24), 22:51, 13/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >запуска WebAssembly-приложений на микроконтроллерах

    А смузи он не делает?

     
     
  • 2.18, Аноним (18), 23:47, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    так для этого же и делался
     
     
  • 3.43, Аноним (40), 08:21, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну вот теперь микроконтроль с кучей ресурсов только смузи и сможет делать. На остальное ресурсов не хватит уже.
     
  • 2.84, gogo (?), 14:21, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Весь смузи уже выпили те, кто его сделал.
     

  • 1.13, Аноним (13), 23:15, 13/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +17 +/
    Какой же я старый, что меня коробит от аббревиатуры wasm, потому что для меня WASM - это всегда был ассемблер.
    Какая-то грустная ирония в том, что низкоуровневый инструмент и выше-уже-некуда-высокоуровневый имеют созвучную аббревиатуру.
     
     
  • 2.17, Аноним (17), 23:37, 13/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Эх, были времена, watcom C, watcom assembler...
     
  • 2.20, Аноним (22), 00:03, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Ну так это по сути и есть ассемблер, в который компилируются низкоуровневые языки
     
     
  • 3.25, Аноним (19), 00:55, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    вы чего-то не понимаете в слове "ассемблер".
     
  • 3.44, Аноним (40), 08:22, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Webmonkeys ASM :)
     
  • 3.89, Тот же Аноним (?), 15:04, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Зашибись, выросло поколение!
     
  • 2.39, Аноним (39), 08:01, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Какой же я старый, что меня коробит от аббревиатуры wasm, потому что
    > для меня WASM - это всегда был ассемблер.

    А потом Граф Володуа украл общаг.

     
     
  • 3.55, Анотолей (?), 10:07, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    БэХоЦэ до сих пор не прощает!
     
  • 3.57, Володя (??), 10:30, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Эх жаль прикрыли сайт...
     
     
  • 4.65, Анотолей (?), 11:05, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    На .ин что-то запустили по слитой старой базе форумной. Правда, там скорей палата №6 для Клерка..
     
  • 4.66, Аноним (39), 11:13, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Подался в индус-трио за много ещё этих сладких шекелей, а стало быть долларов и евро.


    — Искал исполнителя по этой теме - tor-nody-fishing-podmena-dannyx-na-nuzhnyx-sajtax-i-prochee
    Нашёлся умелец с ником *** (ссылка на профиль)
    Была поставлена определённая задача по переписке в жабе. И оплата на перёд 2 бтк на его условиях.
    На выходе прислал решение вообще не по ТЗ. И по факту полную чушь пабликовскую которая к ТЗ не относится. Есть полный лог переписки по запросу могу скинуть.

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


     
  • 4.68, Я (??), 11:24, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    эстафета перешла молодым, васм. ин, но это уже совсем не то, да(
     

  • 1.21, Аноним (19), 00:07, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    > ...в 11.5 раз ниже выполнения нативного кода...
    > ...для вложенного запуска...

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

     
  • 1.26, Аноним (26), 00:55, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    >Например для майнинга криптовалюты (55.7%) и скрытия кода вредоносных скриптов (0.2%). Из легитимных применений WebAssembly отмечено выполнение библиотек (38.8%), создание игр (3.5%) и выполнение собственного кода, написанного не на JavaScript (0.9%).

    Всё что нужно знать об этом ненужно

     
     
  • 2.69, Я (??), 11:27, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Мда, уровень поеимания - макака.

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

     
     
  • 3.85, gogo (?), 14:27, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Времена "сделать чтобы работало" давно прошли.
    Вот нахрена было стандартизировать то, что не обкатано и спорно с точки зрения безопасности?
     
     
  • 4.90, Урри (?), 15:12, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что за бред? Что именно спорно с точки зрения безопасности???
    Майнер можно написать вообще на чем угодно, хоть на брейнфаке. Это что же - все спорно с точки зрения безопасности?

     

  • 1.28, Аноним (28), 01:15, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Я вот не знаю, что такое WebAssembly. Наверно, очередная хипстерская уита?
     
     
  • 2.29, Аноним (29), 01:32, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Жаваскриптеры придумали компилятор к жабаскрипту. Чтобы когда они опять будут сортировать пузырьком и им на это укажут они смогли сказать - "ну оно же все равно скопилится и соптимизируется там само и будет быстро-быстро всио".
     
     
  • 3.70, Я (??), 11:29, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ну и нахрена лезть не зная? вы путаете васм и асм.жс, а это совершенно различные вещи.
    васм отдельный от жс и отлично работает без него.
     
  • 3.91, Урри (?), 15:15, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Идиоты. Компилятор к жс - это asm.js.
    wasm - это совершенно отдельная и независимая вещь.
     
  • 2.33, Аноним (22), 05:01, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Ну например, это штука, которая позволяет сильно ускорить код в браузере (хотя браузером использование не ограничивается конечно)
    Пруф: https://yashints.dev/blog/2019/12/17/tfjs-wasm
     

  • 1.31, Аноним (31), 01:54, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Эй, а почему не писать сразу на Си? Мама не разрешила, раввин грозно хмурится, или девки давать не будут?
    > Первый выпуск
    > wasm3

    так первый выпуск wasm3, или третий выпуск wasm? :)
    > быстрого
    > интерпретатора

    хорошая шутка, но боян
    > интерпретатора
    > Assembly

    И мало им было жаваскрипта, поверх браузера, написанного на Си (а не на ассемблере), и сказали они: А давайте - ка напишем интерпретатор ассемблера, поверх браузера, написанного на Си (а не на ассемблере)!
    > WebAssembly

    Закопайте ассемблеры обратно, в шестидесятых, ну драйверы пишите, или там компиляторы....

     
     
  • 2.45, Аноним (40), 08:23, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > Эй, а почему не писать сразу на Си?

    Вебмакаки не понимают как это :)

     
     
  • 3.78, имя_ (?), 13:24, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    То, что вебмакак сваяет за час, ты, дружок, будешь в несколько раз дольше делать.

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

     
     
  • 4.80, Аноним (80), 14:09, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > То, что вебмакак сваяет за час

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

     
     
  • 5.86, имя_ (?), 14:37, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем отлаживать несколько недель? Для веба написано (и проверено другими макаками) огромное количество кода, в том числе и обвязки для разных пюре-си библиотек.
     
     
  • 6.92, Аноним (80), 18:13, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Например, чтобы убедиться, что при отвале соединения вызываются все нужные асинх... большой текст свёрнут, показать
     
  • 2.48, supme (?), 08:46, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Интерпретатор С? Wasm нужен для работы на всех платформах с минимальными потерями производительности и потребления памяти, например web, зайти на сайт можно и с arm и с x86 устройства.
     
     
  • 3.67, Аноним (67), 11:22, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > и с arm и с x86 устройства

    Ещё с x86_64.

     
  • 2.53, Cykooz (ok), 09:58, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Внимательнее читать надо статью - там есть ответ. Как минимум потому, что есть платформы и/или OS где запрещено в рантайме создавать в памяти исполняемый код (например в iOS такие ограничения). Можно только данными в памяти ворочать, а код загружать и запускать может только, например OS. Поэтому и нужен именно интерпретатор, который "выполняет" программу находящуюся в секции с данными.
     
     
  • 3.81, Аноним (81), 14:15, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну "зашибись". Сначала одни создают "защищенные" OS в которых можно выполнять только заранее известный код (программы) загруженный только из доверенных источников. Потом другие "пропихивают" включение в эти программы специального "интерпретатора" который может "исполнять" программный код загруженный в виде ДАННЫХ из недоверенных источников. Отлично! И потом третьи удивляются что ЭТО находит применение в первую очередь для написания всяких вредоносных приложений?
     

  • 1.35, Аноним (35), 06:23, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Недавно проверял производительность, код в браузере работает 1.5 раза медленнее кода на Си. Но на Си можно оптимизировать код векторными интринсиками, а на wasm они пока недоделанные и браузерами не поддерживаются (даже тулами из wasm), только компилятор их умеет генерировать simd байткоды. Так что Си код с векторами у меня работает 6 раз быстрее, чем wasm без векторов. И это еще без многопоточности, вроде pthreads в wasm заявлены, но я не проверял. Возможно не работают как и simd.
     
     
  • 2.46, Аноним (-), 08:25, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ну как бы wasm для запуска недоверяемого барахла. Так или иначе песочница обладает некоторым оверхедом. Ты же не хочешь отдать проц непонятной вебне вообще напрямую и без ограничений?!
     
     
  • 3.72, Аноним (35), 11:52, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Или запускаешь утилиту в браузере, или качаешь собранную, или собираешь из исходников - что удобнее и безопаснее?
     
     
  • 4.79, имя_ (?), 13:25, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    >удобнее и безопаснее

    удобнее ИЛИ безопаснее :-)

     
  • 3.101, Аноним (36), 15:01, 15/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    А, что весь тот оверхед в процессоре для различного рода изоляции кода никак нельзя применить? На самом деле контейнеры в Linux выполняются в точно такой же песочнице, как и недоверенное веб-барахло.
     
     
  • 4.102, имя (ok), 15:25, 15/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > А, что весь тот оверхед в процессоре для различного рода изоляции кода
    > никак нельзя применить? На самом деле контейнеры в Linux выполняются в
    > точно такой же песочнице, как и недоверенное веб-барахло.

    Да какие ж это песочницы? Так, напихали во все if, которые нашли, вызовы ns_capable() и сидят, трясутся с надеждой, что ни один кейс не забыт.

     
  • 2.56, Аноним (56), 10:16, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Сферический код в вакууме?
     
     
  • 3.73, Аноним (35), 11:54, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Обработка изображений, не сферическая. Себе к имени добавляй "сферический" - "Сферический анон", будешь дальше писать.
     
     
  • 4.83, Аноним (19), 14:21, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    да у тебя прям 48 на морозе :)
     

  • 1.47, анонимчик (?), 08:28, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Какое-то безумие начинать новый проект не на rust
     
     
  • 2.64, Аноним (59), 11:00, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Странно не встретить растоманов в любой ветке.
    Ваш Rust уже для микроконтроллеров машинный код генерит?
     
  • 2.71, Аноним (67), 11:31, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > новый проект не на rust

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

     
     
  • 3.99, Аноним (99), 04:10, 15/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Языки без будущего не нужны (привет, питон 2)
    При чем тут раст?
     
     
  • 4.108, Аноним (-), 23:34, 17/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    > При чем тут раст?

    Соседняя новость же - из мозиллы уволено 70 разработчиков. Сейчас у них не останется разработчиков - и чудную репу с crates или как их там придется закрыть. Ну или как вариант, выгодно загнать какому-нибудь intel, ibm, microsoft или google...

     
  • 2.76, Аноним (76), 12:39, 14/01/2020 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Какое-то безумие начинать новый проект на rust

    fixed.

     

  • 1.54, Аноним (19), 10:06, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > возможна компиляция wasm3 в промежуточный код WebAssembly для выполнения интерпретатора в браузере

    Странно, что не в жабаскрипт... А это точно для микроконтроллеров?!

     
  • 1.74, Аноним (76), 12:37, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    В то время когда нормальные компании JIT запрещают https://github.com/ricardoquesada/Spidermonkey/issues/38 Кто-то умудряется JIT в микроконтроллеры проталкивать.
     
     
  • 2.98, Аноним (99), 04:09, 15/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Что нормального в запрете JIT?
    Без JIT не будет более-менее быстрых скриптовых языков
     
     
  • 3.105, Аноним (104), 23:45, 16/01/2020 [^] [^^] [^^^] [ответить]  
  • +/
    Так может и не надо оно?
    В чем проблема один раз написать и скомпилировать код?
     

  • 1.77, Голубой гигант (?), 12:50, 14/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ждём Google Chrome на WIndows 98?
     
  • 1.100, Аноним (100), 14:53, 15/01/2020 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Читаю комментарии и удивляюсь, сколько же на свете кретинов, не понимающих, что webassembly не имеет ничего общего с ассемблером, кроме созвучного названия.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2020 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру