]> Cypherpunks repositories - gostls13.git/commit
big: implemented overlap-tolerant shifts in assembly
authorRobert Griesemer <gri@golang.org>
Fri, 7 May 2010 01:20:01 +0000 (18:20 -0700)
committerRobert Griesemer <gri@golang.org>
Fri, 7 May 2010 01:20:01 +0000 (18:20 -0700)
commit3f287b50027d42e17d9eb6feaea5b9efd887794f
treea56cb6c158481d59573a492881d7c6cb6e786211
parentfbf8d263f9925273b53fba32c7d1940430bee1f2
big: implemented overlap-tolerant shifts in assembly

- no need to make copies in cases of aliases
- removed deprecated internal shift functions
- minor unrelated simplifications

This change improves pidigits -s -n10000 by almost 20%:

user 0m6.156s (old)
user 0m4.999s (new)

(pidigits -s -n20000 goes from ~25s to ~19s)

R=rsc
CC=golang-dev
https://golang.org/cl/1149041
src/pkg/big/arith.go
src/pkg/big/arith_386.s
src/pkg/big/arith_amd64.s
src/pkg/big/int.go
src/pkg/big/nat.go