Skip to content

logiceditor-com/luamarca

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

About

Collection of silly Lua benchmarks

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published