diff --git a/examples/data.myc b/examples/data.myc index 7171ca0..f707544 100644 --- a/examples/data.myc +++ b/examples/data.myc @@ -1,5 +1,5 @@ ;; Complex Data Structure Test -;; Benchmark: 49.8us +;; Benchmark: 50.2us ;; Output: {:input 10, :name "Fibonacci", :output 55} (do (def fib (fn [n] diff --git a/examples/macro_hygiene.myc b/examples/macro_hygiene.myc index 8ca0e9d..07b6faa 100644 --- a/examples/macro_hygiene.myc +++ b/examples/macro_hygiene.myc @@ -1,3 +1,4 @@ +;; Benchmark: 300ns ;; Output: 5 (do (def y 1) diff --git a/src/main.rs b/src/main.rs index 6344080..8d681b5 100644 --- a/src/main.rs +++ b/src/main.rs @@ -397,6 +397,18 @@ impl eframe::App for CompilerApp { { self.run_all_tests(); } + + ui.separator(); + + let is_debug = cfg!(debug_assertions); + ui.add_enabled_ui(!is_debug, |ui| { + let bench_btn = ui.button("⏱ Bench"); + if is_debug { + bench_btn.on_hover_text("Benchmarks are only available in Release builds."); + } else if bench_btn.clicked() { + self.run_benchmarks(false); + } + }); }); ui.add_space(2.0); });