SIMD 加速字符串查找(strchr / strstr)系统指南

💡 原文中文,约1900字,阅读约需5分钟。
📝

内容提要

块A处理后将最后字节状态传递给块B,块A检查最后字节是否为'p0',块B检查第一个字节是否为'p1',若匹配则产生候选位置。

🎯

关键要点

  • 块A处理完后,将末尾信息传递给块B。
  • 块A检查最后字节是否为'p0',并保存状态。
  • 块B检查第一个字节是否为'p1',若匹配则产生候选位置。
  • carry用于保存块A的最后字节状态。
  • 代码实现中,carry的位移和逻辑需要正确理解。
  • 最终逻辑是块A的最后字节与块B的第一个字节进行匹配。
➡️

继续阅读