Our great sponsors
-
simdjson
Parsing gigabytes of JSON per second : used by Facebook/Meta Velox, the Node.js runtime, ClickHouse, WatermelonDB, Apache Doris, Milvus, StarRocks
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
jsoniter
jsoniter (json-iterator) is fast and flexible JSON parser available in Java and Go (by json-iterator)
JSON doesn't allow any custom type, so it is not "flexible" per se. Therefore you only need a format that supports the JSON data model and pretty much nothing else; CBOR [1] for example almost surely fits the bill.
[1] https://cbor.io/
I guess an example would be along the lines of protobufs, e.g. Cap’n Proto
(which I have never used but really enjoy just for its charming website design alone)
I've written translation layers for such systems and it's not too bad. See this project from $job - 1: https://github.com/CaperAi/pronto
It allowed us to have a single model for storage in the DB, for sending between services, and syncing to edge devices.
Protobuf parsing is slower than an optimized json library, e.g. https://jsoniter.com/
Related posts
- 1BRC Merykitty's Magic SWAR: 8 Lines of Code Explained in 3k Words
- Training great LLMs from ground zero in the wilderness as a startup
- simdjson: Parsing Gigabytes of JSON per Second
- Simdjson: Parsing Gigabytes of JSON per Second
- Announcing Sonic-rs 0.2.0: Separate safe & unsafe functions clearly and performance optimization.