ipfs / go-ipfs-chunker

go-ipfs-chunkers provides Splitter implementations for data before being ingested to IPFS
MIT License
31 stars 37 forks source link

Improve performance of buzhash #17

Closed Kubuxu closed 5 years ago

Kubuxu commented 5 years ago
name             old time/op    new time/op    delta
Buzhash2/1K-4       610ns ± 4%     643ns ±16%    ~     (p=0.421 n=8+10)
Buzhash2/1M-4      1.25ms ± 5%    1.16ms ± 4%  -7.31%  (p=0.000 n=10+10)
Buzhash2/16M-4     19.2ms ± 2%    17.5ms ± 2%  -8.73%  (p=0.000 n=9+9)
Buzhash2/100M-4     117ms ± 1%     107ms ± 3%  -8.26%  (p=0.000 n=10+10)

name             old speed      new speed      delta
Buzhash2/1K-4    1.68GB/s ± 4%  1.60GB/s ±14%    ~     (p=0.408 n=8+10)
Buzhash2/1M-4     842MB/s ± 5%   908MB/s ± 3%  +7.86%  (p=0.000 n=10+10)
Buzhash2/16M-4    875MB/s ± 2%   959MB/s ± 2%  +9.57%  (p=0.000 n=9+9)
Buzhash2/100M-4   897MB/s ± 1%   977MB/s ± 3%  +9.02%  (p=0.000 n=10+10)

name             old alloc/op   new alloc/op   delta
Buzhash2/1K-4      1.17kB ± 1%    1.17kB ± 0%  -0.50%  (p=0.006 n=10+10)
Buzhash2/1M-4      1.08MB ± 1%    1.07MB ± 0%    ~     (p=0.739 n=10+10)
Buzhash2/16M-4     17.1MB ± 0%    17.1MB ± 0%    ~     (p=0.579 n=10+10)
Buzhash2/100M-4     106MB ± 0%     106MB ± 0%  -0.01%  (p=0.000 n=9+7)

name             old allocs/op  new allocs/op  delta
Buzhash2/1K-4        3.00 ± 0%      3.00 ± 0%    ~     (all equal)
Buzhash2/1M-4        8.00 ± 0%      8.00 ± 0%    ~     (all equal)
Buzhash2/16M-4       72.0 ± 0%      72.0 ± 0%    ~     (all equal)
Buzhash2/100M-4       406 ± 0%       406 ± 0%    ~     (all equal)
Kubuxu commented 5 years ago

I've confirmed with go-ipfs that output is the same.

warpfork commented 5 years ago

:tada: :rocket: