Basic example on how to write benchmarks
#!/usr/bin/env -S gawk -E
@include "bench"
@load "time"
# Write bench_* functions
func bench_sleep1() {
return sleep(0.1)
}
func bench_sleep2() {
return sleep(0.2)
}
# Or write regular functions
func sleepx(x) {
return sleep(x)
}
func sleep2x(x) {
return sleep(2 * x)
}
BEGIN {
# Run benchmark on bench_* functions
# Run benchmark on specific functions passing them an argument
args[1] = 0.1
}
auto runBenchs(string|array names, array|unassigned args, number times=10, number warmups=0)
Run benchmark on functions.
Definition bench.awk:23