A high-performance C++ JSON serializing and deserializing library accelerated by SIMD instructions.
Sonic-Cpp is a high-performance JSON parsing and serialization library written in C++. It uses SIMD instructions (like AVX2) to accelerate common JSON operations, making it significantly faster than many traditional JSON libraries. It solves the problem of JSON processing bottlenecks in performance-critical applications like web servers, data pipelines, and real-time systems.
C++ developers working on high-throughput systems where JSON processing speed is a bottleneck, such as web service backends, data analytics engines, or real-time communication platforms.
Developers choose Sonic-Cpp for its exceptional speed achieved through SIMD optimizations, its header-only design for easy integration, and its support for on-demand parsing to minimize unnecessary processing. It outperforms many other JSON libraries in benchmarks while providing a complete API for JSON manipulation.
A fast JSON serializing & deserializing library, accelerated by SIMD.
Leverages AVX2/SSE instructions to accelerate whitespace skipping and escaped character finding, leading to top-tier parsing and serialization performance as demonstrated in benchmarks against libraries like simdjson.
Easy to integrate into C++ projects by simply including header files without linking against a separate library, reducing build complexity.
Uses SIMD and bit manipulation to quickly skip unwanted JSON values when target keys are known at compile time, minimizing overhead for specific data extraction.
Implements the STOA algorithm for efficient floating-point number handling, enhancing performance in data-intensive applications that rely on numerical JSON data.
Currently only supports x86 with AVX2 on Linux using GCC or LLVM compilers, excluding Windows, ARM, and other environments, which restricts its usability in heterogeneous systems.
The RoadMap admits lack of support for key features like JSON Path, JSON Merge Patch, JSON Pointer, and UTF-8 validation, making it unsuitable for applications needing these capabilities.
Heavy reliance on specific SIMD instructions (AVX2) and Linux toolchains creates dependencies that could complicate migration or maintenance in evolving tech stacks.
JSON for Modern C++
Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
A fast JSON parser/generator for C++ with both SAX/DOM style API
Ultralightweight JSON parser in ANSI C
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.