From 6890afd9a34646b20043d0dffe32cabd0f3ec51c Mon Sep 17 00:00:00 2001 From: Robert Griesemer Date: Wed, 14 Dec 2011 11:14:10 -0800 Subject: [PATCH] strconv: slightly faster int conversion for GOARCH=386 benchmark old ns/op new ns/op delta strconv_test.BenchmarkFormatInt 12198 12031 -1.37% strconv_test.BenchmarkAppendInt 9268 9153 -1.24% strconv_test.BenchmarkFormatUint 3538 3429 -3.08% strconv_test.BenchmarkAppendUint 3133 3062 -2.27% No performance difference for GOARCH=amd64. R=golang-dev, rsc CC=golang-dev https://golang.org/cl/5488089 --- src/pkg/strconv/itoa.go | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pkg/strconv/itoa.go b/src/pkg/strconv/itoa.go index 4ef835502d4..ca40dd7ef62 100644 --- a/src/pkg/strconv/itoa.go +++ b/src/pkg/strconv/itoa.go @@ -76,7 +76,7 @@ func formatBits(dst []byte, u uint64, base int, neg, append_ bool) (d []byte, s for u >= 100 { i -= 2 q := u / 100 - j := u - q*100 + j := uintptr(u - q*100) a[i+1] = digits01[j] a[i+0] = digits10[j] u = q @@ -84,7 +84,7 @@ func formatBits(dst []byte, u uint64, base int, neg, append_ bool) (d []byte, s if u >= 10 { i-- q := u / 10 - a[i] = digits[u-q*10] + a[i] = digits[uintptr(u-q*10)] u = q } @@ -103,7 +103,7 @@ func formatBits(dst []byte, u uint64, base int, neg, append_ bool) (d []byte, s b := uint64(base) for u >= b { i-- - a[i] = digits[u%b] + a[i] = digits[uintptr(u%b)] u /= b } }