Size: a a a

WebAssembly — русскоговорящее сообщество

2018 December 21

SV

Slava Viktorov in WebAssembly — русскоговорящее сообщество
источник

SV

Slava Viktorov in WebAssembly — русскоговорящее сообщество
в файрфокс)
источник

SV

Slava Viktorov in WebAssembly — русскоговорящее сообщество
источник

RS

Roman Sharkov in WebAssembly — русскоговорящее сообщество
Slava Viktorov
в файрфокс)
ты ещё в Safari замерь, там будет вообпе Piздц
источник

SV

Slava Viktorov in WebAssembly — русскоговорящее сообщество
Roman Sharkov
ты ещё в Safari замерь, там будет вообпе Piздц
Ну так они и внутри разные.
Думаю и в других языках разные вм дают разные числа
источник

RS

Roman Sharkov in WebAssembly — русскоговорящее сообщество
Slava Viktorov
Ну так они и внутри разные.
Думаю и в других языках разные вм дают разные числа
такое ощущение что typed buffers в Safari настолько плохо реализованы что JSON на их фоне просто ракета.

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

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Кстати JSON, который используется в v8 в 6 раз медленнее RapidJSON. Хотя может уже и нет) В то же время RapidJSON вcего 8 раз медленее сишной strdup (банальное копирование строки). А теперь почему JSON в браузерах быстрее чем какой нибудь бинарного протокол сериализации написанный на js. JSON написан на C++, кроме того, там применяются поисковые таблицы символов и SIMD для парсинга, так что парсинг там сейчас очень быстрый. Плюс быстрая работа с памятью (используются кастомные аллокаторы) и отсутствие GC
источник

SV

Slava Viktorov in WebAssembly — русскоговорящее сообщество
Да json хорош
источник

RS

Roman Sharkov in WebAssembly — русскоговорящее сообщество
ID:414983998
Кстати JSON, который используется в v8 в 6 раз медленнее RapidJSON. Хотя может уже и нет) В то же время RapidJSON вcего 8 раз медленее сишной strdup (банальное копирование строки). А теперь почему JSON в браузерах быстрее чем какой нибудь бинарного протокол сериализации написанный на js. JSON написан на C++, кроме того, там применяются поисковые таблицы символов и SIMD для парсинга, так что парсинг там сейчас очень быстрый. Плюс быстрая работа с памятью (используются кастомные аллокаторы) и отсутствие GC
у JSON несколько проблем:

1. JSON генерный и слабо структурирован. Если у нас протокол комуникации заранее (грубо говоря int X at buffer[4:8]) известен то JSON'нная динамика совершенно лишняя

2. JSON совершенно не умеeт бинарку, файлы по нему не передать (можно, но Base64 это очень, очень дорого), приходится данные и малые файлы разбивать, что порой не очень удобно.

3. JSON текстовый, жрёт дохрена bandwidth, банальный map[Int]Int в нём превратится в:

{"i": 1,"i": 2,"i": 3,"i": 4,"i": 5,"i": 6} (43 байта)

в то время когда это можно упаковать в ~28 байт, т.е. в 2 раза урезать без компрессии (и это лишь данные для примера, обычно разница ещё больше, потому-что никто обычно не урезает имена полей)
источник

RS

Roman Sharkov in WebAssembly — русскоговорящее сообщество
JSON прекрасен для human-readable debug output'а, но в production таки лучше пускать бинарь
источник

RS

Roman Sharkov in WebAssembly — русскоговорящее сообщество
overhead на encoding на сервере тоже значительный
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Так я же не утверждаю, что JSON круче всех и всегда. Я лишь подчеркиваю что он быстр и почему так
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
Народ, сделал группу по webgl, так как такой позоже не было t.me/webgl_ru
источник

RS

Roman Sharkov in WebAssembly — русскоговорящее сообщество
ID:414983998
Так я же не утверждаю, что JSON круче всех и всегда. Я лишь подчеркиваю что он быстр и почему так
относительно быстрый, но скорее из-за корявости жабаскрипта 😐
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
Там мы будем ускорять все подрят)
источник

RS

Roman Sharkov in WebAssembly — русскоговорящее сообщество
Pavel 🛸
Там мы будем ускорять все подрят)
даже JSON?)
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
Ну текстуры для текста есть, но врятли парсинг сильно ускорится за счет карты
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Pavel 🛸
Народ, сделал группу по webgl, так как такой позоже не было t.me/webgl_ru
А почему только Three.js? А как же Babylon.js и PlayCanvas?
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
Хз, вроде хайпится. Я на чистом пишу
источник

RS

Roman Sharkov in WebAssembly — русскоговорящее сообщество
ID:414983998
А почему только Three.js? А как же Babylon.js и PlayCanvas?
действительно, если уж делать группу то уж лучше называть её "WebGL"
источник