summaryrefslogtreecommitdiff
path: root/Data/DefaultContent/Libraries/LiteJson/bench/bench_decode.lua
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2021-11-15 11:54:17 +0800
committerchai <chaifix@163.com>2021-11-15 11:54:17 +0800
commit30f2f46474bf4eda5f10d4c64a07cde01d469f66 (patch)
tree6ff2ed3262037b3c9bae2d2b9059a1d65773f31c /Data/DefaultContent/Libraries/LiteJson/bench/bench_decode.lua
parent4c36bed53fe63ae6056730b3ecad2573f03d88f8 (diff)
*rename DefaultContent -> BuiltIn
Diffstat (limited to 'Data/DefaultContent/Libraries/LiteJson/bench/bench_decode.lua')
-rw-r--r--Data/DefaultContent/Libraries/LiteJson/bench/bench_decode.lua75
1 files changed, 0 insertions, 75 deletions
diff --git a/Data/DefaultContent/Libraries/LiteJson/bench/bench_decode.lua b/Data/DefaultContent/Libraries/LiteJson/bench/bench_decode.lua
deleted file mode 100644
index 6c2e93a..0000000
--- a/Data/DefaultContent/Libraries/LiteJson/bench/bench_decode.lua
+++ /dev/null
@@ -1,75 +0,0 @@
-local bench = require "util.bench"
-
-
-local libs = {
- "../json.lua", -- https://github.com/rxi/json.lua
- "dkjson.lua", -- https://github.com/LuaDist/dkjson
- "jfjson.lua", -- http://regex.info/blog/lua/json
- --"json4lua.lua", -- https://github.com/craigmj/json4lua
-}
-
-
--- JSON string: wikipedia example stored 1000 times in an array
-local text = "[" .. string.rep([[{
- "firstName": "John",
- "lastName": "Smith",
- "isAlive": true,
- "age": 25,
- "address": {
- "streetAddress": "21 2nd Street",
- "city": "New York",
- "state": "NY",
- "postalCode": "10021-3100"
- },
- "phoneNumbers": [
- {
- "type": "home",
- "number": "212 555-1234"
- },
- {
- "type": "office",
- "number": "646 555-4567"
- }
- ],
- "children": [],
- "spouse": null
-}, ]], 1000):sub(1, -3) .. "]"
-
-
--- As this is meant to be a pure Lua benchmark, we remove the ability to
--- require 'lpeg' so dkjson doesn't use it for parsing. (Incidentally json.lua
--- seems to outperform libraries which use lpeg when both are using LuaJIT)
-local _require = require
-require = function(modname)
- if modname == "lpeg" then error() end
- return _require(modname)
-end
-
--- Run benchmarks, store results
-local results = {}
-
-for i, name in ipairs(libs) do
- local f = loadfile(name)
- if not f then
- error( "failed to load '" .. name .. "'; run './get_json_libs.sh'" )
- end
- local json = f()
-
- -- Remap functions to work for jfjson.lua
- if name == "jfjson.lua" then
- local _encode, _decode = json.encode, json.decode
- json.encode = function(...) return _encode(json, ...) end
- json.decode = function(...) return _decode(json, ...) end
- end
-
- -- Warmup (for LuaJIT)
- bench.run(name, 1, function() json.decode(text) end)
-
- -- Run and push results
- local res = bench.run(name, 10, function() json.decode(text) end)
- table.insert(results, res)
-end
-
-
-bench.print_system_info()
-bench.print_results(results)