3 local bench
= require
"bench"
4 local aux
= require
"bench-aux"
6 local lib
= ... or aux
.optenv("BENCH_L", "bench-wheel.so")
7 local limit
= tonumber(aux
.optenv("BENCH_N", 1000000))
8 local step
= tonumber(aux
.optenv("BENCH_S", limit
/ 100))
9 local verbose
= aux
.toboolean(os
.getenv("BENCH_V", false))
11 local B
= bench
.new(lib
, count
)
15 local fill_elapsed
, fill_count
= aux
.time(B
.fill
, B
, i
, 60 * 1000000)
16 assert(i
== fill_count
)
19 local del_elapsed
= aux
.time(B
.del
, B
, 0, fill_count
)
21 local del_rate
= i
> 0 and i
/ del_elapsed
or 0
23 local fmt
= verbose
and "%d\t%f\t(%d/s)\t(fill:%f)" or "%d\t%f"
24 aux
.say(fmt
, i
, del_elapsed
, del_rate
, fill_elapsed
)