Size: a a a

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

2020 September 24

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ivan Kopeykin
Все привет, можете подсказать что мне лучше заюзать чтобы скомпилить https://github.com/google/gumbo-parser в wasm, у него есть  Node.js binding но не хочется тащить native зависимость
Проще взять https://github.com/servo/html5ever и попробовать скомпилировать в wasm. кроме того он меинтейниться в отличии gumbo-parser
источник

IK

Ivan Kopeykin in WebAssembly — русскоговорящее сообщество
Там нету индексов у атрибутов ( если я правильно понял доку )..
источник

IK

Ivan Kopeykin in WebAssembly — русскоговорящее сообщество
Ищем парсер html для вебпака и нам нужны оффсеты))
источник

DM

Dmitry M in WebAssembly — русскоговорящее сообщество
Ivan Kopeykin
Все привет, можете подсказать что мне лучше заюзать чтобы скомпилить https://github.com/google/gumbo-parser в wasm, у него есть  Node.js binding но не хочется тащить native зависимость
clang
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
можно еще https://github.com/lexborisov/myhtml попробовать скомпилировать через emscriptem. Он быстрее gimbo и html5ever:
https://lexborisov.github.io/benchmark-html-persers
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
"Using threads" для WASM не сильно полезно...
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Alexander Tchitchigin
"Using threads" для WASM не сильно полезно...
Ну так в cmake есть флаг MyCORE_BUILD_WITHOUT_THREADS
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
MaxGraey
Ну так в cmake есть флаг MyCORE_BUILD_WITHOUT_THREADS
Точнее он даже по-умолчанию отключен
MyCORE_BUILD_WITHOUT_THREADS, YES or (NO or undefined), default undefined
источник

AT

Alexander Tchitchigi... in WebAssembly — русскоговорящее сообщество
MaxGraey
Ну так в cmake есть флаг MyCORE_BUILD_WITHOUT_THREADS
А without threads он быстрее? 😊
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Single mode - это как раз single threaded
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Так что даже без тредов он в 8.5 раз быстрее Gimbo судя по всему
источник

К

Константин in WebAssembly — русскоговорящее сообщество
А это, можно генерить в AS тонну строк, чтобы после не было fromCharCode?
Почему не юзать TextDecoder для этого?
источник

К

Константин in WebAssembly — русскоговорящее сообщество
А то я глянул лоадер, и почесал репу
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
MaxGraey
Single mode - это как раз single threaded
Вот еще результаты он меинтейнера html5ever на более реальных данных:
https://docs.google.com/spreadsheets/d/1W2wb4SNT4LQLLt9X_Y5fkl7Yly_3X6EaDv-yqqMAUhg/edit#gid=86360441
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Константин
А это, можно генерить в AS тонну строк, чтобы после не было fromCharCode?
Почему не юзать TextDecoder для этого?
TextDecoder медленный, кроме того у нас там UTF16 что в JS, что в AS и интероп намного проще, можно обойтись без TextDecoder вообще
источник

К

Константин in WebAssembly — русскоговорящее сообщество
Ну вот если мне надо 1MB сгенерить, неужто то TextDecoder медленнее чем fromCharCode? или на малых объемах
источник

К

Константин in WebAssembly — русскоговорящее сообщество
JSPerf помер
источник

К

Константин in WebAssembly — русскоговорящее сообщество
... эх, там вроде были метрики, самом мерить влом
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Константин
Ну вот если мне надо 1MB сгенерить, неужто то TextDecoder медленнее чем fromCharCode? или на малых объемах
Ну напиши альтернативную функцию и замерь. Лучше в esbench: https://esbench.com (только не забудь снять галочку с babel транспиляции)
источник

К

Константин in WebAssembly — русскоговорящее сообщество
MaxGraey
Ну напиши альтернативную функцию и замерь. Лучше в esbench: https://esbench.com (только не забудь снять галочку с babel транспиляции)
источник