When JSON slows you down: how simdjson speeds up parsing by 25x
Imagine: your server spends 40% of its time parsing JSON — a typical situation for modern web applications. This is exactly the problem simdjson solves — a library that has revolutionized the perception of JSON processing speed in C++.
What is this beast?
simdjson is a high-performance JSON parser that uses:
- CPU SIMD instructions (AVX2, AVX512, NEON)
- Micro-parallel algorithms
- Automatic optimization for specific CPUs
Result? Up to 6 GB/s for JSON minification and 3.5 GB/s for NDJSON processing. For comparison — it's like the difference between a carrier pigeon and an F-16 fighter jet.
Key advantages
-
Speed that borders on madness
- 4 times faster than RapidJSON
- 25 times faster than JSON for Modern C++
- Processing millions of documents per second on a single core
-
Full validation without compromise
- UTF-8 validation at 13 GB/s
- Accurate number parsing
- Full JSON standard compliance
-
Easy integration
- Just two files — .h and .cpp — and you're ready to go.
How does it work?
The library uses three tricks:
- Vectorization: processing 32-64 bytes of JSON in a single operation
- Branch minimization: predictable code for the processor
- Lazy parsing: analyzing only the fields you actually need
The chart below shows how simdjson outperforms competitors on files of different sizes:

Who already uses it?
- Node.js — for internal parsing
- ClickHouse — JSON processing in analytical queries
- Apache Doris — high-performance analytics
- Milvus — vector search engine
Is it worth trying?
If you:
- Work with large volumes of JSON
- Want to reduce CPU load
- Are looking for a simple dependency-free solution
...then simdjson was made for you. And the library is available not only in C++ — there are ports for Python, Rust, Go, and even Erlang.
API simplicity + record-breaking performance = the ideal choice for highload projects. As they say, feel the difference — parse just once with simdjson, and there's no going back.
Related projects