From 82a737798b5694e353971a00f46d117743d2a03e Mon Sep 17 00:00:00 2001 From: Micha White Date: Sun, 12 Nov 2023 21:36:20 -0500 Subject: Create a benchmark for scripts --- scripts/bin/benchmark.rs | 16 ++++++++++++++++ scripts/bin/ex.wat | 29 +++++++++++++++++++++++++++++ 2 files changed, 45 insertions(+) create mode 100644 scripts/bin/benchmark.rs create mode 100644 scripts/bin/ex.wat (limited to 'scripts/bin') diff --git a/scripts/bin/benchmark.rs b/scripts/bin/benchmark.rs new file mode 100644 index 0000000..24f672d --- /dev/null +++ b/scripts/bin/benchmark.rs @@ -0,0 +1,16 @@ +use std::time::Instant; + +use scripts::ScriptManager; + +fn main() { + let mut manager = ScriptManager::new(); + let start = Instant::now(); + manager + .add_wasm_script(Box::from("example"), "bin/ex.wat", false) + .unwrap(); + println!("Took {} microseconds", start.elapsed().as_micros()); + + let start = Instant::now(); + manager.run_update_scripts(); + println!("Took {} microseconds", start.elapsed().as_micros()); +} diff --git a/scripts/bin/ex.wat b/scripts/bin/ex.wat new file mode 100644 index 0000000..af461bd --- /dev/null +++ b/scripts/bin/ex.wat @@ -0,0 +1,29 @@ +(module + (import "alligator" "abs" (func $abs (param i32) (result i32))) + (func $add1 + (local $i i32) + (loop $myloop + local.get $i + i32.const 1 + i32.add + local.set $i + + local.get $i + call $abs + + local.get $i + i32.const 40 + i32.lt_s + br_if $myloop + + drop + ) + ) + (func $add2 nop) + (export "begin" (func $add2)) + (export "update" (func $add1)) + (memory (;0;) 16) + (export "memory" (memory 0)) + (global $base i32 (i32.const 1)) + (export "__heap_base" (global $base)) +) -- cgit v1.2.3