This release improves end-to-end decoding peformance for PNG images by 10% on average,
with select images benefitting by as much as 50%.
These improvements were inspired by the algorithms in zune-inflate.
Optimized building the Huffman table, which helps the performance of small images (#31)
Dropped the specialized fast path for a hardcoded Huffman table, which is no longer necessary (#32)
Add a fast path to the DEFLATE decoding loop that processes more bytes at a time, benefitting performance on large images (#34)
Re-add test files into the crates.io tarball since they are so small. They may be removed in the future if they grow in size (#35)
Fix handling of invalid inputs, so that errors are consistently detected
regardless of how the input is "chunked" when feeding it into the
decompressor.
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Bumps fdeflate from 0.3.4 to 0.3.6.
Changelog
Sourced from fdeflate's changelog.
Commits
4610c91
Release v0.3.6 (#36)464a904
Cover test files when publishing (#35)f406b48
Split decoding loop (#34)797304d
Don't hardcode deflate tables (#32)de4c8ff
Fix MSRV and CI (#33)1b782e8
Optimize deflate table building (#31)e16928a
Merge pull request #30 from anforowicz/release-0.3.5c7d0143
Release 0.3.51b911e1
Merge pull request #28 from anforowicz/explicitly-reject-missing-eof-of-block...3b0c518
Regression tests for input chunking sensitivity.Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show