GitHub 搜索优化:为何不停早更快
Don't stop early: Case-folding source code at memory speed

在 GitHub 的 Blackbird 代码搜索引擎中,处理 480TB 源码的 case folding 操作至关重要。我们发现一个反直觉的真相:在 ASCII 快速路径上,移除“遇到非 ASCII 字节就提前退出”的优化,反而能实现内存带宽级别的性能。通过消除循环中的分支判断,让编译器进行向量化处理,吞吐量从 3 GiB/s 飙升至 45 GiB/s。文章还探讨了如何避免堆内存分配,以及利用稀疏表结构让 Unicode 折叠同样高效。
在标量代码中,无分支实现反而是一种性能恶化。