• Keith Randall's avatar
    runtime: Implement faster equals for strings and bytes. · 3d5daa23
    Keith Randall authored
    (amd64)
    benchmark           old ns/op    new ns/op    delta
    BenchmarkEqual0            16            6  -63.15%
    BenchmarkEqual9            22            7  -65.37%
    BenchmarkEqual32           36            9  -74.91%
    BenchmarkEqual4K         2187          120  -94.51%
    
    benchmark            old MB/s     new MB/s  speedup
    BenchmarkEqual9        392.22      1134.38    2.89x
    BenchmarkEqual32       866.72      3457.39    3.99x
    BenchmarkEqual4K      1872.73     33998.87   18.15x
    
    (386)
    benchmark           old ns/op    new ns/op    delta
    BenchmarkEqual0            16            5  -63.85%
    BenchmarkEqual9            22            7  -67.84%
    BenchmarkEqual32           34           12  -64.94%
    BenchmarkEqual4K         2196          113  -94.85%
    
    benchmark            old MB/s     new MB/s  speedup
    BenchmarkEqual9        405.81      1260.18    3.11x
    BenchmarkEqual32       919.55      2631.21    2.86x
    BenchmarkEqual4K      1864.85     36072.54   19.34x
    
    Update #3751
    
    R=bradfitz, r, khr, dave, remyoudompheng, fullung, minux.ma, ality
    CC=golang-dev
    https://golang.org/cl/8056043
    3d5daa23
asm_amd64.s 21.7 KB