开发者 Christof Kaser 推出了一款名为 blqsort(Branchless Quicksort)的新型排序算法库。基准测试数据显示,该算法在 Apple M1 和 AMD Ryzen 平台上均表现出色,其单线程版本排序 5000 万个双精度浮点数的时间比 C++ 标准库 std::sort 快约 30%,比流行的优化算法 pdqsort 快约 27%,而在 M1 上的多线程版本性能更是提升了数倍。blqsort 的核心优势在于采用了“无分支”编程技术。现代 CPU 执行指令时采用流水线技术,传统的 if-else 条件跳转容易导致分支预测失败,从而造成流水线停顿。blqsort 通过使用排序网络和辅助缓冲区策略,消除了条件分支,虽然增加了数据复制次数,但对于数值等廉价类型,其运行速度远快于传统逻辑。此外,该算法还集成了中位数策略以防止最坏情况发生,并针对小数组进行了展开优化。项目已在 GitHub 开源,提供 C 和 C++ 版本的单头文件接口,支持自定义数据结构排序,开发者可像使用标准库一样轻松集成。
事件分析
💡 核心观点:消除 CPU 分支预测错误的“无分支”编程正成为高性能算法的标配,重新定义了底层库的性能基准。
原文链接:Hacker News







AI周刊:大模型、智能体与产业动态追踪
程序员数学扫盲课
冲浪推荐:AI工具与技术精选导航
Claude Code 全体系指南:AI 编程智能体实战