-
Notifications
You must be signed in to change notification settings - Fork 29
/
Copy pathperformance.txt
51 lines (41 loc) · 1.97 KB
/
performance.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
JSON Performance Comparison under Lua
-------------------------------------
The following JSON packages for Lua were tested:
- DKJSON 1.0: One of the fastest pure Lua JSON implementations.
- LuaJSON 1.0: A mixed Lua/C JSON implementation using LPeg.
- Lua YAJL 2.0: A Lua wrapper for the YAJL JSON library.
- CJSON 1.0.2: Pure C.
LuaJSON 1.2.2 appeared to be slower during initial testing, so 1.0 was
used instead.
The following Lua implementations were used for this comparison:
- Lua 5.1.4
- LuaJIT 2.0.0-beta7
The example JSON files used were taken from http://json.org/ and
RFC 4627.
DKJSON 1.0 LuaJSON 1.0 LuaYAJL 2.0 CJSON 1.0.2
== Decoding == Lua LuaJIT Lua LuaJIT Lua LuaJIT Lua LuaJIT
example1 1.0x 2.0x 3.4x 4.0x 7.1x 10.1x 13.2x 19.4x
example2 1.0x 2.1x 3.5x 4.5x 6.6x 9.8x 12.7x 20.0x
example3 1.0x 2.0x 3.9x 4.7x 7.0x 9.4x 13.2x 19.3x
example4 1.0x 1.9x 3.7x 4.4x 7.4x 10.6x 11.8x 18.0x
example5 1.0x 2.1x 4.0x 4.7x 7.7x 11.4x 14.7x 22.3x
numbers 1.0x 2.1x 2.1x 3.4x 4.6x 5.7x 8.6x 10.4x
rfc-example1 1.0x 2.0x 3.2x 4.2x 5.8x 8.2x 11.8x 17.7x
rfc-example2 1.0x 2.0x 3.6x 4.5x 7.0x 9.3x 14.5x 20.5x
types 1.0x 2.1x 2.3x 3.5x 4.9x 7.6x 10.7x 17.2x
== Average ==> 1.0x 2.0x 3.3x 4.2x 6.4x 9.1x 12.4x 18.3x
== Encoding ==
example1 1.0x 1.9x 0.6x 1.4x 3.5x 5.6x 23.1x 29.1x
example2 1.0x 2.0x 0.5x 1.2x 3.0x 4.9x 23.4x 28.5x
example3 1.0x 1.8x 0.6x 1.3x 3.0x 4.7x 13.3x 14.9x
example4 1.0x 1.7x 0.7x 1.5x 4.2x 6.6x 15.4x 18.5x
example5 1.0x 2.0x 0.6x 1.4x 3.4x 5.5x 22.7x 25.5x
numbers 1.0x 2.4x 0.4x 0.9x 1.4x 2.1x 4.3x 4.6x
rfc-example1 1.0x 1.9x 0.5x 1.2x 2.3x 3.6x 8.8x 9.6x
rfc-example2 1.0x 1.9x 0.6x 1.3x 2.8x 4.3x 10.7x 10.7x
types 1.0x 2.4x 0.3x 0.7x 1.4x 2.3x 11.7x 11.3x
== Average ==> 1.0x 2.0x 0.6x 1.2x 2.8x 4.4x 14.8x 17.0x
Number conversion is a relatively expensive operation. Number heavy
JSON will show less performance difference between libraries.
Performance can vary widely between platforms and data sets. These
results should only be considered as a rough guide.