]> Cypherpunks repositories - gostls13.git/commit
runtime: use uintptr for block length in scanblock
authorDave Cheney <dave@cheney.net>
Tue, 5 Jun 2012 08:55:14 +0000 (18:55 +1000)
committerDave Cheney <dave@cheney.net>
Tue, 5 Jun 2012 08:55:14 +0000 (18:55 +1000)
commit09f48db3e17c71e2ab709efb760e2a305c67aace
treed13f65c4cc1625445d97e87aaddb6f8a92df3ecd
parenta7059cc7933981b89a4de5954ab5a294e77609c9
runtime: use uintptr for block length in scanblock

Using an int64 for a block size doesn't make
sense on 32bit platforms but extracts a performance
penalty dealing with double word quantities on Arm.

linux/arm

benchmark                 old ns/op    new ns/op    delta
BenchmarkGobDecode        155401600    144589300   -6.96%
BenchmarkGobEncode         72772220     62460940  -14.17%
BenchmarkGzip               5822632      2604797  -55.26%
BenchmarkGunzip              326321       151721  -53.51%

benchmark                  old MB/s     new MB/s  speedup
BenchmarkGobDecode             4.94         5.31    1.07x
BenchmarkGobEncode            10.55        12.29    1.16x

R=golang-dev, rsc, bradfitz
CC=golang-dev
https://golang.org/cl/6272047
src/pkg/runtime/mgc0.c