Released lua-benchmarker
I've released lua-benchmarker that is a benchmarker for lua code. This benchmarker is for taking microbenchmark.
This library is available on luarocks. You can install this by luarocks install benchmarker
.
For example, write a benchmark code like following:
local benchmarker = require 'benchmarker' benchmarker.new({ ["insert append"] = function () local arr = {} for i=1,1000 do table.insert(arr, i) end end, ["index append"] = function () local arr = {} for i=1,1000 do arr[i] = i end end, }):warmup(10):run_within_time(1):timethese():cmpthese()
then execute this code, the result is the following:
starting warming up: 10 Score: index append: 1 wallclock secs ( 1.05 usr + 0.00 sys = 1.05 CPU) @ 51124.51/s (n=53695) insert append: 1 wallclock secs ( 1.06 usr + 0.00 sys = 1.06 CPU) @ 9185.70/s (n=9760) Comparison chart: Rate index append insert append index append 51125/s -- 457% insert append 9186/s -82% --
Yes, this output format is taken from Benchmark.pm. This benchmarker is inspired by Benchmark.pm and tokuhirom/nanobench.
NOTE: This utility supports multi-platform (i.e. Windows is also supported!!).
Enjoy.