From d068f0b3c11348a50c18af1ee3b0d2e5f38c4faf Mon Sep 17 00:00:00 2001 From: Matthew Sotoudeh Date: Fri, 17 May 2024 15:57:30 -0700 Subject: lua benchmarks --- lua_benchmark/tests/Lua-Benchmarks/sieve.lua | 33 ++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lua_benchmark/tests/Lua-Benchmarks/sieve.lua (limited to 'lua_benchmark/tests/Lua-Benchmarks/sieve.lua') diff --git a/lua_benchmark/tests/Lua-Benchmarks/sieve.lua b/lua_benchmark/tests/Lua-Benchmarks/sieve.lua new file mode 100644 index 0000000..e2c1487 --- /dev/null +++ b/lua_benchmark/tests/Lua-Benchmarks/sieve.lua @@ -0,0 +1,33 @@ +-- $Id: sieve.lua,v 1.9 2001/05/06 04:37:45 doug Exp $ +-- http://www.bagley.org/~doug/shootout/ +-- +-- Roberto Ierusalimschy pointed out the for loop is much +-- faster for our purposes here than using a while loop. + +local count = 0 + +function main(num, lim) + local flags = {} + for num=num,1,-1 do + count = 0 + for i=1,lim do + flags[i] = 1 + end + for i=2,lim do + if flags[i] == 1 then + k = 0 + for k=i+i, lim, i do + flags[k] = 0 + end + count = count + 1 + end + end + end +end + +NUM = tonumber((arg and arg[1])) or 100 +lim = (arg and arg[2]) or 8192 +print(NUM,lim) +count = 0 +main(NUM, lim) +print("Count: ", count) -- cgit v1.2.3