Size: a a a

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

2019 March 18

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
jit всегда же был? Там вроде говорится про кэш
источник

AF

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

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
Alexey F.
так, я вот сам только взялся за эту тему, может пропустил чего
если что, пример использования wasmer в проде можно у near подсмотреть
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
там еще и LLVM бэк добавили
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Вот есть бенч для разных бэкендов:
https://github.com/wasmerio/wasmer-bench
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
Mikhail Voronov
если что, пример использования wasmer в проде можно у near подсмотреть
как пользоваться вопросов нет. Вопрос сейчас - проверить, что имеет смысл с этим делать, а что - не очень
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
а, действительно, там есть сравнение, причем 3-х вариантов

https://github.com/wasmerio/wasmer-bench/blob/master/benches/benchmarks.rs#L76
источник

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
native, CraneliftCompiler и LLVMCompiler
источник

NK

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

AF

Alexey F. in WebAssembly — русскоговорящее сообщество
I'm on it
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
В теории, идеальный jit должен уступать всего на 10% нативу. Но у v8 например очень медленный mem bound checking и нету еще многих оптимизаций для циклов и оптимизаций для 64-битовых целых насколько я смотрел. Они только недавно добавили loop rotation pass. А еще нужен unroll, vectorization, LCSSA, LICM, ScalarEvolution
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
Откуда эта цифра взялась?
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
Я имею ввиду 10%?
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Где то была сатья про jit компиляторы. Там и было выведен теоретический предел
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
это очень интересная статья, должно быть. Был бы рад если бы ты ее откопал
источник

lp

lil pep in WebAssembly — русскоговорящее сообщество
интересно что они за workload используют
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
ID:414983998
В теории, идеальный jit должен уступать всего на 10% нативу. Но у v8 например очень медленный mem bound checking и нету еще многих оптимизаций для циклов и оптимизаций для 64-битовых целых насколько я смотрел. Они только недавно добавили loop rotation pass. А еще нужен unroll, vectorization, LCSSA, LICM, ScalarEvolution
хм, а почему в теории он вообще должен уступать?
источник

NK

ID:414983998 in WebAssembly — русскоговорящее сообщество
Не помню, надо поискать. В jit компиляторах, нельзя делать некоторые оптимизации из-за политики безопасности
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
да и конкретное число тут выглядит как-то не математично:)
источник

MV

Mikhail Voronov in WebAssembly — русскоговорящее сообщество
если это не статистически было выведено конечно
источник