math/big: save some copies in binaryGCD.
This patch resulted from a bit of quick optimisation in response to a golang-nuts post. It looks like one could save a couple other copies in this function, but this addresses the inner loop and is fairly simple. benchmark old ns/op new ns/op delta BenchmarkGCD10x10 1964 1711 -12.88% BenchmarkGCD10x100 2019 1736 -14.02% BenchmarkGCD10x1000 2471 2171 -12.14% BenchmarkGCD10x10000 6040 5778 -4.34% BenchmarkGCD10x100000 43204 43025 -0.41% BenchmarkGCD100x100 11004 8520 -22.57% BenchmarkGCD100x1000 11820 9446 -20.08% BenchmarkGCD100x10000 23846 21382 -10.33% BenchmarkGCD100x100000 133691 131505 -1.64% BenchmarkGCD1000x1000 120041 95591 -20.37% BenchmarkGCD1000x10000 136887 113600 -17.01% BenchmarkGCD1000x100000 295370 273912 -7.26% BenchmarkGCD10000x10000 2556126 2205198 -13.73% BenchmarkGCD10000x100000 3159512 2808038 -11.12% BenchmarkGCD100000x100000 150543094 139986045 -7.01% R=gri, remyoudompheng CC=bradfitz, gobot, golang-dev, gri https://golang.org/cl/9424043
Showing
Please
register
or
sign in
to comment