Skip to content

Latest commit

 

History

History
31 lines (24 loc) · 2.15 KB

performance_fp.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_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.