I am calling some linked functions provided by the host from my guest wasm (all in Rust), and I've put some timers around the functions, and it seems like the overhead of calling a host function is 30ms?
I time my host function with this:
linker.func_wrap5_async("myapp", "execute", Box::new(async move {
let start = Instant::now();
{ ... }
let end = Instant::now();
println!("Host function time: {}ms", (end - start).as_millis());
}));
And my guest code does the same:
let start = Instant::now();
host::myapp::execute(…);
let end = Instant::now();
println!("Guest function time: {}ms", (end - start).as_millis());
And I get the output of:
Host function time: 0ms
Guest function time: 32ms
Is there some crazy overhead for calling host functions like this?
Nevermind :man_facepalming: I had start - end
in the host. Should've been end - start
Ari Seyhun has marked this topic as resolved.
Last updated: Dec 23 2024 at 12:05 UTC