dart-archive / wasm

Utilities for loading and running WASM modules from Dart code
https://pub.dev/packages/wasm
BSD 3-Clause "New" or "Revised" License
312 stars 24 forks source link

No JIT on iOS #127

Open modulovalue opened 1 year ago

modulovalue commented 1 year ago

iOS platforms do not support certain primitives needed for fast JITing in applications distributed through the App Store. JITing is needed for a fast wasm runtime.

Wasmer added support for precompilation through which wasm can be compiled to a dylib and that dylib can then be bundled with applications to allow distribution through the App Store.

There are other wasm runtimes that interpret wasm and do not depend on JITing. The catch is that they are slower than JITed runtimes and I'm not sure if applications that interpret wasm are allowed on the App Store.

So either:

modulovalue commented 1 year ago

So apparently no JIT doesn't necessarily mean abysmal performance.

https://microsoftedge.github.io/edgevr/posts/Super-Duper-Secure-Mode/

Microsoft is supporting a JIT-free mode for Edge with what looks like not much slower benchmarks.

Maybe wasm3 could indeed be a viable alternative. They also claim that it can be built in seconds which would address #113