dicej added the wasm-proposal:component-model-async label to Issue #11209.
dicej opened issue #11209:
#11127 changes the implementation of
[Typed]Func::call_asyncwhen thecomponent-model-asyncfeature is enabled, conservatively setting up the state required to handle the Component Model async ABI in case the guest function uses it. This extra work shows up in microbenchmarks such asasync-pool/no-hook/component - host-to-wasm - typed - nop-params-and-results, where we see a 120%-150% regression vs. the original code path.Alex and I spent some time looking at the profile, and there was no obvious low-hanging fruit. The main hotspots appear to be moving large objects in memory, possibly related to
wasmtime::runtime::component::concurrent::GuestTaskandFutures containing it.We should try to improve the existing
async-pool/no-hook/component - host-to-wasm - typed - .*benchmarks and also add new ones which actually exercise the async ABI features (e.g. an async-with-callback-lifted export which yields N times before completing).
alexcrichton added the performance label to Issue #11209.
Last updated: Dec 06 2025 at 07:03 UTC