The OpenNET Project / Index page

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

06.07.2018 11:32  Сравнение производительности различных реализаций WebAssembly

Разработчики PSPDFKit представили новый инструментарий для измерения производительности реализации WebAssembly в различных web-браузерах, нацеленный на воспроизведение ситуаций, типичных для реальных проектов на C/C++, скомпилированных в WASM. Напомним, что WebAssembly предоставляет не зависящий от браузера универсальный низкоуровневый промежуточный код для выполнения в браузере приложений, скомпилированных из различных языков программирования.

Лидером при тестировании производительности стал Firefox, который выполнил набор тестов WebAssembly в 2.4 раза быстрее, чем Chrome, в 8.7 раз быстрее Edge и в 6.4 раза быстрее Safari. В Chrome 69 ожидается рост производительности WebAssembly благодаря включению нового оптимизирующего компилятора для WebAssembly, который пока доступен только через экспериментальный флаг enable-webassembly-baseline. Тем не менее, включение данного флага в текущих экспериментальных выпусках Chrome приводит к увеличению производительности примерно на 20%, т.е. Firefox всё равно остаётся в два раза быстрее.

Примечательно, что в Edge и Safari из-за отсутствия некоторых важных оптимизаций тест WebAssembly выполнялся дольше, чем аналог на JavaScript. Производительность WebAssembly и JavaScript в Chrome отличается незначительно. Наибольшая разница в скорости выполнения тестов WebAssembly и JavaScript зафиксирована в Firefox. При тестировании выполнялись различные процедуры обработки PDF-файлов и замерялось как производительность непосредственного выполнения операций, так и суммарное время с учётом загрузки и компиляции псевдокода WASM.

  1. Главная ссылка к новости (https://pspdfkit.com/blog/2018...)
  2. OpenNews: В рамках проекта Nebulet развивается микроядро для запуска WebAssembly
  3. OpenNews: Предварительный выпуск Qt для WebAssembly
  4. OpenNews: Mozilla развивает прослойку для обеспечения переносимости между JavaScript и Rust
  5. OpenNews: Технология WebAssembly признана готовой для включения в браузерах по умолчанию
  6. OpenNews: Для GCC представлен бэкенд c реализацией WebAssembly
Лицензия: CC-BY
Тип: Обобщение
Ключевые слова: webassembly
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, хрю (?), 11:38, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]
  • –1 +/
    >Примечательно, что в Edge и Sagari из-за длительной фазы компиляции и отсутствия некоторых важных оптимизаций тест WebAssembly выполнялся дольше, чем аналог на JavaScript.

    Да в хроме тоже отличие не поражает на повал. WebAssembly пока оправдан только для ff, а как дышаль, а как дышаль.

     
     
  • 2.10, _Vitaly_ (ok), 12:42, 06/07/2018 [^] [ответить]     [к модератору]
  • –1 +/
    На математике image resize у FF я как-то не заметил прорывов WA везде примерн... весь текст скрыт [показать]
     
  • 2.11, хрюгль (?), 12:43, 06/07/2018 [^] [ответить]    [к модератору]  
  • +8 +/
    а мы эту хрень придумали вовсе и не для производительности (это мазила, как обычно, повелась на рекламу и неверно поняла задачу).
    Просто obfuscated js что-то стали быстро реверсить.

     
     
  • 3.14, Урри (?), 13:05, 06/07/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Ну расскажи нам, очередной адепт васм для хакеров, js слишком понятен , что дел... весь текст скрыт [показать]
     
     
  • 4.15, Илья (??), 13:24, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Действительно, макакам не понять всей боли, которая ожидает того, кто будет читать ваш код. Как вы да такого вообще дошли и зачем?
     
     
  • 5.17, Аноним (17), 13:36, 06/07/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    Может он бывший фортранист?
     
  • 5.20, sklsmgw (?), 14:00, 06/07/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    Это результат работы Emscripten :-)
     
     
  • 6.26, хрюгль (?), 15:07, 06/07/2018 [^] [ответить]     [к модератору]  
  • +/
    то есть по сути того же Wasm, но от другой лавочки Ну и что вас удивляет Мы не... весь текст скрыт [показать]
     
     
  • 7.47, Урри (?), 18:52, 06/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Нет, это не wasm Это старый добрый asm js, который уже 5 лет как вовсю использу... весь текст скрыт [показать]
     
     
  • 8.51, пох (?), 19:02, 06/07/2018 [^] [ответить]     [к модератору]  
  • +/
    дык, не переживайте - теперь точно так же на всех без исключения обоих будет... весь текст скрыт [показать]
     
     
  • 9.68, Аноним (68), 15:25, 07/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Не будет Вы не понимаете - asm js, это тот же JS, просто специально оформленный... весь текст скрыт [показать]
     
  • 4.70, Аноним (70), 21:23, 07/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Когда код, где все названия переменных представлены числами, называют необфусцир... весь текст скрыт [показать]
     
     
  • 5.74, Аноним (68), 17:07, 09/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Еще раз - это нормальный, обычный, необфусцированный JS код, которого в вебе уже... весь текст скрыт [показать]
     
     
  • 6.76, Аноним (70), 09:22, 11/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Ознакомьтесь со значением слов, которыми пытаетесь оперировать code Обфуска 7... весь текст скрыт [показать]
     
  • 2.31, Crazy Alex (ok), 15:32, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Если у тебя asm.js мегабайт на 30 - то аналог в WebAssembly будет меньше раза в два и шустрее запускаться раз в пять.
     
     
  • 3.34, нах (?), 15:59, 06/07/2018 [^] [ответить]     [к модератору]  
  • +/
    а выкинуть нахрен то и другое и перенести обработку на сервер, где с ней справит... весь текст скрыт [показать]
     
     
  • 4.37, Аноним (37), 16:04, 06/07/2018 [^] [ответить]    [к модератору]  
  • +5 +/
    >выкинуть нахрен то и другое и перенести обработку на сервер, где с ней справится native бинарник на 30 килобайт - уже совсем нельзя?

    Перенести майнинг на сервер? Смишная шутка

     
  • 4.40, sklsmgw (?), 16:51, 06/07/2018 [^] [ответить]    [к модератору]  
  • +4 +/
    довольно сложно перенести, например, отрисовку сцены игры на сервер
     
     
  • 5.52, пох (?), 19:04, 06/07/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    авторы doom и по-моему wolf3d с ними смотрят на вас с некоторым удивлением на... весь текст скрыт [показать]
     
     
  • 6.55, Аноним (55), 20:21, 06/07/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Не решены только проблемы лага пользовательского ввода Надо либо сервер ставить... весь текст скрыт [показать]
     
     
  • 7.56, пох (?), 20:50, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    а у вас что - игры еще и однопользовательские (авторы doom...ну вы поняли ;-) ?
    в остальных случаях - все равно ж надо их как-то решать.

    И проблема будет в rtt, а не в полосе.

     
     
  • 8.69, Xasd (ok), 16:14, 07/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Doom вообще-то однопользовательский не считая прикрученный проволокой мультипле... весь текст скрыт [показать]
     
  • 4.41, Crazy Alex (ok), 17:11, 06/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Можно теоретически Но 1 если это игра или даже интерактивный редактор процесс... весь текст скрыт [показать]
     
  • 4.44, Ydro (?), 17:55, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    И давно у вас браузерные 3D игры строят логику рендереринга на сервере?
     
     
  • 5.53, пох (?), 19:05, 06/07/2018 [^] [ответить]    [к модератору]  
  • –2 +/
    > И давно у вас браузерные 3D игры строят логику рендереринга на сервере?

    на asmjs без доступа к видеокарте им проще это делать?


     
     
  • 6.63, Crazy Alex (ok), 11:59, 07/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Почему без доступа? OpenGL ES там сто лет как
     
  • 3.48, Урри (?), 18:56, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    > будет меньше раза в два и шустрее запускаться раз в пять.

    К сожалению, не будет.
    https://hacks.mozilla.org/files/2016/10/asmjs-wasm-comparison.png

     
     
  • 4.64, Crazy Alex (ok), 12:02, 07/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Так у них там ничего крупного и нет С определённого размера asm js тупит Я для... весь текст скрыт [показать]
     
  • 1.3, Попугай Кеша (?), 11:45, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Посидим, подождем. Рядовым разрабам WASM не нужен. Он скорее нужен для тех, кто компиляторы пишут из божественного Rust, Go, C++ в WASM.

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

    Это как DX/OpenGL/Vulkan никто напрямую не использует, а юзают просто игровые движки и все счастливы.

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

    У C# неплохие перспективы тут, у QT.

     
     
  • 2.12, Урри (?), 12:49, 06/07/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Одна проблема - нечем портировать Emscripten каждый месяц ломают обратную совме... весь текст скрыт [показать]
     
     
  • 3.24, Андрей (??), 14:53, 06/07/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Форкнул - это когда продолжаешь развитие Если зафризил - то можно было и просто... весь текст скрыт [показать]
     
  • 3.29, Андрей (??), 15:15, 06/07/2018 [^] [ответить]     [к модератору]  
  • +/
    По приведенной ссылки я вижу, что тот код по крайней мере cheerp , что доступен... весь текст скрыт [показать]
     
     
  • 4.49, Урри (?), 18:57, 06/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Ну с этим я спорить не буду Лучше Только в данном случае получается редька вк... весь текст скрыт [показать]
     
  • 3.42, Crazy Alex (ok), 17:14, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Да и хрен бы с ним, asm.js у них точно так же менялся всё время, мешало это вполне умеренно. Тупо пишешь в скриптах развёртывания или в доках конкретную версию и в emsdk-portable её и устанавливаешь.
     
     
  • 4.59, mumu (ok), 01:34, 07/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Я конечно с другой планеты, но вот эти конкретные зафриженые версии разве пото... весь текст скрыт [показать]
     
     
  • 5.65, Crazy Alex (ok), 12:08, 07/07/2018 [^] [ответить]     [к модератору]  
  • +/
    Не больше, чам старые зафриженые версии gcc Вообще безопасностью там в основн... весь текст скрыт [показать]
     
  • 1.4, Аноним (4), 11:52, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Firefox стабильно удерживает лидерство по производительности. Хрому пора переходить на spidermonkey.
     
     
  • 2.7, Аноним (7), 12:07, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Судя по графику, spidermonkey уступает V8 на 30% (JavaScript). Это Фурифоксу пора переходить на V8. WASM же быстрее на FF.
     
     
  • 3.9, Аноним (9), 12:29, 06/07/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    Как пользователь Firefox уже в течении лет 10ти могу подтвердить тот факт что ЖА... весь текст скрыт [показать]
     
     
  • 4.28, Аноним (28), 15:11, 06/07/2018 [^] [ответить]     [к модератору]  
  • +3 +/
    Я тебе секрет открою, никому не говори эти 1 2-1 5Гб мусора на 100 состоят и... весь текст скрыт [показать]
     
  • 4.38, Иван (??), 16:21, 06/07/2018 [^] [ответить]     [к модератору]  
  • +2 +/
    Я, как пользователь ФФ со стажем более 10 лет, что нужно бы Вам проверить настро... весь текст скрыт [показать]
     
     
  • 5.67, Почти Аноним (?), 13:39, 07/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Пиши список расширений. Найду отличную замену всем 100%.
     
     
  • 6.71, Аноним (71), 23:13, 07/07/2018 [^] [ответить]     [к модератору]  
  • –1 +/
    Как насчёт чего-нибудь для открывания mht и сохранения в нём же Ишак и хромопод... весь текст скрыт [показать]
     
     
  • 7.72, Почти Аноним (?), 04:54, 08/07/2018 [^] [ответить]     [к модератору]  
  • +/
    А это чем плохо Умеет сохранять страницу полностью в один файл https addons ... весь текст скрыт [показать]
     
  • 6.75, Аноним (75), 23:38, 09/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Tab Kit 2nd Edition + дополнения к нему.
    В свое время искал - отличных замен в упор не было видно. Поделки типа Tree Style Tab не предлагать: знаю, пользовался - до Tab Kit далеко.
     
  • 4.60, mumu (ok), 01:37, 07/07/2018 [^] [ответить]     [к модератору]  
  • +/
    У меня так было из-за аддонов И это был прямо косяк разработчика аддона В обще... весь текст скрыт [показать]
     
     
  • 5.61, mumu (ok), 01:40, 07/07/2018 [^] [ответить]     [к модератору]  
  • +/
    p s Проблема довольно эффективно решается Tab Suspender-ами, которые тушат все ... весь текст скрыт [показать]
     
  • 3.45, Аноним (45), 18:19, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Когда проводил различные тесты, JS фокса был в целом чуть быстрее хрома, который был чуть быстрее ноды, которая была в несколько раз быстрее эджа
    Так что V8 vs Spider - вопрос спорный
     
  • 1.16, Аноним (16), 13:29, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +3 +/
    Почему-то тесты проводятся на таком железе как i7 / 32GB. Видимо скоро всем срочно придётся выкинуть на помойку свои девайсы с 4 и 8 ГБ памяти, чтоб не тормозило!
     
     
  • 2.19, 123 (??), 14:00, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Потому что 16 ГБ уже недостаточно!
     
     
  • 3.30, Аноним (30), 15:15, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    ГБ недостаточно
    Даешь ТБ в каждый планшет!
     
  • 2.33, Аноним (33), 15:47, 06/07/2018 [^] [ответить]     [к модератору]  
  • –2 +/
    8 уже минимум Причем минимум такой не особо комфортный Новую машину меньше ч... весь текст скрыт [показать]
     
     
  • 3.36, Аноним (36), 16:02, 06/07/2018 [^] [ответить]    [к модератору]  
  • –3 +/
    Вполне комфортно с 4 ГБ одновременно играю в Minecraft (ему выделено 1.5 ГБ вместо стандартного 1 ГБ), сижу в Firefox и общаюсь в Discord. Памяти хватает.
     
  • 1.18, Аноним (33), 13:45, 06/07/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • –1 +/
    Я не очень понимаю как будет выглядеть исходник веб-страницы с этим вебассембли ... весь текст скрыт [показать]
     
     
  • 2.21, Алексей (??), 14:20, 06/07/2018 [^] [ответить]    [к модератору]  
  • +17 +/
    Ты и сейчас загружаешь себе левый JS-файл и молишься, что бы песочница была не дырявая.
     
  • 2.22, Аноним (22), 14:23, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    >молиться, чтобы песочница браузера была не дырявая?

    именно так

     
     
  • 3.27, хрюгль (?), 15:10, 06/07/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    >>молиться, чтобы песочница браузера была не дырявая?
    > именно так

    и noscript тебе от него не поможет, потому что это не скрипт.
    Для того и делали.

    Ишь, взяли моду, копаться в нашем прекрасном коде!

     
     
  • 4.46, Аноним (45), 18:22, 06/07/2018 [^] [ответить]     [к модератору]  
  • +/
    С noscript жить в современном мире вообще невозможно Особенно если речь о совре... весь текст скрыт [показать]
     
     
  • 5.54, пох (?), 19:11, 06/07/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    > современных одностраничных сайтах (что добавляет скорости загрузки страниц, кстати)

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

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

    noscript, кстати, слегка помогает - если соединения для script src= не открываются ;-)

     
  • 5.66, Crazy Alex (ok), 12:11, 07/07/2018 [^] [ответить]    [к модератору]  
  • +/
    Запросто можно, я так живу. Этих самых "современных одностраничных" довольно мало, да и там обычно достаточно разрешить полтора домена - это если вообще какое-то взаимодействие с ними нужно, а не открыл - посмотрел/прочёл/закрыл.
     
  • 5.73, Аноним (-), 16:24, 09/07/2018 [^] [ответить]     [к модератору]  
  • +1 +/
    Я вам скажу крамольную мысль, только пусть, пожалуйста, причастные не обижаются ... весь текст скрыт [показать]
     
  • 4.62, kaa (??), 10:58, 07/07/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    > и noscript тебе от него не поможет, потому что это не скрипт.

    wasm подгружается из js (да и сам по себе не имеет доступа к большей части api браузера)

     
  • 2.23, анонимтут (?), 14:35, 06/07/2018 [^] [ответить]    [к модератору]  
  • +1 +/
    На сайте mozilla есть примеры. Либо так <script type='module'>, либо fetch
     
  • 2.25, Xasd (ok), 14:58, 06/07/2018 [^] [ответить]    [к модератору]  
  • +3 +/
    > левый исполняемый файл у себя в браузере

    он не исполняемый

     
  • 2.32, Crazy Alex (ok), 15:37, 06/07/2018 [^] [ответить]    [к модератору]  
  • +2 +/
    Ровно так же, как и сейчас с джаваскриптом. Даже не так - у JS есть доступ к DOM и прочим API браузера, у WASM  в текущей реализации его нет, используется джаваскриптовый бридж. Ни в чём у WASM нет больше полномочий, чем у джаваскрипта.
     
  • 1.35, demimurych (ok), 16:00, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Тут что-то не так.
    Буквально неделю назад я собирал сканер qr кодов, который в случае wasm показал количество отсканированных кодов в 11 раз больше чем та же реализация на джаваскрипт.
     
     
  • 2.50, Урри (?), 19:00, 06/07/2018 [^] [ответить]    [к модератору]  
  • +/
    > в 11 раз больше чем та же реализация на джаваскрипт.

    Попробуй asm.js; плюсы - будет работать даже в старых телевизорнызх браузерах, минусы - чуть-чуть медленнее васма.

     
  • 1.57, Аноним (57), 20:56, 06/07/2018 [ответить] [показать ветку] [···]    [к модератору]  
  • +4 +/
    обколются своими веб-приложениями и потом майнят биткойны во вкладках
     
  • 1.58, Аноним (58), 21:44, 06/07/2018 [ответить] [показать ветку] [···]     [к модератору]  
  • +1 +/
    Что-то не все так просто У меня тоже тест запощен для декодирования WebP https... весь текст скрыт [показать]
     

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


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