> can still be JITimed and get close to native performance
Has anyone achieved this yet? I haven't seen any results myself but I haven't been looking carefully.
Also wouldn't you have to build that JIT yourself and all the primitives you need to implement a dynamic language like the caches and deoptimisation? Seems like it's not really providing the needed tools and you'd have to build a lot of basics on top of it.
Wasm is just the spec, browsers and wasm vm implementations that will implement the JIT evaluator, and yes JIT is already being implemented in some vendors, of course nothing final yet.
Wasm is not mature like the other big VMs yet, but it is still a big contender
> browsers and wasm vm implementations that will implement the JIT evaluator
I'm not sure this is the case - I think it's down to the Wasm application to implement any JIT - so it's not doing much of the work of a traditional VM - you have to build all that yourself from the ground up.
> and yes JIT is already being implemented in some vendors
I've not seen any examples - can you reference once?
You said 'of course' it's suitable for dynamic languages... but there's no evidence of this anywhere yet and many other people with experience disagree.
Ah my bad, I think I misunderstood your comment. I was reaffirming this:
> wasm can still be JITimed and get close to native performance
I’m also not super familiar with this subject, so I unfortunately don’t understand the distinction you’re making between source and target.
> Seems like it's not really providing the needed tools and you'd have to build a lot of basics on top of it
My understanding is that this is accurate, and folks like the Bytecode Alliance[0] are working on building that ecosystem of tools on top of WASM, and I see wasmtime as being one of those tools.
Has anyone achieved this yet? I haven't seen any results myself but I haven't been looking carefully.
Also wouldn't you have to build that JIT yourself and all the primitives you need to implement a dynamic language like the caches and deoptimisation? Seems like it's not really providing the needed tools and you'd have to build a lot of basics on top of it.