bytecodealliance / wasm-micro-runtime

WebAssembly Micro Runtime (WAMR)
Apache License 2.0
4.79k stars 606 forks source link

Improve AOT generation performance with an fully parallel pipeline. #2141

Open lum1n0us opened 1 year ago

lum1n0us commented 1 year ago

According to a llvm blog, ThinLTO might be a solution to improve AOT generation performance by using a fully parallel backends.

Some kind of parallel frontends are also necessary. It is able to generate LLVM IR function by function in several working threads parallelly which is verified in JIT.

A fully parallel pipeline about AOT generation includes parallel frontends and backends. But I am not sure the middle partial, do we have to merge all IR-level functions into a single monolithic module and then delivery it to linker(thinLTO) and let thinLTO to split it? Or the thinLTO can accept a lot of small modules directly?

Let's use this issue to track the feature and maintain the discussion.

lum1n0us commented 1 year ago

https://github.com/bytecodealliance/wasm-micro-runtime/issues/2124

https://github.com/bytecodealliance/wasm-micro-runtime/issues/2085