Is it projected what the eventual performance loss will be long term? Honestly if it's at least 80% of native and lets me use the same binaries across all architectures and in the browser, I'd probably consider it worth it.
You're probably right when it comes to scale though. Portability is more important for apps than services.
That said, it would be cool to be able to develop a Rust service locally on my x86 machine then deploy a working/signed artifact directly to ARM servers.
Rust can cross-compile. I.e. you can build on an x86-machine and target aarch64.
Is it projected what the eventual performance loss will be long term?
I don't know, but my understanding is that wasm ir is optimized for fast JIT compilation and not ideal for AOT workloads.
And compiling on demand on a target machine isn't great either because that means you're burning CPU cycles on compilation. Of course that can be worked around by turning wasm into machine code and distributing that to target machines. But then it's better to compile straight to machine code.
Comments
Is it projected what the eventual performance loss will be long term? Honestly if it's at least 80% of native and lets me use the same binaries across all architectures and in the browser, I'd probably consider it worth it.
You're probably right when it comes to scale though. Portability is more important for apps than services.
That said, it would be cool to be able to develop a Rust service locally on my x86 machine then deploy a working/signed artifact directly to ARM servers.
Rust can cross-compile. I.e. you can build on an x86-machine and target aarch64.
I don't know, but my understanding is that wasm ir is optimized for fast JIT compilation and not ideal for AOT workloads.
And compiling on demand on a target machine isn't great either because that means you're burning CPU cycles on compilation. Of course that can be worked around by turning wasm into machine code and distributing that to target machines. But then it's better to compile straight to machine code.
That's the kind of thing you can do with Rust -> WASM -> WASI (or something like that).