用户反馈“关于慢的问题也有好几天了”,要求汇总 PrivateVoice 日志并判断是否有需要改进的地方。
/Users/ar/Library/Application Support/PrivateVoice Input/app.log2026-06-27 至 2026-07-01SenseVoice · CoreML (Apple Neural Engine)全部样本:
total_ms:平均 966ms,p50 619ms,p90 1541ms,p95 2393ms,最大 14473msrecognize_ms:平均 586ms,p50 257ms,p90 1151ms,p95 2008ms,最大 13394mspaste_ms:平均 3ms,p50 1ms,p95 12ms,最大 78mshistory_ms:平均 10ms,p95 28ms,最大 81mstail_ms:通常固定 300mshotkey_wait_ms:通常固定 50-51msengine_lock_wait_ms:始终 0ms慢样本分布:
total_ms <= 700ms:230 次701-1000ms:63 次1001-2000ms:59 次2001-4000ms:17 次>4000ms:8 次按天:
慢峰值集中时段:
slow > 2s 有 10 次,recognize_ms 最大 4842msslow > 2s 有 3 次,recognize_ms 最大 3625msslow > 2s 有 3 次,recognize_ms 最大 13394msslow > 2s 有 4 次,recognize_ms 最大 6222mspaste_ms 平均 3ms,p95 12ms,最大 78ms。history_ms 平均 10ms,最大 81ms。engine_lock_wait_ms 始终为 0ms。recognize_ms 抖动,尤其在系统负载极高时被拖到 2-14 秒。load average 193 / 124 / 59,Codex、WindowServer、Computer Use、Spotlight、spindump 等占用明显;与 17-18 点慢峰值高度吻合。P0 外部环境治理:
P1 产品内性能告警:
recognize_ms > 2000 或 total_ms > 2500 时,在日志中增加慢识别摘要,并记录当前模型、音频长度、系统负载近似信息。P2 固定等待优化:
ReleaseTailCaptureEngine 主要由 X-ASR 实现,普通 sherpaEngine 理论上不应请求尾音窗口,但日志中仍有 300ms,需进一步定位实际配置来源。P3 识别推理防抖:
recognize_ms 分级。release_tail_wait_done,确认是否是历史诊断版本、分支差异或引擎能力判断有偏差。按用户确认意见完成代码落地:
PERF slow_recognition 日志:recognize_ms > 2000 或 total_ms > 2500load1/load5/load15load_unavailable=true验证:
gofmtgit diff --check -- privatevoice.src/app.go privatevoice.src/app_live_caption_test.go privatevoice.src/system_load_darwin.go privatevoice.src/system_load_other.go privatevoice.src/internal/engine/engine_darwin.go privatevoice.src/internal/engine/engine_darwin_test.gogo test ./...验证结论:测试通过;仅存在既有 macOS 链接版本 warning。