Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 2.15 KB

performance.md

File metadata and controls

31 lines (24 loc) · 2.15 KB

Read and Write Time Comparison

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.