chunker icon indicating copy to clipboard operation
chunker copied to clipboard

speed up polynomial computation

Open wjiec opened this issue 2 years ago • 0 comments

In my server, the polynomial computation gets about ~50% improvement.

goos: linux
goarch: amd64
pkg: github.com/restic/chunker
cpu: Intel(R) Xeon(R) Platinum 8269CY CPU @ 2.50GHz
                    │   ./old.txt   │               ./new.txt               │
                    │    sec/op     │    sec/op      vs base                │
ChunkerWithSHA256-8    158.3m ±  0%    158.2m ±  0%        ~ (p=0.393 n=10)
Chunker-8              65.55m ±  0%    65.54m ±  0%        ~ (p=0.853 n=10)
NewChunker-8           135.5µ ± 39%    107.8µ ± 23%        ~ (p=0.353 n=10)
PolMul-8               165.6n ±  0%    105.1n ±  0%  -36.53% (p=0.000 n=10)
PolDiv-8               80.95n ±  0%    80.94n ±  0%        ~ (p=0.266 n=10)
PolDeg-8              0.3145n ±  0%   0.3148n ±  0%        ~ (p=0.177 n=10)
PolMod-8               80.97n ±  0%    80.94n ±  0%        ~ (p=0.358 n=10)
PolDivMod-8            81.18n ±  0%    81.18n ±  0%        ~ (p=0.522 n=10)
RandomPolynomial-8    2055.5µ ±  2%    283.9µ ±  1%  -86.19% (p=0.000 n=10)
PolIrreducible-8      1145.8µ ±  0%    108.7µ ±  0%  -90.52% (p=0.000 n=10)
PolGCD-8               712.5n ±  0%    656.1n ±  0%   -7.92% (p=0.000 n=10)
PolMulMod-8           8672.0n ±  0%    469.2n ±  0%  -94.59% (p=0.000 n=10)
geomean                9.538µ          4.890µ        -48.74%

                    │  ./old.txt   │              ./new.txt              │
                    │     B/s      │     B/s       vs base               │
ChunkerWithSHA256-8   202.1Mi ± 0%   202.2Mi ± 0%       ~ (p=0.434 n=10)
Chunker-8             488.1Mi ± 0%   488.3Mi ± 0%       ~ (p=0.853 n=10)
geomean               314.1Mi        314.2Mi       +0.05%

wjiec avatar Sep 28 '23 05:09 wjiec