~/talk

Comparing Libraries to Parse JSON Data in C++

Talkat C++ on Sea 2023 · 2023-06-28..06-30· [c-and-cpp]
links:none on file
slides:none on file

Benchmarks compare five C++ JSON libraries: nlohmann, RapidJSON, simdjson, glaze and daw_json_link using a complex nested file run 10,000 times. Results show nlohmann is slow, RapidJSON and daw_json_link cluster together, glaze gives the fastest deserialization and overall binary output, while simdjson claims multi‑GB/s peaks but lacks built‑in serialization. Measured serialization rates hit ~38 MB/s, ~230 MB/s, ~420 MB/s and simdjson ~500 MB/s; simdjson collapses to ~45 MB/s when key order reverses. Tradeoffs: single-header APIs, zero-allocation parsing, streaming support and hardware‑dependent SIMD speed.

AI-written summary · about

  1. 0:00Introduction
  2. 2:09What is JSON
  3. 6:30Parsing phases
  4. 12:33Top-down vs bottom-up parsers
  5. 18:58Selecting JSON libraries
  6. 20:30nlohmann JSON overview
  7. 24:53RapidJSON features
  8. 27:49SimdJSON performance
  9. 32:24Glaze library design
  10. 36:25D-Json link capabilities
  11. 39:20Benchmarking results
  12. 42:13JSON key order impact
  13. 44:27Choosing the right library
  14. 45:30Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.