--[[ | |
Some Time Trails for the JSON4Lua package | |
]]-- | |
require('json') | |
local os = require('os') | |
local table = require('table') | |
local string = require("string") | |
local skipDecode = (...) == '--skipDecode' | |
local count = tonumber(select(2, ...) or 500) or 500 | |
local strDup = tonumber(select(3, ...) or 1) or 1 | |
local t1 = os.clock() | |
local jstr | |
local v | |
for i=1,count do | |
local t = {} | |
for j=1,500 do | |
t[#t + 1] = j | |
end | |
for j=1,500 do | |
t[#t + 1] = string.rep("VALUE", strDup) | |
end | |
jstr = json.encode(t) | |
if not skipDecode then v = json.decode(jstr) end | |
--print(json.encode(t)) | |
end | |
for i = 1,count do | |
local t = {} | |
for j=1,500 do | |
local m= j % 4 | |
local idx = string.rep('a'..j, strDup) | |
if (m==0) then | |
t[idx] = true | |
elseif m==1 then | |
t[idx] = json.util.null | |
elseif m==2 then | |
t[idx] = j | |
else | |
t[idx] = string.char(j % 0xFF) | |
end | |
end | |
jstr = json.encode(t) | |
if not skipDecode then v = json.decode(jstr) end | |
end | |
print (jstr) | |
--print(type(t1)) | |
local t2 = os.clock() | |
print ("Elapsed time=" .. os.difftime(t2,t1) .. "s") |