Would be nice because supposedly not only does GraalVM reduce start-up time but features some highly aggressive optimizations ideal for abstraction heavy code/languages (like scala). Would be nice to use because scala generates garbage like it’s no tomorrow.
Then native image may not be for you yet. Topline performance of native image is currently a lot worse than that of Graal compiler.
> Would be nice to use because scala generates garbage like it’s no tomorrow.
Then native image definitely isn't for you yet. The GC of native image is currently a lot worse than what you get with GraalVM / HotSpot.
One of the annoying things about Graal are there are a lot of different things all under the Graal umbrella. Also there are a lot of limitations of native image that people often don't talk about. These limitations basically make it not Java anymore. One person once summarized native image as, "even less Java than Android".
NVIDIA used to support software emulation but removed it in 2009. GPUOcelot picked up the torch but is unmaintained since 2015.
JVMs are sandboxed and verifiable too, not sure what use a fallback to stock JS is but you can run a JVM in JS (look at TeaVM), it's way easier to emit bytecode for almost any modern language than WASM simply because JVMs do garbage collection for you and it's not really any easier to build tooling for WASM than any other VM.
In the end the main reason to do WASM over other VMs is that this way Mozilla/Chrome guys get to own it, instead of a competing firm.
In economic terms, it would mean making accesible to the web millions of libraries which have a human/hours development cost of hundreds of billions of dollars.
I believe it underperforms in comparison with raw C or C++ implementation, just because of the overhead that goes through GraalVM
EDIT: or you can install CUDA from 2009 before they stripped out the software emulator and use no features from the last decade, but then you might as well just use OpenCL :)
A lesson that Khronos learnt too late regarding OpenCL.