• Keith Randall's avatar
    runtime: switch default order of hashing algorithms · fbfb41e6
    Keith Randall authored
    Currently the standard hasher is memhash, which checks whether aes
    instructions are available, and if so redirects to aeshash.
    
    With this CL, we call aeshash directly, which then redirects to the
    fallback hash if aes instructions are not available.
    
    This reduces the overhead for the hash function in the common case,
    as it requires just one call instead of two. On architectures which
    have no assembly hasher, it's a single jump slower.
    
    Thanks to Martin for this idea.
    
    name         old time/op  new time/op  delta
    BigKeyMap-4  22.6ns ± 1%  21.1ns ± 2%  -6.55%  (p=0.000 n=9+10)
    
    Change-Id: Ib7ca77b63d28222eb0189bc3d7130531949d853c
    Reviewed-on: https://go-review.googlesource.com/c/go/+/190998Reviewed-by: default avatarMartin Möhrmann <moehrmann@google.com>
    fbfb41e6
asm_arm.s 31.2 KB