Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2011-09-13 | Imported Upstream version 60upstream/60 | Ondřej Surý | 1 | -0/+88 | |
2011-09-13 | Imported Upstream version 60 | Ondřej Surý | 1 | -92/+0 | |
2010-04-30 | big: improved computation of "karatsuba length" for faster multiplies | Robert Griesemer | 1 | -47/+48 | |
This results in an improvement of > 35% for the existing Mul benchmark using the same karatsuba threshold, and an improvement of > 50% with a slightly higher threshold (32 instead of 30): big.BenchmarkMul 500 6731846 ns/op (old alg.) big.BenchmarkMul 500 4351122 ns/op (new alg.) big.BenchmarkMul 500 3133782 ns/op (new alg., new theshold) Also: - tweaked calibrate.go, use same benchmark as for Mul benchmark R=rsc CC=golang-dev http://codereview.appspot.com/1037041 | |||||
2010-04-27 | big: implemented Karatsuba multiplication | Robert Griesemer | 1 | -0/+91 | |
Plus: - calibration "test" - include in tests with gotest -calibrate - basic Mul benchmark - extra multiplication tests - various cleanups This change improves multiplication speed of numbers >= 30 words in length (current threshold; found empirically with calibrate): The multiplication benchmark (multiplication of a variety of long numbers) improves by ~35%, individual multiplies can be significantly faster. gotest -benchmarks=Mul big.BenchmarkMul 500 6829290 ns/op (w/ Karatsuba) big.BenchmarkMul 100 10600760 ns/op There's no impact on pidigits for -n=10000 or -n=20000 because the operands are are too small. R=rsc CC=golang-dev http://codereview.appspot.com/1004042 Committer: Robert Griesemer <gri@golang.org> |