Input filename | Size (MB) | Content |
---|---|---|
data/output/persons_fp.json | 794.72 | Text,doubles |
Environment | Windows, Intel |
---|---|
Computer | Lenovo Thinkpad X Extreme with 8 cores, 16 hardware threads, 32 GB memory, 2 TB solid state drive |
Operating system | Windows 2011 |
Compiler | Visual Studio 2022 |
Language | C++ 2017 |
Library | Version |
---|---|
jsoncons | 0.179.0 |
nlohmann | 3.11.2 |
rapidjson | 2020-02-08 |
jsoncpp | 1.9.5 |
taojson | 2020-09-14 |
Library | Time to read (s) | Time to write (s) | Memory footprint of json value (MB) | Remarks |
---|---|---|---|---|
jsoncons | 10.461 | 4.055 | 420 | Uses sorted std::vector of key/value pairs for objects, expect smaller memory footprint.Uses slightly modified grisu3_59_56 implementation by Florian Loitsch plus fallback for printing doubles, expect faster serializing. |
nlohmann | 13.969 | 7.135 | 486 | Uses std::map for objects. Uses slightly modified Grisu2 implementation by Florian Loitsch for printing doubles, expect faster serializing. |
rapidjson | 3.361 | 3.007 | 439 | Uses custom floating point parsing, expect faster parsing. Uses girsu3 for printing doubles, expect faster serializing. Uses custom allocation and flat map for objects, expect smaller memory footprint. |
jsoncpp | 57.998 | 28.81 | 2245 | Uses std::map for both arrays and objects, expect larger memory footprint. |
taojson | 17.253 | 6.868 | 860 | Uses modified google/double conversion routines for parsing doubles. Uses modified jeaiii/itoa routines for outputting integers. Uses slightly modified Grisu2 implementation by Florian Loitsch for printing doubles, expect faster serializing. |