• Dave Cheney's avatar
    runtime: check pointer equality in arm64 cmpbody · 686d44d9
    Dave Cheney authored
    Updates #11336
    
    Follow the lead of amd64 by doing a pointer equality check
    before comparing string/byte contents on arm64.
    
    BenchmarkCompareBytesEqual-8               25.8           26.3           +1.94%
    BenchmarkCompareBytesToNil-8               9.59           9.59           +0.00%
    BenchmarkCompareBytesEmpty-8               9.59           9.17           -4.38%
    BenchmarkCompareBytesIdentical-8           26.3           9.17           -65.13%
    BenchmarkCompareBytesSameLength-8          16.3           16.3           +0.00%
    BenchmarkCompareBytesDifferentLength-8     16.3           16.3           +0.00%
    BenchmarkCompareBytesBigUnaligned-8        1132038        1131409        -0.06%
    BenchmarkCompareBytesBig-8                 1126758        1128470        +0.15%
    BenchmarkCompareBytesBigIdentical-8        1084366        9.17           -100.00%
    
    Change-Id: Id7125c31957eff1ddb78897d4511bd50e79af3f7
    Reviewed-on: https://go-review.googlesource.com/13885Reviewed-by: default avatarKeith Randall <khr@golang.org>
    686d44d9
asm_arm64.s 24.5 KB