Skip to content
This repository has been archived by the owner on Jul 1, 2023. It is now read-only.

No JIT on iOS #127

Open
modulovalue opened this issue Jan 31, 2023 · 1 comment
Open

No JIT on iOS #127

modulovalue opened this issue Jan 31, 2023 · 1 comment

Comments

@modulovalue
Copy link
Contributor

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:

  • the API for compiling wasm will need to be adjusted to support precompilation on iOS platforms
  • or wasm will need to be intrepreted on iOS through e.g. wasm3
  • or we'll have to wait until Apple adds first party wasm support (I have no reason to assume that they have plans to do so)
  • or no iOS support
@modulovalue
Copy link
Contributor Author

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

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Development

No branches or pull requests

1 participant