Boost logo

Boost :

Subject: [boost] [PropertyTree] In-Memory Performance of Xml/Json Serialization?
From: john smith (boost.list.th_at_[hidden])
Date: 2015-02-14 20:22:53


I'm personally more interested in the Xml characteristics, but I have
noticed that the JSON parsing is much slower as it doesn't use rapidXml.
The implementation of the JSON and XML read/write methods both use
std::basic_*stream which is slow for in-memory usage.

In the xml methods there also appears to be a strong assumption that "Key"
is a std::string which then follows that the "Ptree::key_type::value_type"
is of type char.

Is there or would there be any opposition to the development of more
performant write_xml() and read_xml() methods for in-memory use? These new
performant overloads could either use std::string or char* directly instead
of the slower stringstream classes? If the Key template argument is an
std::string, the *printf* c-style methods could be used to improve
performance and eliminate the locks that stringstreams uses.

There is already an std::string based arg set that is used for a filename,
so that would need to be overcome.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk