# 本机协议检测性能验证 修改目录:`C:\wechat_rpa`。仅修改源码,未进行真实协议发送、进程注入或真实队列/配置操作。 ## 改动 - 单次检测两次发现客户端时,共用只读构建哈希。复用键包含进程 ID、创建时间、程序路径及文件身份/大小/修改时间;下一轮检测不复用,无法取得进程创建时间不复用,真正发送始终重新完整校验。 - 前后两次发现客户端仍分别读取当前账号、服务和入口;消息库检查后的账号、进程、版本或构建变化仍阻止就绪。 - 复用同轮已读取的 PE 元数据和当前账号数据目录,去掉重复文件/目录读取。 - 协议环境检查仅准备当前账号的 `message.db`,继续验证当前账号消息表字段;实际协议回复初始化再加载该账号联系人/会话元数据。默认视觉多账号行为保持。 - 检测报告包含 `timingsMs` 和 `buildValidation`,便于区分进程、构建、消息库及末尾身份复核耗时。 ## 合成数据基准 运行 `benchmark_protocol.py`,输出 `PROTOCOL_PERFORMANCE.json`。以下为组件中位耗时,不代表真实业务端到端耗时。 | 场景 | 优化前 | 优化后 | |---|---:|---:| | 64 MiB 合成程序,两次构建哈希校验(5 次测量) | 255.550 ms | 149.119 ms | | 完整程序哈希次数 | 2 | 1 | | 4 账号、24 库、6 万联系人,当前账号健康检测(3 次测量) | 1708.684 ms | 22.029 ms | | 实际准备的数据库文件 | 24 | 1 | | 健康检测加载的联系人数量 | 60000 | 0 | ## 回归 新增 `test_protocol_probe_performance`,覆盖下一轮重新校验、换 PID、PID 复用、程序变化、发送强制完整校验、当前账号变化、范围限制、消息表健康检查和默认全账号兼容。 - 性能、协议、构建、账号、消息库及历史协议解析:87 项通过。 - WAL、视觉数据库读取、时间戳、队列优先级及归档:54 项通过。 - `test_native_evidence` 更新了合成哈希模拟边界,写权限/首次发送验证断言保持。 源码备份:`C:\wechat_rpa\backups\loading-performance-20260917`。