| --[[ | |
| 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") |