有比 string.Contains 更快的方法吗

LYL_GO · · 1701 次点击
**strings.Contains** `0.0449 ns/op` 难道还不够快吗?我的Benchmark里面什么逻辑都不写,也被甩了将近十倍的差距。啥配置这么强悍? ```go func BenchmarkNoop(b *testing.B) { for i := 0; i < b.N; i++ { } } // goos: linux // goarch: amd64 // pkg: xxx.com/xxx // cpu: Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz // BenchmarkNoop // BenchmarkNoop-6 1000000000 0.2599 ns/op // PASS ```
#6
更多评论
感觉不太容易,看了下string.Contains的源码,当substr比较小的时候,是暴力匹配的,做了汇编级别的优化;substr比较大的时候,就是字符串hash了
#1
已经这么快了,还需要多快?
#2