]>
Cypherpunks repositories - gostls13.git/commit
runtime: optimize string comparison on amd64
Use AVX2 if possible.
Results below (haswell):
name old time/op new time/op delta
CompareStringEqual-6 8.77ns ± 0% 8.63ns ± 1% -1.58% (p=0.000 n=20+19)
CompareStringIdentical-6 5.02ns ± 0% 5.02ns ± 0% ~ (all samples are equal)
CompareStringSameLength-6 7.51ns ± 0% 7.51ns ± 0% ~ (all samples are equal)
CompareStringDifferentLength-6 1.56ns ± 0% 1.56ns ± 0% ~ (all samples are equal)
CompareStringBigUnaligned-6 124µs ± 1% 105µs ± 5% -14.99% (p=0.000 n=20+18)
CompareStringBig-6 112µs ± 1% 103µs ± 0% -7.87% (p=0.000 n=20+17)
name old speed new speed delta
CompareStringBigUnaligned-6 8.48GB/s ± 1% 9.98GB/s ± 5% +17.67% (p=0.000 n=20+18)
CompareStringBig-6 9.37GB/s ± 1% 10.17GB/s ± 0% +8.54% (p=0.000 n=20+17)
Change-Id: I1c949626dd2aaf9f633e3c888a9df71c82eed7e1
Reviewed-on: https://go-review.googlesource.com/16481
Reviewed-by: Keith Randall <khr@golang.org>
Run-TryBot: Ilya Tocar <ilya.tocar@intel.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Klaus Post <klauspost@gmail.com>