Kornel
588d5bd52b
Tweaks and Microoptimizations ( #146 )
...
* Fixed alpha benchmark
* Dedupe function
* Use integer math when rounding
* Fewer temporaries when slicing palette
* Filtering microoptimizations
2018-11-20 08:39:46 -05:00
Kornel
4765eaa7f3
Alpha heuristic improvements ( #144 )
...
* Compress alpha with strategy sensitive to repetitions
* Update reductions flag when alpha changed
* Avoid needlessly cloning out-of-date idat_data and temp raw_data
2018-11-14 08:30:15 -05:00
Kornel
3c466df80e
Chunk name as 4 bytes ( #135 )
2018-09-16 16:09:55 -04:00
Josh Holmer
7895e42687
Version 2.1.1
2018-08-11 20:34:04 -04:00
Josh Holmer
71d0f6fa31
Fix more issues with alpha optim on interlaced images
...
Closes #133
2018-08-11 20:27:45 -04:00
Josh Holmer
f862a0df24
Apply clippy fixes
2018-07-28 16:51:54 -04:00
Matthias Krüger
868fd502b9
reduce_alpha_to_up(): simplify code, don't convert Vec -> iter -> Vec in order to reverse elts, just vec.reverse(). ( #127 )
2018-07-28 11:19:56 -04:00
Josh Holmer
7303b94afc
Fix issue with alpha optim on interlaced images
...
Closes #113
2018-07-27 23:03:36 -04:00
Josh Holmer
d110949d2a
Version 2.0.0
2018-07-20 19:19:20 -04:00
Kornel
76a2e51c15
Reduce allocations ( #122 )
...
* Iterate with fewer temp allocations
* Avoid allocation when not reducing
* Avoid slow modulo
2018-07-20 18:40:51 -04:00
Kornel
efde5747c4
Parse without temporary allocation ( #119 )
2018-07-15 09:11:26 -04:00
Kornel
d2b1d56e8b
Improved limiting of max gzip size ( #116 )
2018-07-10 22:36:43 -04:00
myfreeweb
ae65e4be8d
Make Rayon an optional dependency ( #112 )
...
On WebAssembly, Rayon does not work (thread pool fails to initialize since threads are stubbed out).
2018-07-06 10:50:36 -04:00
Kornel
442eaf766c
Bail early ( #104 )
2018-06-08 00:09:22 -04:00
Kornel
e472c82876
Option to use Cloudflare's zlib for compression ( #103 )
...
Behind the nightly feature flag for now--stable ASM is coming in Rust 1.27
2018-06-04 15:39:51 -04:00
Josh Holmer
d7369707ba
Fix a change that breaks itertools with newer versions of Rust nightly
2018-03-04 23:47:06 -05:00
Josh Holmer
fe9cd01b82
Replace miniz_sys with miniz_oxide, a Rust implementation of miniz
...
This also improves decompression performance by 15%, and obsoletes the
`--zm` parameter.
Closes #57
2018-01-30 23:52:37 -05:00
Josh Holmer
0c2e3777b1
Refactor an if statement
2018-01-30 22:27:34 -05:00
Josh Holmer
348c7dbc56
Extract a function into a submodule
2018-01-30 22:21:31 -05:00
Josh Holmer
3497040b78
Remove useless annotation
2018-01-30 22:18:22 -05:00
Josh Holmer
cf5b90b444
Preallocate vector on reading in file
...
Provides 1.5% overall speedup on -o4
2018-01-30 22:15:03 -05:00
Josh Holmer
ece85e6d15
Refactoring of internal code into smaller chunks.
...
There is still more to be done.
2018-01-30 09:35:03 -05:00