]> git.ipfire.org Git - thirdparty/zlib-ng.git/commit
deflate: add new deflate_quick strategy for level 1
authorJim Kukunas <james.t.kukunas@linux.intel.com>
Thu, 18 Jul 2013 20:19:05 +0000 (13:19 -0700)
committerJim Kukunas <james.t.kukunas@linux.intel.com>
Sat, 26 Jul 2014 22:53:17 +0000 (15:53 -0700)
commitd948170e11e4eaa68cce189e5ea10a4d41e01437
tree61d57f3abbc292e2a063b49e46ee19d9d82a8c2b
parent3684659f485b63f7482a8dc600f51112c556ce9d
deflate: add new deflate_quick strategy for level 1

The deflate_quick strategy is designed to provide maximum
deflate performance.

deflate_quick achieves this through:
    - only checking the first hash match
    - using a small inline SSE4.2-optimized longest_match
    - forcing a window size of 8K, and using a precomputed dist/len
      table
    - forcing the static Huffman tree and emitting codes immediately
      instead of tallying

This patch changes the scope of flush_pending, bi_windup, and
static_ltree to ZLIB_INTERNAL and moves END_BLOCK, send_code,
put_short, and send_bits to deflate.h.

Updates the configure script to enable by default for x86. On systems
without SSE4.2, fallback is to deflate_fast strategy.

Fixes #6
Fixes #8
Makefile.in
configure
deflate.c
deflate.h
deflate_quick.c [new file with mode: 0644]
trees.c
trees.h