Marc, I went ahead and created a ticket for changing over to RapidJSON where applicable.
https://issues.apache.org/jira/browse/MINIFI-298 Happy to work that if no one else wants to. Would need someone to assign me to the ticket. Cheers, John ________________________________________ From: Marc <[email protected]> Sent: Friday, May 5, 2017 9:33 AM To: [email protected] Subject: Re: MiNiFi C++ JSON library efficiency Hi Andy, Perhaps the ease of use was the motivating factor. You bring up an excellent point, though. The trade off is likely one to make given the numbers you provided . If you haven't already created a jira ticket to track this I can. I'm supportive of reviewing alternative dependencies given constraints, once higher priority work is completed . On May 5, 2017 8:47 AM, "Andrew Christianson" < [email protected]> wrote: All, I noticed that jsoncpp was added as a dependency in MINIFI-274. I'm currently working a branch with an earlier root which uses RapidJSON. What was the motivation behind jsoncpp? Looking at the benchmarks, RapidJSON is significantly more efficient in terms of both CPU and memory [1]. The difference is stark: 8ms parsing with RapidJSON vs 166 ms with jsoncpp; 4,833,344 bytes of memory with RapidJSON vs 24,560,400 bytes with jsoncpp. RapidJSON has a somewhat less easy API, but it is not that difficult. Given the target environments of MiNiFi, we may want to reconsider the library used for JSON. [1]: https://github.com/miloyip/nativejson-benchmark -Andy
