On 10/22/19 1:45 PM, Niall Douglas via Boost wrote:
I have the results from a simple benchmarking program that I wrote, which parses a bunch of random JSON. There are two data sets, a small one and a big one:
small data set: rapidjson parse 55952763 bytes in 230ms rapidjson parse 55952763 bytes in 229ms rapidjson parse 55952763 bytes in 228ms nlohmann parse 55952763 bytes in 514ms nlohmann parse 55952763 bytes in 514ms nlohmann parse 55952763 bytes in 533ms Boost.JSON parse 55952763 bytes in 234ms Boost.JSON parse 55952763 bytes in 233ms Boost.JSON parse 55952763 bytes in 233ms
large data set: rapidjson parse 488889121 bytes in 1793ms rapidjson parse 488889121 bytes in 1791ms rapidjson parse 488889121 bytes in 1789ms nlohmann parse 488889121 bytes in 3921ms nlohmann parse 488889121 bytes in 3942ms nlohmann parse 488889121 bytes in 3965ms Boost.JSON parse 488889121 bytes in 1754ms Boost.JSON parse 488889121 bytes in 1761ms Boost.JSON parse 488889121 bytes in 1764ms
Impressive Vinnie. Not at all a small accomplishment to match RapidJSON. Congrats!
Nail, I'd love to see the result you'd get by using one of number of JSON parsers implemented by Boost.Spirit. A number of them pop up by googling "C++ JSON spirit" including one by our own Michael Caisse. I'd also be curious to know the compile time as well as the runtime for the programs above. Robert Ramey.