Skip to content

Instantly share code, notes, and snippets.

@cloudwu
Created July 28, 2014 12:15
Show Gist options
  • Save cloudwu/7fdfc73a10ed7e756e05 to your computer and use it in GitHub Desktop.
Save cloudwu/7fdfc73a10ed7e756e05 to your computer and use it in GitHub Desktop.
test cjson
-- cjson is clone from https://github.com/mpx/lua-cjson/
-- time lua testcjson.lua 1 1000000 (decode : 15.57s)
-- time lua testcjson.lua 1000000 1 (encode : 19.53s)
local cjson = require "cjson"
local ab = {
person = {
{
name = "Alice",
id = 10000,
phone = {
{ number = "123456789" , type = 1 },
{ number = "87654321" , type = 2 },
}
},
{
name = "Bob",
id = 20000,
phone = {
{ number = "01234567890" , type = 3 },
}
}
}
}
collectgarbage "stop"
local encode_time , decode_time = ...
encode_time = tonumber(encode_time)
decode_time = tonumber(decode_time)
local code
for i=1,encode_time do
code = cjson.encode(ab)
end
print(#code)
for i=1,decode_time do
local addr = cjson.decode(code)
for k,p in ipairs(addr.person) do
for k,v in ipairs(p.phone) do
for _,_ in pairs(v) do
end
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment