github SalOne22/rimage v0.11.0-next.0

pre-release5 months ago

v0.11.0-next.0

Breaking changes

  • Another complete rewrite of the library, please use zune-image with this crate.
  • CLI has been rewritten to a new, more flexible interface

Improved performance (alot). To libvips performance, like to the moon, but still.
Benchmark data was taken from sharp repository.

Options --directory /tmp --resize 500x200 --filter lanczos3 mozjpeg --quality 80 -- ./2569067123_aca715a2ee_o.jpg

One image from here:

Benchmark 1: rimage-0.11.0-next.0
  Time (mean ± σ):      48.6 ms ±   1.3 ms    [User: 43.9 ms, System: 8.4 ms]
  Range (min … max):    46.7 ms …  53.3 ms    59 runs

Benchmark 2: rimage-0.10.3
  Time (mean ± σ):     691.6 ms ±   5.2 ms    [User: 709.3 ms, System: 10.1 ms]
  Range (min … max):   687.1 ms … 705.0 ms    10 runs

Benchmark 3: squoosh-cli
  Time (mean ± σ):     760.6 ms ±  29.7 ms    [User: 2155.7 ms, System: 291.2 ms]
  Range (min … max):   738.0 ms … 829.5 ms    10 runs

Summary
  rimage-0.11.0-next.0 ran
   14.23 ± 0.39 times faster than rimage-0.10.3
   15.65 ± 0.74 times faster than squoosh-cli

Options --directory /tmp --resize 500x200 --filter lanczos3 mozjpeg --quality 80 -- ./*.jpg

Multiple images in parallel from here (only jpg):

Benchmark 1: rimage-0.11.0-next.0
  Time (mean ± σ):     177.2 ms ±   4.6 ms    [User: 999.5 ms, System: 38.7 ms]
  Range (min … max):   169.3 ms … 184.7 ms    17 runs

Benchmark 2: rimage-0.10.3
  Time (mean ± σ):     26.399 s ±  0.336 s    [User: 29.653 s, System: 0.089 s]
  Range (min … max):   26.045 s … 27.297 s    10 runs

Summary
  rimage-0.11.0-next.0 ran
  148.99 ± 4.31 times faster than rimage-0.10.3

Features

  • added avif decoder (b64b931)
  • added avif encoder (18ee7e3)
  • added fast resize operation (4317475)
  • added features to reduce lib size (e23823f)
  • added long_about to jxl codec (8a19d4b)
  • added mozjpeg encoder (7f32068)
  • added options to jpeg codec (ccd249c)
  • added oxipng encoder (4a824dc)
  • added quantization operation (25d0d78)
  • added threading to resize operation (1e89b34)
  • added webp decoder (3916d28)
  • added webp encoder (d542749)
  • cli/help: added codecs support section (8578367)
  • cli: added alpha premultiply preprocessor (33abc88)
  • cli: added avif codec (aa89db5)
  • cli: added base cli options (a22a0aa)
  • cli: added base codecs (60d9aa5)
  • cli: added base preprocessors (99d6a33)
  • cli: added mozjpeg codec (37359e2)
  • cli: added oxipng codec (9658fce)
  • cli: added webp codec (57db180)
  • cli: changed general options placement (5cf1e96)
  • cli: implemented main cli (a666dbf)
  • encoders: added exif write support for jpeg and png (fcd4f5e)
  • implemented base cli pipeline (18bcbe0)
  • preprocessors: implemented quantization operation (e527d69)
  • preprocessors: implemented resize operation (7aa016e)

Bug Fixes

  • added binary feature (ee148f1)
  • added more image formats (15aebe6)
  • bin: moved binary to root folder (f637d14)
  • cargo: updated cargo.toml (4fba401)
  • cli/windows: fixed trailing slash cmd issue (88e6b92)
  • cli: fixed clippy issue (8b5d230)
  • cli: updated features compilation (0a70264)
  • cli: updated preprocessors using traits (b8be3ff)
  • codecs: updated qtable type (5a2c2f9)
  • deps: changed dav1d dependence to lib aom (032b050)
  • deps: optimized dependencies (370f5d3)
  • fixed clippy errors (2ca79be)
  • fixed clippy errors (b2b7f79)
  • fixed clippy warnings (d98091a)
  • fixed tests for image_format (454f5c8)
  • lib: cleared lib (5d7b2c6)
  • made options values public (7d3fa3b)
  • moved cli modules to separate directory (81593d0)
  • moved encoders to separate modules (7c6816f)

Don't miss a new rimage release

NewReleases is sending notifications on new releases.