Skip to content

logiceditor-com/luamarca

Folders and files

NameName
Last commit message
Last commit date
Oct 10, 2013
Nov 18, 2013
Oct 4, 2013
Nov 7, 2013
Nov 7, 2013
Nov 6, 2013
Nov 23, 2009
Oct 4, 2013
Nov 23, 2009
Nov 7, 2013
Oct 2, 2013
Oct 4, 2013
Oct 4, 2013
Nov 7, 2013

Repository files navigation

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