Pretty impressed with the performance of the cranelift and singlepass backends. They've come a long way. I am wondering why the LLVM backend takes so long to compile the TiDb Wasm. Presumably it doesn't take >3 days to compile TiDb from source with llgo and rustc. Why would compiling it to Wasm first make it take way longer to compile than from source?
In general, compiling to Wasm gives you the universality over a chipset or OS. Imagine that you compile TiDB today to Wasm, tomorrow you will be able to run it in chipsets or platforms where it was not available today (RISC-V, for example), without the need of installing a toolchain to rebuild the binary... just with a small runtime like Wasmer.