Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more →
Json-benchmark Alternatives
Similar projects and alternatives to json-benchmark
-
rust_serialization_benchmark
Benchmarks for rust serialization frameworks
-
-
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.
-
-
hyperjson
Discontinued 🐍 A hyper-fast Python module for reading/writing JSON data using Rust's serde-json.
-
-
MessagePack
MessagePack serializer implementation for Java / msgpack.org[Java]
-
safety-dance
Auditing crates for unsafe code which can be safely replaced
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
cv
Rust CV mono-repo. Contains pure-Rust dependencies which attempt to encapsulate the capability of OpenCV, OpenMVG, and vSLAM frameworks in a cohesive set of APIs.
-
Symphonia
Pure Rust multimedia format demuxing, tag reading, and audio decoding library
-
-
Cap'n Proto
Cap'n Proto serialization/RPC system - core tools and C++ library
-
-
-
-
-
ixy-languages
A high-speed network driver written in C, Rust, C++, Go, C#, Java, OCaml, Haskell, Swift, Javascript, and Python
-
-
pikkr
JSON parser which picks up values directly without performing tokenization in Rust
-
-
fast-float-rust
Super-fast float parser in Rust (now part of Rust core)
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
json-benchmark reviews and mentions
-
Do You Know How Much Your Computer Can Do in a Second?
I don’t really understand what this is trying to prove:
- you don’t seem to specify the size of the input. This is the most important omission
- you are constructing an optimised representation (in this case, strict with fields in the right places) instead of a generic ‘dumb’ representation that is more like a tree of python dicts
- rust is not a ‘moderately fast language’ imo (though this is not a very important point. It’s more about how optimised the parser is, and I suspect that serde_json is written in an optimised way, but I didn’t look very hard).
I found[1], which gives serde_json to a dom 300-400MB/s on a somewhat old laptop cpu. A simpler implementation runs at 100-200, a very optimised implementation gets 400-800. But I don’t think this does that much to confirm what I said in the comment you replied to. The numbers for simd json are a bit lower than I expected (maybe due to the ‘dom’ part). I think my 50MB/a number was probably a bit off but maybe the python implementation converts json to some C object and then converts that C object to python objects. That might half your throughput (my guess is that this is what the ‘strict parse’ case for rustc_serialise is roughly doing).
-
Serde Json vs Rapidjson (Rust vs C++)
But the code OP posted deserializes JSON without knowing anything about the structure, which is known to be slow in serde-json and doesn't appear to be the focus for the library. The json and json-deserializer crates should perform much better in that scenario.
Deserializing without the structure being known in advance doesn't seem to be a focus for serde-json. Other parsers such as the json crate perform better for that use case according to serde's own benchmarks.
This result is not unexpected because serde-json's own benchmarks show that when parsing into a structure that's not known in advance, it's about as fast as rapidjson built with clang and slower than rapidjson built with GCC, which you're using here.
- Good example of high performance Rust project without unsafe code?
- I'm a veteran C++ programmer, what can Rust offer me?
-
Rust is just as fast as C/C++
Of course that doesnt mean that in practice the available libraries are as optimized. Did you try actix? It tends to be faster than rocket. Also json-rust and simd-json are usually faster than serde-json, when you don't deserialize a known structure. Here are some benchmarks: https://github.com/serde-rs/json-benchmark
-
Serde zero-copy benchmarks?
I found two projects: * https://github.com/djkoloski/rust_serialization_benchmark - doesn't use Serde zero copy * https://github.com/serde-rs/json-benchmark - has copy vs borrowed, but the results were the same for both, so something's off there
-
A note from our sponsor - InfluxDB
www.influxdata.com | 28 Mar 2024
Stats
serde-rs/json-benchmark is an open source project licensed under Apache License 2.0 which is an OSI approved license.
The primary programming language of json-benchmark is C++.
Popular Comparisons
- json-benchmark VS rust_serialization_benchmark
- json-benchmark VS hjson-rust for serde
- json-benchmark VS simd-json
- json-benchmark VS hyperjson
- json-benchmark VS MessagePack
- json-benchmark VS json
- json-benchmark VS safety-dance
- json-benchmark VS cv
- json-benchmark VS image-png
- json-benchmark VS Cap'n Proto