JsonBenchmarkCpp is a small program to benchmark various JSON
frameworks in c++
Currently supports following libs,
See my blog post for details.
- Install git
git clone git://github.com/lijoantony/JsonBenchmarkCpp.git
- Edit main.cpp to suit your needs
- Either edit the Makefile as you like and use make to build the executable
or use your favourite build system to compile and link main.cpp with the libs.
Frameworks ranked in the order libjson, json_spirit and Cajun for both parsing and writing speeds
Eg:
$./JsonBenchmarkCpp > results.dat
$ cat results.dat
#library parsing writing
cajun 1660 114
json_spirit 8854 499
libjson 19 3
Here the numbers shows time taken by each lib for the particular operation in micro seconds.
libjson is a clear winner among the three.
Sample results and corresponding grapghs are available in results directory.
For accurate results, replace the content of file data.json with your json data and run the executable.
Use the gnuplot script results/graph.p to draw bar diagram out of this data
$ ./graph.p > graph.png
Thanks to the library authors for their effort and time.
You saved me from reinventing the same wheel again!
Special thanks to Jonathan Wallace, for actively developing libjson and helping me with my queries in no time.