blob: 1ffa121ee6737383d275026ab2ba81331deb0445 [file] [log] [blame] [edit]
--[[
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")