像是每写一个字,都把同一套检查表重新誊写几十遍:单次不算慢,连续生成长回答时,浪费就会层层累积。llama.cpp b9966 修掉了类似问题。llama.cpp 是用 C/C++ 运行大语言模型的工具;这次改动针对 -sm tensor——把权重和 KV 缓存并行拆到多块设备上的模式,因此主要值得采用这一路径提供本地模型服务的生产用户关注。
据 2026 年 7 月 11 日的 Reddit 社区帖,旧代码在解码线程中,会对每个张量、每个 token 重复编译 29 个正则模式。token 是模型处理文字的基本片段;解码则是模型逐个生成 token 的阶段。正则模式本来是用于文本匹配的规则,但编译时要先把规则解析成可执行结构。规则既然不变,反复准备就没有必要。
修复的思路很直接:把编译结果缓存起来,之后重复使用。该帖称行为不变,但能减少解码线程的 CPU 浪费。摘要没有披露实际吞吐量或延迟测试,因此暂时无法量化升级收益;不过这段代码位于执行极频繁的热路径,小补丁仍可能在多张量、长时间运行的服务里被显著放大。