Collection of silly Lua benchmarks
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bench
bin
doc
etc/git/hooks
rockspec
src/lua/luamarca
.gitignore
AUTHORS
COPYRIGHT
README
TODO
config.ld
make-doc.sh
make.sh

README

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