fix(bench_util): correctly run async benches in tokio context (#10736)

This commit is contained in:
Aaron O'Mullan 2021-05-21 15:42:17 +02:00 committed by GitHub
parent 4a9b40b717
commit f82e7d3bdf
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -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();
}