From f82e7d3bdf18cf103d536050e3032494fff10bd8 Mon Sep 17 00:00:00 2001 From: Aaron O'Mullan Date: Fri, 21 May 2021 15:42:17 +0200 Subject: [PATCH] fix(bench_util): correctly run async benches in tokio context (#10736) --- bench_util/src/js_runtime.rs | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/bench_util/src/js_runtime.rs b/bench_util/src/js_runtime.rs index a19eccd1f8..cc704ff97d 100644 --- a/bench_util/src/js_runtime.rs +++ b/bench_util/src/js_runtime.rs @@ -64,15 +64,16 @@ pub fn bench_js_async( if is_profiling() { for _ in 0..10000 { - runtime.execute("inner_loop", src).unwrap(); - let future = runtime.run_event_loop(); - tokio_runtime.block_on(future).unwrap(); + tokio_runtime.block_on(inner_async(src, &mut runtime)); } } else { b.iter(|| { - runtime.execute("inner_loop", src).unwrap(); - let future = runtime.run_event_loop(); - tokio_runtime.block_on(future).unwrap(); + tokio_runtime.block_on(inner_async(src, &mut runtime)); }); } } + +async fn inner_async(src: &str, runtime: &mut JsRuntime) { + runtime.execute("inner_loop", src).unwrap(); + runtime.run_event_loop().await.unwrap(); +}