mozjpeg-sys VS wazero

Compare mozjpeg-sys vs wazero and see what are their differences.

mozjpeg-sys

Rust bindings for mozjpeg (by kornelski)

wazero

wazero: the zero dependency WebAssembly runtime for Go developers (by tetratelabs)
Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Truly a developer’s best friend
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • Zigi - Close all those tabs. Zigi will handle your updates.
mozjpeg-sys wazero
1 19
28 2,256
- 6.1%
2.7 9.7
4 months ago about 11 hours ago
Rust Go
- 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.

mozjpeg-sys

Posts with mentions or reviews of mozjpeg-sys. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-01-14.
  • WASM instead of C Dependencies?
    9 projects | dev.to | 14 Jan 2022
    Testsetup: Encode a 6048x2048px big image using mozjpeg (mozjpeg-sys to be more specific), resize it down to 1008x665px using PistonDevelopers/resize, and decode it again using mozjpeg.

wazero

Posts with mentions or reviews of wazero. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2022-11-29.
  • The best Go framework: no framework? (Three Dots Tech)
    7 projects | reddit.com/r/golang | 29 Nov 2022
    With the rising popularity of WASM, I’d probably use something like wazero coupled with the library I just wrote and released, waggy for writing the individual handlers for each route, though.
  • Waggy, the library for writing WAGI API handlers in Go
    3 projects | reddit.com/r/golang | 28 Nov 2022
  • The Carcinization of Go Programs
    4 projects | news.ycombinator.com | 23 Nov 2022
    (wazero contributor) thanks for the analysis. certainly dependency pain is something we hear about, as well as lack of maintenance on alternatives. Some don't release at all or rarely, and many break api constantly. We also break api, but then again we aren't 1.0 yet.

    wrt performance, we do watch it closely, but we've not done benchmarks vs non-default settings in other runtimes. It is the case that the tradeoff of avoiding dependencies means any optimizing JIT would have to be written to make long running things faster over time... no one has contributed this, yet, and more folks are looking at short lived despite it being the case interpreters are a great example of long lived.

    Concretely, we do keep track of relative performance (literally each commit in fact), and it isn't uncommon to find PRs including perf before/after.

    here are some pointers if interested in digging in! there are certainly some things we'd lose at.

    https://github.com/tetratelabs/wazero/actions/runs/352306986...

  • wazero: wasm runtime for Go with *zero* dependencies
    2 projects | reddit.com/r/programming | 14 Oct 2022
    The site was pretty light on details so I went to the repo and went through the README, this seems rather interesting. A pure Go WASM runtime that is WebAssembly Core Spec 1 & 2 compliant, can be used as an interpreter or a compiler, and has a WASI implementation. I'm very impressed that this was implemented using zero dependencies to this level. I'd love to see some performance and memory usage comparisons to things like wasm3 and even wasmer and wasmtime.
    2 projects | reddit.com/r/programming | 14 Oct 2022
  • Bots-garden/capsule – the nano (WASM) functions runner
    3 projects | news.ycombinator.com | 2 Oct 2022
    It's a Golang app, and I use the Wazero project as the wasm runtime (https://wazero.io/).
  • Wasmtime 1.0
    14 projects | news.ycombinator.com | 20 Sep 2022
    Congrats to the Wasmtime team on the 1.0 release!

    I'm happy to see that more runtimes are maturing and getting use on production cases... I can't wait to see and show what the future entails for WebAssembly on both the server side and the browser!

    Keep up the good work. Also I'd like to use this message to congratulate other runtimes that I'm excited about (apart from Wasmer, of course!): Wizard Engine [1], Wazero [2] and Lunatic [3].

    The future is bright in Wasm land :)

    [1] https://github.com/titzer/wizard-engine

    [2] https://github.com/tetratelabs/wazero

    [3] https://github.com/lunatic-solutions/lunatic

  • Go Plugin System over WebAssembly
    3 projects | reddit.com/r/golang | 29 Aug 2022
    Wazero handles the sandbox and execution. So go compiles to a program that can execute wasm in a sandbox.
  • Hacker News top posts: May 17, 2022
    5 projects | reddit.com/r/hackerdigest | 17 May 2022
    Wazero: The zero dependency WebAssembly runtime for Go developers\ (20 comments)
  • Wazero: The zero dependency WebAssembly runtime for Go developers
    13 projects | news.ycombinator.com | 16 May 2022
    I'm a maintainer on wazero. We have two things in progress on debugability, though both are stalled as we complete the recently announced WebAssembly 2.0 draft spec (nearly done) [1].

    1. DWARF support - this requires those compiling to Wasm to configure to emit that. It is also murky because there's no canonical mapping in Wasm (most rely on LLVM underneath, but wazero is zero dependencies so we can't do that). Anyway, this is still on the table. [2]

    2. Observability hooks - wazero is uniquely go-native which means we can do things like context propagation, allowing telemetry hooks including distributed tracing. While it may not seem intuitive to use that in Wasm, it can allow you to re-use tools that can show a trace graph. We have an experimental listener now, which has an example of how to make some strace looking logs. [3] Later, we'll convert this to an interceptor approach so that you can do metrics and stuff nicer. [4]

    Regardless of this, debugging is easier because everything is in go. Apart from the DWARF thing which is totally important, the runtime being in Go completely means you debug everything going on, down to what is allocating memory, just by putting break-points in Go code. This is a very neat thing, and has helped some folks develop better code. Ex. https://github.com/inkeliz/karmem

    Hope these help. Indeed the road to wasm is littered with a lot of runtimes, mostly abandoned or archived. We're hoping to buck the trend debugability, so watch the issues below if interested, and feel free to tell us anything we aren't doing right, too.

    [1]: https://github.com/tetratelabs/wazero/issues/484

What are some alternatives?

When comparing mozjpeg-sys and wazero you can also consider the following projects:

wasmer - 🚀 The leading WebAssembly Runtime supporting WASI and Emscripten

wasmer-go - 🐹🕸️ WebAssembly runtime for Go

wasmtime - A fast and secure runtime for WebAssembly

grule-rule-engine - Rule engine implementation in Golang

sc - Common libraries and data structures for C.

gc - Branch of the spec repo scoped to discussion of GC integration in WebAssembly

wapc-go - Golang-based WebAssembly Host Runtime for waPC-compliant modules

linux - Linux kernel source tree

obsidian-dataview - A high-performance data index and query language over Markdown files, for https://obsidian.md/.

squoosh - Make images smaller using best-in-class codecs, right in the browser.

yaegi - Yaegi is Another Elegant Go Interpreter

starlark-go - Starlark in Go: the Starlark configuration language, implemented in Go