Frommi

Results 18 comments of Frommi

`decompress_oxide`'s main loop isn't very optimal: I looked at asm and there is, for example, two table jumps for `Action::None` with some other instructions sprinkled in, when there is only...

We could change `Action::None` to `continue`, `Action::Next` for `break` in loops over states, and `Action::End` for `break 'outer` if not for closures. So, maybe change them to macros?

Well, yes. We use 64bit buffers and even 64bit magic regardless of the machine's bitness. There are ifdef's in miniz to fallback into byte-by-byte style functions if it is on...

Added some loops and local vars. Halfway to the miniz decompression time.

@oyvindln these are very cool results! I will have time in the near future, so I will be able to hop back and help. I have quite some history of...

Sadly, benches on Travis CI are very unstable. For example, [`x 1.52`](https://travis-ci.org/Frommi/miniz_oxide/builds/282232836#L671) changed to [`x 1.21`](https://travis-ci.org/Frommi/miniz_oxide/builds/282263532#L673) even though decompression wasn't touched, while local benches varies only in 2-3% range for...

Last few commits improved decompression performance by another ~5% over miniz: ``` name miniz:: ns/iter oxide:: ns/iter diff ns/iter diff % speedup compress_bin_lvl_1 1,578,045 1,634,729 56,684 3.59% x 0.97 compress_bin_lvl_6...

Yeah, I think that is a good idea.