• Klaus Post's avatar
    compress/flate: level 1 (best speed) match across blocks · 2e196b15
    Klaus Post authored
    This change makes deflate level 1 (best speed) match across
    block boundaries. This comes at a small speed penalty,
    but improves compression on almost all output.
    
    Sample numbers on various content types:
    
    enwik9:            391052014 ->  382578469 bytes, 77.59 -> 74.28 MB/s
    adresser.001:       57269799 ->   47756095 bytes, 287.84 -> 357.86 MB/s
    10gb:             5233055166 -> 5198328382 bytes, 105.85 -> 96.99 MB/s
    rawstudio-mint14: 3972329211 -> 3927423364 bytes, 100.07 -> 94.22 MB/s
    sites:             165556800 ->  163178702 bytes, 72.31 -> 70.15 MB/s
    objectfiles:       115962472 ->  111649524 bytes, 132.60 -> 128.05 MB/s
    sharnd.out:        200015283 ->  200015283 bytes, 221.50 -> 218.83 MB/s
    
    Change-Id: I62a139e5c06976e803439a4268acede5139b8cfc
    Reviewed-on: https://go-review.googlesource.com/31640Reviewed-by: 's avatarJoe Tsai <thebrokentoaster@gmail.com>
    Reviewed-by: 's avatarNigel Tao <nigeltao@golang.org>
    2e196b15
deflatefast.go 8.28 KB