Size: a a a

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

2019 June 05

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Anton Korotkikh
было бы интересно. я с доклада так и не понял зачем там нужен васм и вопрос не успел задать
ну, я успел задать обратный вопрос )
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Anton Korotkikh
было бы интересно. я с доклада так и не понял зачем там нужен васм и вопрос не успел задать
я думаю это должно быть хорошо с точки зрения гарантий (спека) и изоляции
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Потому что у тебя тут 2 пути: blacklist или whitelist
источник

AK

Anton Korotkikh in WebAssembly — русскоговорящее сообщество
Alexey F.
я думаю это должно быть хорошо с точки зрения гарантий (спека) и изоляции
вооот, но тот же амазон для этого использует FireCracker у себя для лямбды. обственно вопрос был бы, а почему васм а не крэкер?
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Многие идут по пути blacklist
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Кажется, что чем больше ты запариваешься по безопасности - тем больше у тебя резонов пойти по пути whitelist
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexey F.
а Fluence разве не asmble использует?
ага, мы используем asmble, доработанный до наших нужд
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Anton Korotkikh
но какой в этом смысл? если у тебя таргет jvm, то ты можешь писать на котлине, скале и той же жабе.
если ты пишешь на расте или сях, то зачем тебе таргет жабы, у тебя будет нативный более производительный код
В нашем случае два основных плюса: верифицируемость и детерминизм. + т.к. мы запускаем код на машинах клиентов, то ещё важна безопасность. Нельзя просто сишный бинарник запускать
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
В нашем случае два основных плюса: верифицируемость и детерминизм. + т.к. мы запускаем код на машинах клиентов, то ещё важна безопасность. Нельзя просто сишный бинарник запускать
Кстати, как там у Java JIT с compiler bomb? Проблема существует?
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Могу ли я залить код, который случайно "порадует" другого пользователя?
источник

AK

Anton Korotkikh in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
В нашем случае два основных плюса: верифицируемость и детерминизм. + т.к. мы запускаем код на машинах клиентов, то ещё важна безопасность. Нельзя просто сишный бинарник запускать
на машинах ликентах, это типа внутри JVM клиентов? т.е. по итогу вы у них жаба классы запускаете?
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexey F.
Кстати, как там у Java JIT с compiler bomb? Проблема существует?
теоретически ага, существует, но на практике я не видел ни одного примера. Это у нас пока не совсем до конца продуманная область, пытаемся решить экономикой (ну и, видимо, особо никаких других способов в случае jvm нет).
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Anton Korotkikh
на машинах ликентах, это типа внутри JVM клиентов? т.е. по итогу вы у них жаба классы запускаете?
ликентах? Ага, по итогу запускаем jvm код
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
теоретически ага, существует, но на практике я не видел ни одного примера. Это у нас пока не совсем до конца продуманная область, пытаемся решить экономикой (ну и, видимо, особо никаких других способов в случае jvm нет).
ну так-то можно было сразу v8 юзать (по-идее)
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexey F.
ну так-то можно было сразу v8 юзать (по-идее)
у cranelift тоже вроде такой проблемы нет
источник

AK

Anton Korotkikh in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
ликентах? Ага, по итогу запускаем jvm код
клиентах, опечатка. тогда всё равно не особо понятен смысл васма, можно же был просто накатать какой-нибудь свой класс-лоадер и отправлять туда классы. всё равно же по итогу исполняется жаба-класс, так чего бы сразу и не грузить жаба-класс?
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
у cranelift тоже вроде такой проблемы нет
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
у cranelift тоже вроде такой проблемы нет
такой это какой? v8 и cranelift оба подвержены
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Anton Korotkikh
клиентах, опечатка. тогда всё равно не особо понятен смысл васма, можно же был просто накатать какой-нибудь свой класс-лоадер и отправлять туда классы. всё равно же по итогу исполняется жаба-класс, так чего бы сразу и не грузить жаба-класс?
Промежуточное представление. Тем более потом всегда можно будет поменять бэкэнд с лёгкостью. Г. гибкость.
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Anton Korotkikh
клиентах, опечатка. тогда всё равно не особо понятен смысл васма, можно же был просто накатать какой-нибудь свой класс-лоадер и отправлять туда классы. всё равно же по итогу исполняется жаба-класс, так чего бы сразу и не грузить жаба-класс?
произвольный jvm код не настолько детерминирован, как оттранслированный с wasm. Помимо этого в jvm нет такой конвертации с разных языков.
источник