packedjson is an alternative Nim implementation for JSON. The JSON is essentially kept as a single string in order to save memory over a more traditional tree representation.
The API is mostly compatible with the stdlib's json.nim
module,
some features have been cut though.
nim c -r bench\generator
nim c -r -d:release bench\benchmark.nim
nim c -r -d:release -d:useStdlib benchmark.nim
On my machine, I got these results:
packed json: used Mem: 94.06MiB time: 2.622s
stdlib json: used Mem: 1.277GiB time: 3.759s
packedjson is now being used in production and seems to be reasonably stable.