/mobile Handheld Friendly website
Ubuntu : Intel® Q6600® one core |
Each table row shows performance measurements for this Lua program with a particular command-line input value N.
| N | CPU secs | Elapsed secs | Memory KB | Code B | ≈ CPU Load |
|---|---|---|---|---|---|
| 12 | 0.80 | 0.87 | 10,588 | 477 | 2% 0% 1% 98% |
| 16 | 20.33 | 20.36 | 217,564 | 477 | 0% 0% 0% 100% |
| 20 | 477.10 | 477.69 | 2,963,916 | 477 | 0% 0% 0% 100% |
Read the ↓ make, command line, and program output logs to see how this program was run.
Read binary-trees benchmark to see what this program should do.
Lua 5.2.1 Copyright (C) 1994-2012 Lua.org, PUC-Rio
NOT ACCEPTED: We accept the default GC settings.
-- The Computer Language Benchmarks Game -- http://benchmarksgame.alioth.debian.org/ -- contributed by Mike Pall -- modified by Sokolov yura collectgarbage("setstepmul", 0) -- sometimes it helps much. For this benchmark ~ 10% local function BottomUpTree(item, depth) if depth > 0 then local i = item + item depth = depth - 1 local left, right = BottomUpTree(i-1, depth), BottomUpTree(i, depth) return { item, left, right } else return { item } -- Faster for LuaJIT: return { item, false } end end local function ItemCheck(tree) if #tree == 3 then -- Faster for LuaJIT: if tree[2] then return tree[1] + ItemCheck(tree[2]) - ItemCheck(tree[3]) else return tree[1] end end local N = tonumber(arg and arg[1]) or 0 local mindepth = 4 local maxdepth = mindepth + 2 if maxdepth < N then maxdepth = N end do local stretchdepth = maxdepth + 1 local stretchtree = BottomUpTree(0, stretchdepth) io.write(string.format("stretch tree of depth %d\t check: %d\n", stretchdepth, ItemCheck(stretchtree))) end local longlivedtree = BottomUpTree(0, maxdepth) for depth=mindepth,maxdepth,2 do local iterations = 2 ^ (maxdepth - depth + mindepth) local check = 0 for i=1,iterations do check = check + ItemCheck(BottomUpTree(1, depth)) + ItemCheck(BottomUpTree(-1, depth)) end io.write(string.format("%d\t trees of depth %d\t check: %d\n", iterations*2, depth, check)) end io.write(string.format("long lived tree of depth %d\t check: %d\n", maxdepth, ItemCheck(longlivedtree)))
Wed, 30 Jan 2013 01:57:17 GMT COMMAND LINE: /usr/local/src/lua-5.2.1/install/bin/lua binarytrees.lua-3.lua 20 PROGRAM OUTPUT: stretch tree of depth 21 check: -1 2097152 trees of depth 4 check: -2097152 524288 trees of depth 6 check: -524288 131072 trees of depth 8 check: -131072 32768 trees of depth 10 check: -32768 8192 trees of depth 12 check: -8192 2048 trees of depth 14 check: -2048 512 trees of depth 16 check: -512 128 trees of depth 18 check: -128 32 trees of depth 20 check: -32 long lived tree of depth 20 check: -1