为了提高子字符串搜索速度,利用了SIMD指令,特别是Karp-Rabin算法,以及一些其他改良方法。
在64位CPU上比较多个字节没有额外成本,因为支持SIMD指令的处理器可以同时比较多个字节。
文章展示了使用SIMD指令的两种方式,比较长度相同的子字符串。
介绍了不同的算法如基于Manhattan距离的MPSADBW以及PCMPESTRM,并比较了其性能。
测试结果显示,SIMD方法在性能上优于传统的C标准库函数strstr,尤其是在ARM架构上表现出色。
Get notified when new stories are published for "🇨🇳 Hacker News 简体中文"