diff options
author | Kim Alvefur <zash@zash.se> | 2019-07-08 02:46:27 +0200 |
---|---|---|
committer | Kim Alvefur <zash@zash.se> | 2019-07-08 02:46:27 +0200 |
commit | e22a26259927efe96a2808964e98f1dd42a573e5 (patch) | |
tree | ed7768f531d3923c9d6169e0d1fceafe67638fb1 /util | |
parent | 005aa17e7a8a7e16a41113def642d8aabb3507fd (diff) | |
download | prosody-e22a26259927efe96a2808964e98f1dd42a573e5.tar.gz prosody-e22a26259927efe96a2808964e98f1dd42a573e5.zip |
util.serialization: Cache default serialization instance (fixes #1389)
Most serialization uses still use the default serialize() and thus
duplicate much of the setup, which negates some of the performance
improvements of the rewrite.
Diffstat (limited to 'util')
-rw-r--r-- | util/serialization.lua | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/util/serialization.lua b/util/serialization.lua index dd6a2a2b..5121a9f9 100644 --- a/util/serialization.lua +++ b/util/serialization.lua @@ -272,10 +272,15 @@ local function deserialize(str) return ret; end +local default = new(); return { new = new; serialize = function (x, opt) - return new(opt)(x); + if opt == nil then + return default(x); + else + return new(opt)(x); + end end; deserialize = deserialize; }; |