Luamarca
Collection of silly Lua benchmarks
Install / Use
/learn @logiceditor-com/LuamarcaREADME
Luamarca: a set of silly Lua benchmarks
The name is from Portuguese "marca de referência", "a benchmark".
See the copyright information in the file named COPYRIGHT.
This code is still in its embryonic phase. More appropriate description would be added later.
WARNING: Current benchmark system code is weird. You've been warned. Patches are welcome. ;-)
Install rock:
./make.sh
WARNING: depends on https://github.com/lua-nucleo/lua-nucleo https://github.com/lua-aplicado/lua-aplicado http://w3.impa.br/~diego/software/luasocket https://github.com/logiceditor-com/le-tools
Example:
luamarca bench/arguments.lua --iterations=2e6
luamarca bench/benchmark.lua --cases=foo
luamarca bench/benchmark.lua --interpreters='luajit2 -jv:lua5.1'
luamarca bench/benchmark.lua --output=barchart
NOTE: Always run smoke check before submitting new benchmarks:
bin/smoke.sh bench/*.lua
Benchmark file standard:
-- Return all methods from the file's main chunk -- Return recommended number of iterations as NUM_ITERATIONS key (ignored in current implementation)
Example:
local bench = { }
bench.NUM_ITERATIONS = 1e6
bench.methodA = function()
-- Do something
end
bench.methodB = function()
-- Do something in another way
end
return bench
'bargraph' output mode:
To make bar chart from benchmark data you need a bargraph.pl tool. You can get it from here: http://www.burningcutlery.com/derek/bargraph/
$ luamarca bench/benchmark.lua --output=bargraph >barchart.data; perl bargraph.pl -png barchart.data > barchart.png
