Smart Turn v3.2 与 MaAI ch_kyoto 的本机计算延迟
2026-10-13，Apple M4 Mac mini，16 GB，CPU 推理。

测量结果（模型已加载并预热，单位毫秒）
Smart Turn v3.2，1线程：平均31.54，中位31.26，P95 33.23，P99 37.66。
Smart Turn v3.2，4线程：平均11.69，中位11.51，P95 12.56，P99 13.58。
MaAI ch_kyoto，4线程，持续增量更新：平均4.91，中位4.79，P95 5.39，P99 7.24。
同为4线程时，Smart Turn的一次判断耗时约为MaAI一次增量更新的2.38倍。两者每次计算的工作量不同：Smart Turn重算最多8秒的用户音频，MaAI处理新到的100毫秒双声道音频并复用20秒滚动缓存。

计算拆分（平均值）
Smart Turn 1线程：重采样0.157、特征提取1.185、ONNX推理30.137，其余补零/整理约0.058。
Smart Turn 4线程：重采样0.162、特征提取1.306、ONNX推理10.168，其余补零/整理约0.051。
MaAI 4线程：两路CPC编码约2.541、VAP预测约2.302，其余缓存/结果队列整理约0.065。
Smart Turn计时包括8kHz到16kHz重采样。MaAI计时从准备好的16kHz音频进入process开始，未计重采样；这一点应与上述数字一起理解。

数据与方法
Smart Turn使用上一轮44个判断点相同的音频切片、int16解码/32768归一化、Pipecat 1.12.0的实际LocalSmartTurnAnalyzerV3。每种线程配置预热5次后，对44个点重复5轮，共220次测量；每次输出分数均与原始回测结果相差小于0.0001。
MaAI使用上一轮6通录音，从文件起点持续推理至该通最后一个标注点，10Hz，20秒上下文，KV cache，CPU4线程。总计433.3秒音频、4333次更新；每通前20秒不纳入满上下文稳态统计，留下3133次更新。
两个基准任务串行运行，避免互相争抢CPU。分阶段计时会带来少量测量开销。
模型载入、Python导入、录音解码、VAD静音等待、ASR/LLM/TTS和网络时间均不计入主要延迟。

如何理解线上延迟
MaAI计算约5毫秒，但当前10Hz配置每100毫秒更新一次；新声音到达与更新边界之间还可能存在0–100毫秒的等待（持续均匀到达时约50毫秒），这属于帧调度间隔而不是模型计算时间。还未计实际流式重采样延迟和系统排队。
Smart Turn可在请求时执行一次约12毫秒（4线程）或32毫秒（1线程）的计算；实际请求何时发生由VAD/业务策略决定，此处不把静音等待混入计算延迟。
MaAI需要持续每秒更新10次，Smart Turn通常按停顿请求触发，因此单次更快不等于整个会话总算力更低。
之前MaAI的标注点评估每次从零重放最多20秒音频，44个点平均重放推理约976.5毫秒。那是离线构造上下文的成本，不是在线每次新结果的延迟。

复跑
在experiments/smart-turn-v3.2和experiments/maai-ch-kyoto两个目录分别执行：
uv run --locked python benchmark_latency.py
请顺序执行，避免并行争抢CPU。

原始记录
experiments/smart-turn-v3.2/results/latency.json
experiments/maai-ch-kyoto/results/latency.json
汇总：experiments/latency-comparison.json
所有均值、P95及样本数已独立核验。
