Benchmark

measureOnce


(macro measureOnce (tag code) (...)) Measure the time it takes to run some given code, in milliseconds

Author: @SuperFola

Parameters

  • tag: Identifier for the code block (string)
  • code: Node of code to run

bench


(macro bench (code times) (...)) Benchmark some given code by running it a given number of times

Author: @SuperFola

Parameters

  • code: code to run, eg. a function call
  • times: number of times to run the code

Example

(let fib (fun (n)
  (if (< n 2)
    n
    (+ (fib (- n 1)) (fib (- n 2))))))
(bench (fib 23) 10)
# (fib 23), 10 times
#   ↪︎ range: [4.7 - 5.02] ms
#   ↪︎ mean: 4.85ms
#   ↪︎ median: 4.86ms