Highlights
- Fast: Over 4x faster than RapidJSON and 25x faster than JSON for Modern C++.
- Easy: First-class, easy to use and carefully documented APIs.
- Strict: Full JSON and UTF-8 validation, lossless parsing. Performance with no compromises.
- Automatic: Selects a CPU-tailored parser at runtime. No configuration needed.
- Reliable: From memory allocation to error handling, simdjson’s design avoids surprises.
- Peer Reviewed: Our research appears in venues like VLDB Journal, Software: Practice and Experience.
- Widely used: Used by ClickHouse, Microsoft, Shopify, Intel, Apache Doris, Dgraph, StarRocks, Meta Velox, Google Pax, WatermelonDB, the Node.js runtime, and many others. A dozen of ports and bindings have been published in Python, R, Ruby, PHP, C#, Rust, Swift, Go, etc.
This library is part of the Awesome Modern C++.
Features
- On-Demand API to reach massive speeds (7 GB/s). We think it is a better way to parse JSON documents.
- Minify JSON at 12 GB/s
- Standalone UTF8 Validation at 30 GB/s
- Multithreaded processing of gigantic Newline-Delimited JSON (ndjson) and related formats at 3.5 GB/s
- JSON Pointer support so that you can query your document at high speed
- Support both conventional error handling (exceptions) as well as an error-code approach: you can compile your C++ code with or without exception support.
- Runtime dispatch: the library automatically detects the features supported by the processor. The library runs on all 64-bit systems, but it automagically benefits from advanced processors.
It is found on Ubuntu and Debian, FreeBSD, MSYS2, brew, conan and vcpkg.