diff options
author | Rui914 <rui914t@gmail.com> | 2016-03-07 00:53:45 +0900 |
---|---|---|
committer | paramat <mat.gregory@virginmedia.com> | 2016-03-06 23:42:04 +0000 |
commit | 24e8b0ac1ea45719937948607259f13866c8bc64 (patch) | |
tree | f8bb110a59ca436d2a7a15686da8feab160a1c93 /builtin/common/serialize.lua | |
parent | 75db0543f3df4b30ce23731f5008d0c9afa277ff (diff) | |
download | minetest-24e8b0ac1ea45719937948607259f13866c8bc64.tar.gz minetest-24e8b0ac1ea45719937948607259f13866c8bc64.tar.bz2 minetest-24e8b0ac1ea45719937948607259f13866c8bc64.zip |
Faster insertion into table
Diffstat (limited to 'builtin/common/serialize.lua')
-rw-r--r-- | builtin/common/serialize.lua | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/builtin/common/serialize.lua b/builtin/common/serialize.lua index 90b8b2ad6..b2165648e 100644 --- a/builtin/common/serialize.lua +++ b/builtin/common/serialize.lua @@ -104,7 +104,7 @@ function core.serialize(x) local i = local_index local_index = local_index + 1 var = "_["..i.."]" - table.insert(local_defs, var.." = "..val) + local_defs[#local_defs + 1] = var.." = "..val dumped[x] = var return var end @@ -135,16 +135,15 @@ function core.serialize(x) local np = nest_points[x] for i, v in ipairs(x) do if not np or not np[i] then - table.insert(vals, dump_or_ref_val(v)) + vals[#vals + 1] = dump_or_ref_val(v) end idx_dumped[i] = true end for k, v in pairs(x) do if (not np or not np[k]) and not idx_dumped[k] then - table.insert(vals, - "["..dump_or_ref_val(k).."] = " - ..dump_or_ref_val(v)) + vals[#vals + 1] = "["..dump_or_ref_val(k).."] = " + ..dump_or_ref_val(v) end end return "{"..table.concat(vals, ", ").."}" @@ -156,9 +155,9 @@ function core.serialize(x) local function dump_nest_points() for parent, vals in pairs(nest_points) do for k, v in pairs(vals) do - table.insert(local_defs, dump_or_ref_val(parent) + local_defs[#local_defs + 1] = dump_or_ref_val(parent) .."["..dump_or_ref_val(k).."] = " - ..dump_or_ref_val(v)) + ..dump_or_ref_val(v) end end end |