Version 5.0.0
Some checks failed
deploy / create-windows-binaries (x86_64) (push) Has been cancelled
deploy / create-unix-binaries (macos-latest, x86_64-apple-darwin) (push) Has been cancelled
deploy / create-unix-binaries (ubuntu-latest, x86_64-unknown-linux-musl) (push) Has been cancelled
deploy / deploy (push) Has been cancelled

This commit is contained in:
Josh Holmer 2021-07-12 00:06:19 -04:00
parent bd432c470d
commit 8053211bf4
4 changed files with 24 additions and 13 deletions

View file

@ -1,3 +1,12 @@
### Version 5.0.0
- [Breaking] Bump minimum Rust version to 1.46.0
- [Bugfix] Avoid many panics that may occur on broken files
- [Bugfix] Fix race condition that may cause tests to fail
- [Performance] Optimizations to unfiltering and copying
- [Feature] Add `--ng` option to skip grayscale reduction
- [Feature] Also preserve timestamps when using `--preserve`
- [Misc] Bump `crc` to 2.x
### Version 4.0.3
- Bump itertools to 0.10.x
- Temporarily disable i686 releases, which were failing due to an odd linker issue,

4
Cargo.lock generated
View file

@ -1,5 +1,7 @@
# This file is automatically @generated by Cargo.
# It is not intended for manual editing.
version = 3
[[package]]
name = "adler"
version = "1.0.2"
@ -413,7 +415,7 @@ dependencies = [
[[package]]
name = "oxipng"
version = "4.0.3"
version = "5.0.0"
dependencies = [
"bit-vec",
"byteorder",

View file

@ -16,7 +16,7 @@ license = "MIT"
name = "oxipng"
repository = "https://github.com/shssoichiro/oxipng"
build = "build.rs"
version = "4.0.3"
version = "5.0.0"
[badges]
travis-ci = { repository = "shssoichiro/oxipng", branch = "master" }

View file

@ -97,36 +97,36 @@ Oxipng is open-source software, distributed under the MIT license.
## Benchmarks
Tested oxipng 4.0.0 (compiled on rustc 1.47.0 (18bf6b4f0 2020-10-07)) against OptiPNG version 0.7.7 on AMD Ryzen 7 4800H with Radeon Graphics with 16 logical cores
Tested oxipng 5.0.0 (compiled on rustc 1.55.0-nightly (7a16cfcff 2021-07-11)) against OptiPNG version 0.7.7 on AMD Ryzen 7 4800H with Radeon Graphics with 16 logical cores
```
Benchmark #1: ./target/release/oxipng -P ./tests/files/rgb_16_should_be_grayscale_8.png
Time (mean ± σ): 125.8 ms ± 16.7 ms [User: 296.4 ms, System: 19.5 ms]
Range (min … max): 99.4 ms … 154.2 ms 24 runs
Time (mean ± σ): 128.8 ms ± 14.2 ms [User: 296.0 ms, System: 14.3 ms]
Range (min … max): 98.8 ms … 152.3 ms 21 runs
Benchmark #2: optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png
Time (mean ± σ): 248.8 ms ± 20.5 ms [User: 247.6 ms, System: 1.6 ms]
Range (min … max): 210.6 ms … 267.5 ms 12 runs
Time (mean ± σ): 254.2 ms ± 16.0 ms [User: 252.8 ms, System: 1.2 ms]
Range (min … max): 208.4 ms … 263.8 ms 14 runs
Summary
'./target/release/oxipng -P ./tests/files/rgb_16_should_be_grayscale_8.png' ran
1.98 ± 0.31 times faster than 'optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png'
1.97 ± 0.25 times faster than 'optipng -simulate ./tests/files/rgb_16_should_be_grayscale_8.png'
Benchmark #1: ./target/release/oxipng -o4 -P ./tests/files/rgb_16_should_be_grayscale_8.png
Time (mean ± σ): 140.5 ms ± 20.4 ms [User: 648.5 ms, System: 24.9 ms]
Range (min … max): 72.7 ms … 175.7 ms 38 runs
Time (mean ± σ): 141.4 ms ± 14.9 ms [User: 611.7 ms, System: 21.1 ms]
Range (min … max): 100.2 ms … 160.4 ms 23 runs
Benchmark #2: optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png
Time (mean ± σ): 743.3 ms ± 21.3 ms [User: 741.7 ms, System: 1.8 ms]
Range (min … max): 718.8 ms … 769.6 ms 10 runs
Time (mean ± σ): 730.0 ms ± 25.9 ms [User: 728.0 ms, System: 1.2 ms]
Range (min … max): 713.3 ms … 768.2 ms 10 runs
Summary
'./target/release/oxipng -o4 -P ./tests/files/rgb_16_should_be_grayscale_8.png' ran
5.29 ± 0.78 times faster than 'optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png'
5.16 ± 0.58 times faster than 'optipng -o 4 -simulate ./tests/files/rgb_16_should_be_grayscale_8.png'
```