From 2d1df4714e2736dbde7855ddcd76b4c1de822fa5 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Mon, 23 Jan 2012 21:58:02 +1000 Subject: Added a big bunch of example lua scripts for testing the speed of lua compiling. --- LuaSL/testLua/yueliang-0.4.1/test_lua/5.1/fib.lua | 40 +++++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 LuaSL/testLua/yueliang-0.4.1/test_lua/5.1/fib.lua (limited to 'LuaSL/testLua/yueliang-0.4.1/test_lua/5.1/fib.lua') diff --git a/LuaSL/testLua/yueliang-0.4.1/test_lua/5.1/fib.lua b/LuaSL/testLua/yueliang-0.4.1/test_lua/5.1/fib.lua new file mode 100644 index 0000000..97a921b --- /dev/null +++ b/LuaSL/testLua/yueliang-0.4.1/test_lua/5.1/fib.lua @@ -0,0 +1,40 @@ +-- fibonacci function with cache + +-- very inefficient fibonacci function +function fib(n) + N=N+1 + if n<2 then + return n + else + return fib(n-1)+fib(n-2) + end +end + +-- a general-purpose value cache +function cache(f) + local c={} + return function (x) + local y=c[x] + if not y then + y=f(x) + c[x]=y + end + return y + end +end + +-- run and time it +function test(s,f) + N=0 + local c=os.clock() + local v=f(n) + local t=os.clock()-c + print(s,n,v,t,N) +end + +n=arg[1] or 24 -- for other values, do lua fib.lua XX +n=tonumber(n) +print("","n","value","time","evals") +test("plain",fib) +fib=cache(fib) +test("cached",fib) -- cgit v1.1