Input filename | Size (MB) | Content |
---|---|---|
data/output/persons.json | 540.82 | Text,integers |
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 | 4.434 | 0.786 | 343 | 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 | 7.044 | 2.707 | 410 | Uses std::map for objects. Uses slightly modified Grisu2 implementation by Florian Loitsch for printing doubles, expect faster serializing. |
rapidjson | 2.128 | 0.637 | 332 | 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 | 14.848 | 6.632 | 1985 | Uses std::map for both arrays and objects, expect larger memory footprint. |
taojson | 14.006 | 2.762 | 1038 | 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. |