diff options
author | Aaron O'Mullan <aaron.omullan@gmail.com> | 2021-05-19 19:41:23 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-05-19 19:41:23 +0200 |
commit | 24da0aa37db14b0d40815222cf25b34055b13a6a (patch) | |
tree | d421cad2033e44bc0bc07521163613c3b1dd2da0 /core | |
parent | df7639c09664207df4aeb1e66e4bad405eed8cc3 (diff) |
tooling: re-enable bench_util (#10674)
Diffstat (limited to 'core')
-rw-r--r-- | core/Cargo.toml | 5 | ||||
-rw-r--r-- | core/benches/op_baseline.rs | 88 |
2 files changed, 0 insertions, 93 deletions
diff --git a/core/Cargo.toml b/core/Cargo.toml index 0f2968e61..6ad8ea67e 100644 --- a/core/Cargo.toml +++ b/core/Cargo.toml @@ -34,8 +34,3 @@ path = "examples/http_bench_json_ops.rs" # These dependencies are only used for the 'http_bench_*_ops' examples. [dev-dependencies] tokio = { version = "1.6.0", features = ["full"] } -bencher = "0.1" - -[[bench]] -name = "op_baseline" -harness = false diff --git a/core/benches/op_baseline.rs b/core/benches/op_baseline.rs deleted file mode 100644 index ecac4ca26..000000000 --- a/core/benches/op_baseline.rs +++ /dev/null @@ -1,88 +0,0 @@ -use bencher::{benchmark_group, benchmark_main, Bencher}; - -use deno_core::error::AnyError; -use deno_core::op_async; -use deno_core::op_sync; -use deno_core::serialize_op_result; -use deno_core::v8; -use deno_core::JsRuntime; -use deno_core::Op; -use deno_core::OpState; - -use std::cell::RefCell; -use std::rc::Rc; - -fn create_js_runtime() -> JsRuntime { - let mut runtime = JsRuntime::new(Default::default()); - runtime.register_op("pi_json", op_sync(|_, _: (), _: ()| Ok(314159))); - runtime.register_op("pi_async", op_async(op_pi_async)); - runtime.register_op("nop", |state, _| { - Op::Sync(serialize_op_result(Ok(9), state)) - }); - runtime.sync_ops_cache(); - - runtime -} - -// this is a function since async closures aren't stable -async fn op_pi_async( - _: Rc<RefCell<OpState>>, - _: (), - _: (), -) -> Result<i64, AnyError> { - Ok(314159) -} - -pub fn bench_runtime_js(b: &mut Bencher, src: &str) { - let mut runtime = create_js_runtime(); - let scope = &mut runtime.handle_scope(); - let code = v8::String::new(scope, src).unwrap(); - let script = v8::Script::compile(scope, code, None).unwrap(); - b.iter(|| { - script.run(scope).unwrap(); - }); -} - -pub fn bench_runtime_js_async(b: &mut Bencher, src: &str) { - let mut runtime = create_js_runtime(); - let tokio_runtime = tokio::runtime::Builder::new_current_thread() - .enable_all() - .build() - .unwrap(); - - b.iter(|| { - runtime.execute("inner_loop", src).unwrap(); - let future = runtime.run_event_loop(); - tokio_runtime.block_on(future).unwrap(); - }); -} - -fn bench_op_pi_json(b: &mut Bencher) { - bench_runtime_js( - b, - r#"for(let i=0; i < 1e3; i++) { - Deno.core.opSync("pi_json", null); - }"#, - ); -} - -fn bench_op_nop(b: &mut Bencher) { - bench_runtime_js( - b, - r#"for(let i=0; i < 1e3; i++) { - Deno.core.opSync("nop", null, null, null); - }"#, - ); -} - -fn bench_op_async(b: &mut Bencher) { - bench_runtime_js_async( - b, - r#"for(let i=0; i < 1e3; i++) { - Deno.core.opAsync("pi_async", null); - }"#, - ); -} - -benchmark_group!(benches, bench_op_pi_json, bench_op_nop, bench_op_async); -benchmark_main!(benches); |