From 03dc3b8972f460e40d0b75fc3207cae9fe4f60da Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Fri, 22 Jul 2022 17:54:22 +0530 Subject: feat(ops): V8 Fast Calls (#15122) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bartek IwaƄczuk --- cli/bench/deno_common.js | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'cli/bench') diff --git a/cli/bench/deno_common.js b/cli/bench/deno_common.js index c31ccd981..c02a6c883 100644 --- a/cli/bench/deno_common.js +++ b/cli/bench/deno_common.js @@ -5,8 +5,31 @@ Deno.bench("date_now", { n: 5e5 }, () => { Date.now(); }); +// Fast API calls +{ + // deno-lint-ignore camelcase + const { op_add } = Deno.core.ops; + // deno-lint-ignore no-inner-declarations + function add(a, b) { + return op_add.call(a, b); + } + // deno-lint-ignore no-inner-declarations + function addJS(a, b) { + return a + b; + } + Deno.bench("op_add", { n: 1e7 }, () => add(1, 2)); + Deno.bench("add_js", { n: 1e7 }, () => addJS(1, 2)); +} + +// deno-lint-ignore camelcase +const { op_void_sync } = Deno.core.ops; +function sync() { + return op_void_sync.call(); +} +sync(); // Warmup +console.log(sync()); // Void ops measure op-overhead -Deno.bench("op_void_sync", { n: 1e7 }, () => Deno.core.opSync("op_void_sync")); +Deno.bench("op_void_sync", { n: 1e7 }, () => sync()); Deno.bench( "op_void_async", -- cgit v1.2.3