TPDE: A Fast Adaptable Compiler Back-End Framework was recently published.
6.2.1 Setup. We evaluate the performance of the Cranelift back-end by measuring compile- and run-time on the three default benchmarks in Wasmtime’s own benchmark suite Sightglass [10] and PolyBench [31 ]. We compare this against Cranelift with its backtracking and single pass register allocator, both without any IR optimizations, and Winch. [...]
6.2.2 Results. Figure 9 shows the results. The TPDE-based back-end compiles 4.27x faster than Cranelift and 2.68x faster than Cranelift with its fast register allocator, but is 1.74x slower than Winch. [...] The run-time performance of TPDE-generated code is faster than both Winch and Cranelift with its fast register allocator (1.14x and 1.31x respectively), but 1.64x slower than Cranelift with its default backtracking register allocator. This shows that a more sophisticated register allocation heuristic is likely to substantially improve the run-time performance.
@Olivier FAURE yes, those numbers are interesting; my main takeaway was that good regalloc is important (1.64x faster code from Cranelift over TPDE) :-) TDPE and Cranelift serve different design points -- both are useful. The more interesting part of the project is the general IR consumer interface -- that's pretty neat
Did you have specific questions or thoughts?
Last updated: Dec 06 2025 at 06:05 UTC