Zero out only that part of the hash table in use.
Zero out only that part of the hash table in use.

Obviously, the biggest gains are for the smallest inputs.

The WordsEncode1e1-8 benchmark should be unaffected (except possibly by
noise) because it never calls into encodeBlock.

name              old speed      new speed       delta
WordsEncode1e1-8   678MB/s ± 0%    667MB/s ± 0%    -1.74%  (p=0.008 n=5+5)
WordsEncode1e2-8  90.1MB/s ± 0%  352.9MB/s ± 1%  +291.85%  (p=0.008 n=5+5)
WordsEncode1e3-8   295MB/s ± 0%    383MB/s ± 1%   +29.67%  (p=0.008 n=5+5)
WordsEncode1e4-8   276MB/s ± 0%    277MB/s ± 1%      ~     (p=0.310 n=5+5)
WordsEncode1e5-8   248MB/s ± 0%    248MB/s ± 0%      ~     (p=0.841 n=5+5)
WordsEncode1e6-8   295MB/s ± 0%    296MB/s ± 0%      ~     (p=0.548 n=5+5)
RandomEncode-8    14.4GB/s ± 1%   14.4GB/s ± 2%      ~     (p=1.000 n=5+5)
_ZFlat0-8          749MB/s ± 0%    748MB/s ± 0%      ~     (p=0.151 n=5+5)
_ZFlat1-8          405MB/s ± 0%    406MB/s ± 0%    +0.18%  (p=0.032 n=4+5)
_ZFlat2-8         16.2GB/s ± 1%   16.1GB/s ± 1%      ~     (p=0.421 n=5+5)
_ZFlat3-8          202MB/s ± 1%    604MB/s ± 0%  +198.86%  (p=0.008 n=5+5)
_ZFlat4-8         7.59GB/s ± 1%   7.62GB/s ± 1%      ~     (p=0.548 n=5+5)
_ZFlat5-8          728MB/s ± 1%    729MB/s ± 0%      ~     (p=0.548 n=5+5)
_ZFlat6-8          266MB/s ± 1%    267MB/s ± 0%      ~     (p=0.548 n=5+5)
_ZFlat7-8          248MB/s ± 0%    248MB/s ± 0%      ~     (p=0.881 n=5+5)
_ZFlat8-8          282MB/s ± 0%    282MB/s ± 0%      ~     (p=0.556 n=4+5)
_ZFlat9-8          231MB/s ± 0%    231MB/s ± 0%    +0.23%  (p=0.032 n=5+5)
_ZFlat10-8         970MB/s ± 0%    972MB/s ± 0%      ~     (p=0.421 n=5+5)
_ZFlat11-8         402MB/s ± 0%    401MB/s ± 0%      ~     (p=0.730 n=5+5)

golang/snappy,FactomProject/snappy-go,golang/snappy,FactomProject/snappy-go