json-benchmark VS image-png

Compare json-benchmark vs image-png and see what are their differences.

image-png

PNG decoding and encoding library in pure Rust (by image-rs)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
json-benchmark image-png
12 9
169 342
4.7% 3.2%
4.8 8.4
about 1 month ago 27 days ago
C++ Rust
Apache License 2.0 Apache License 2.0
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

json-benchmark

Posts with mentions or reviews of json-benchmark. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-22.
  • Do You Know How Much Your Computer Can Do in a Second?
    2 projects | news.ycombinator.com | 22 Jun 2023
    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).

    [1] https://github.com/serde-rs/json-benchmark

  • Serde Json vs Rapidjson (Rust vs C++)
    6 projects | /r/rust | 17 Jan 2023
    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.
  • Good example of high performance Rust project without unsafe code?
    20 projects | /r/rust | 2 Aug 2022
  • I'm a veteran C++ programmer, what can Rust offer me?
    2 projects | /r/rust | 24 Mar 2022
  • Rust is just as fast as C/C++
    6 projects | /r/rust | 23 Feb 2022
    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
  • Lightweight template-based parser build system. Simple prototyping. Comfortable debugging. Effective developing.
    1 project | /r/dartlang | 23 Jan 2022
    The data for the test is taken from here: https://github.com/serde-rs/json-benchmark/tree/master/data
  • Performance of serde js value conversion and reference types
    1 project | /r/rust | 10 Nov 2021
    Here are some benchmarks https://github.com/serde-rs/json-benchmark
  • Serde zero-copy benchmarks?
    2 projects | /r/rust | 1 Apr 2021
    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
  • Android Developers Have A Tough Life
    1 project | /r/ProgrammerAnimemes | 3 Mar 2021
    Rust has a good enough standard library (I’d say comparable to C++), that you don’t really need packages for a lot of stuff. Most of my projects have 1 or 2 dependencies. Most of the time I am pulling in a JS parser (serde) and a parallelization library (rayon). These are both high performance libraries that make writing very fast (serde can handle 850 MB/s on a 5 year old laptop cpu per their benchmarks). Rayon is one of the best parallelism libraries I’ve worked with.

image-png

Posts with mentions or reviews of image-png. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-04-13.
  • png crate gets an ultrafast compression mode, up to 4x faster decompression
    6 projects | /r/rust | 13 Apr 2023
    Encoding images to PNG with the "fast" compression mode is now an order of magnitude faster. This is achieved using a custom Zlib compression implementation that leverages assumptions about the patterns in PNG data to get reasonable compression ratios at phenomenal speeds.
  • Introducing zune-png: extremely fast PNG decoding in Rust
    3 projects | /r/rust | 10 Apr 2023
    However, the latest release of the png crate - published less than a day ago - has an ultrafast compression mode that's slightly faster than the QOI reference implementation at a comparable compression ratio. So basically you get the properties of QOI in a much more widely used image format.
  • Announcing zune-jpeg: Rust's fastest JPEG decoder
    7 projects | /r/rust | 1 Mar 2023
    In other areas, miniz_oxide is faster than miniz, Symphonia is faster than ffmpeg on most codecs, the not-yet-announced zune-png beats both libpng and the more heavily optimized libspng, and the png crate is getting considerable improvements too and also beats libpng.
  • Good example of high performance Rust project without unsafe code?
    20 projects | /r/rust | 2 Aug 2022
    gif, png, zune-jpeg are on par with their C counterparts in terms of performance
  • When soundness isn't worth it
    3 projects | /r/rust | 24 Apr 2021
    Fun fact: libpng-sys was so difficult to create safe Rust wrapper for that people just wrote their own, 100% safe Rust PNG decoder: https://github.com/image-rs/image-png
  • Anyone want to speed up a PNG decoder?
    7 projects | /r/rust | 7 Apr 2021
    I didn't get time to finish the full spec for my attempt at a PNG decoder but it was working on common cases and was faster than image-png at the time https://users.rust-lang.org/t/new-rust-png-decoding-library/30952. I suspect it's not the case anymore since it changes it's deflate crate usage. Here is the perf issue on the image crate https://github.com/image-rs/image-png/issues/114. My code was way simpler than the one in the image crate so that might still be worth a read if you are interested.
  • Wuffs PNG decoder faster than rust
    4 projects | /r/rust | 6 Apr 2021
    The crate actually forbids unsafe. There's nothing necessarily wrong with unsafe code, but not having it provides a nice assurance. Plus if you are willing to tolerate (well audited) unsafe code then you may well be better off just using libpng.

What are some alternatives?

When comparing json-benchmark and image-png you can also consider the following projects:

rust_serialization_benchmark - Benchmarks for rust serialization frameworks

tiny-skia - A tiny Skia subset ported to Rust

hjson-rust for serde - Hjson for Rust

wuffs - Wrangling Untrusted File Formats Safely

simd-json - Rust port of simdjson

png-decoder - A pure-Rust, no_std compatible PNG decoder

hyperjson - 🐍 A hyper-fast Python module for reading/writing JSON data using Rust's serde-json.

thermite - Thermite SIMD: Melt your CPU

MessagePack - MessagePack serializer implementation for Java / msgpack.org[Java]

simd-adler32 - A SIMD-accelerated Adler-32 hash algorithm implementation.

json - Strongly typed JSON library for Rust

crates.io - The Rust package registry