Updated code size

This commit is contained in:
Benoit Blanchon
2014-09-09 21:25:25 +02:00
parent 286a514fbe
commit 49d2b4b2a2

View File

@ -10,8 +10,8 @@ It has been written with Arduino in mind, but it isn't linked to Arduino librari
Features
--------
* JSON decoding: [more details here](/JsonParser/)
* JSON encoding: [more details here](/JsonGenerator/)
* JSON decoding: [see documentation here](/JsonParser/)
* JSON encoding: [see documentation here](/JsonGenerator/)
* Elegant API, very easy to use
* Fixed memory allocation (no malloc)
* Small footprint
@ -22,9 +22,9 @@ Feature comparison
| Library | Memory allocation | Nested objects | Parser size | Encoder size |
| ------------ | ----------------- | -------------- | ----------- | ------------- |
| Arduino JSON | static | yes | 2642 Bytes | 862 bytes |
| json-arduino | dynamic | no | 3348 (+27%) | not supported |
| aJson | dynamic | yes | 5088 (+93%) | 4678 (+540%) |
| Arduino JSON | static | yes | 2760 Bytes | 862 bytes |
| json-arduino | dynamic | no | 3348 (+21%) | not supported |
| aJson | dynamic | yes | 5088 (+84%) | 4678 (+540%) |
"Parser size" was measured with a program parsing `{"sensor":"outdoor","value":25.6}`.
For each library, I wrote a program that extracts a string and a float. I subtracted the size of a program doing the same without any JSON parsing involved. [Source files are here](https://gist.github.com/bblanchon/e8ba914a7109f3642c0f).