• Dave Cheney's avatar
    runtime: use uintptr for block length in scanblock · 09f48db3
    Dave Cheney authored
    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
    09f48db3
mgc0.c 31.7 KB