Size: a a a

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

2019 December 16

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
я о том и говорю
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ну это звучало просто очень категорично
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
ну и ас не весь в жс скомпилится же
источник

OS

Oleg Shelajev in WebAssembly — русскоговорящее сообщество
это примерно как весь npm переписать на расте чтобы можно было бы через вебассембли в браузере запускать
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ҫѐҏӗѫӑ Ҹҋ 🤖
ну и ас не весь в жс скомпилится же
Вообще то весь если использовать portable полифиллы. Ну может кроме некоторых очень низкоуровневых вещей, которые толькор в std библиотеке применяются и которые все равно и не нужно компилировать так как все это в js движке и так есть
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Отличный пример - wasmboy. Там в бенче сравниваются AS и JS версии скомпилированные из одного и тех же исходников
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Да. Опять же ты про полифиллы прочитал?
источник

M

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

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Там полифил для Array#sort который синхронизирует это раздичие для портативного кода (когда as компилируется в js а не wasm)
источник

P🛸

Pavel 🛸 in WebAssembly — русскоговорящее сообщество
Сортировка мух с котлетами в реальной жизни почти не нужна, наверняка есть случаи когда АС приходится тюнить под задачу. Что бы их не было нужно больше комьюнити.
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Pavel 🛸
Сортировка мух с котлетами в реальной жизни почти не нужна, наверняка есть случаи когда АС приходится тюнить под задачу. Что бы их не было нужно больше комьюнити.
Здесь не про то. У AS есть некоторые различия в поведении. В основном это исправления всякого легаси и избавления от причуд вызванных тем, что JS слабо типизирован. Но все это испарвляется так же в специальной клеевом коде / полифиллах для js. Конечно если эти полифиллы не использовать, то могут быть неприятности, но не обязательно, как ты выразилсмя найти сейчас в коде arr.sort() без явно заданного компаратора очень трудно, потому что дефолтное поведения для сортировки не устраивает вообще никого)
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Кстати даже для полифиллов мы весьма заморочились по части производительности. вот например как выглядит popcnt (подсчет единичных битов в 32-битном числе)
https://github.com/AssemblyScript/assemblyscript/blob/master/std/portable/index.js#L97

Да еще забыл упомянуть что код с u64/i64 корректно не странслировать в JS. Это действительно ограничение
источник

VK

Vladimir Kurchatkin in WebAssembly — русскоговорящее сообщество
> Да еще забыл упомянуть что код с u64/i64 корректно не странслировать в JS. Это действительно ограничение

почему же? Просто нужно добавить соответствующий рантайм и пресдтавлять в виде пары чисел
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
MaxGraey
Кстати даже для полифиллов мы весьма заморочились по части производительности. вот например как выглядит popcnt (подсчет единичных битов в 32-битном числе)
https://github.com/AssemblyScript/assemblyscript/blob/master/std/portable/index.js#L97

Да еще забыл упомянуть что код с u64/i64 корректно не странслировать в JS. Это действительно ограничение
Но это поправимо через BigInt. просто руки еще не дошли, да и не уверен что это кому то нужно
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Vladimir Kurchatkin
> Да еще забыл упомянуть что код с u64/i64 корректно не странслировать в JS. Это действительно ограничение

почему же? Просто нужно добавить соответствующий рантайм и пресдтавлять в виде пары чисел
Можно через long.js, но это лишняя зависимость
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
MaxGraey
Но это поправимо через BigInt. просто руки еще не дошли, да и не уверен что это кому то нужно
через бигинт скорее всего не получится
источник

ҪҸ

Ҫѐҏӗѫӑ Ҹҋ 🤖 in WebAssembly — русскоговорящее сообщество
у него отличия в поведении от набера
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Ҫѐҏӗѫӑ Ҹҋ 🤖
через бигинт скорее всего не получится
получиться, но там нужна будет кодогенерация и препарсинг уже
источник

M

MaxGraey in WebAssembly — русскоговорящее сообщество
Делается это через BigInt.asIntN / BigInt.asUintN
источник