--- type: devlog kind: impl title: 全计划集中执行与开放门禁审计 date: 2026-09-09 status: partial stage: P4 evidence: E2 --- # 全计划集中执行与开放门禁审计 用户要求连续完成全部工作后统一交付,本批不再逐子批等待确认。当前读取环境:USB发现0、有效签名身份0;E4和正式Developer ID/Notary及GPL结论不以E2替代。 ## 开发前冻结范围 R2:显示缓存常规有序写入改为有界环形队列,均摊O(1)淘汰,snapshot O(K)。迟到记录保持原有到达序/质量与容量语义,乱序存在时允许O(K)压缩;不改Raw、公式或报告点数。去掉events didSet对oldValue数组的引用,改存已处理数量;减少Copy-on-write风险但需实测。图表一次渲染只排序一次而非两次。 R3:抽取单writer记录+指标派生+checkpoint入口,启动与实时入口共享。停止信号已到达后不新建检查点;在进行中的fsync仍不可取消,不承诺硬实时停止。用两份真实留存Raw验证在线指标与离线重算字节一致,覆盖checkpoint后恢复、写入满盘异常及seal边界。无自动周期默认开启。 效率目标:相同数据与固定版本,至少20轮前后对比。窗口1/10/30/60分钟、10Hz,10分钟到60分钟平均追加成本不随全历史增长;普通有序路径相对旧实现不回退10%以上。复杂度/模型耗时不代表真实主线程帧时延。统一写入按真实Raw等输入报告wall/CPU/RSS、吞吐和恢复一致性;资源峰值缺项明确开放。 R1全源设备准备、R4归因/阶段、R5Thermal/Counter与R6跨设备验收需要实际回包,不伪造缺失源。当前无设备,保留未关门状态。完整报告≤2秒、周期默认开启、分段报告/引擎快照、截图缓存及全UI长时验证仍不得标完成。 ## 当前明确结论 全部工作尚未完成。本批连续推进R2与R3、执行最终同源回归,集中记录剩余工作,不以内部包替代完整交付。 - 环形窗口按需64起步、倍增至capacity,有序事件均摊O(1)追加/淘汰,窗口快照O(K);乱序分支保留旧语义、仍O(K)。events观察器不再持有oldValue数组;图表单次排序复用。全历史events/samples仍驻留,未声称整个App有界内存。 - SessionWriter统一本次Raw→Metric→checkpoint,启动记录与实时记录走同一消费序号;停止后不再开始新checkpoint,已执行fsync不可取消。写入/派生失败后writer失效,不继续接受事件。 - Raw blob先验证文件长度与chunk范围再分配,超大伪造length拒绝;指标文件符号链接越出Session目录拒绝。 - Python277/277(2.336秒)。Swift114项执行、1项显式基准默认跳过、113项通过;基准另以release模式单独运行,不将skip计为通过。 ## R2真实规模模型前后对比(E2) 10Hz、1Hz快照、每规模20轮、release;旧实现冻结于测试Reference类。处理的是1/10/30/60分钟等量事件,并非真实等待60分钟或UI主线程录屏。模型所有点数断言通过;乱序/环绕/容量/快照独立性回归通过。 | 分钟 | 旧中位ms | 新中位ms | 旧CPU中位ms | 新CPU中位ms | | --- | --- | --- | --- | --- | | 1 | 10.128 | 8.688 | 9.908 | 8.686 | | 10 | 1786.366 | 155.163 | 1744.816 | 154.639 | | 30 | 6319.450 | 470.020 | 6180.621 | 469.145 | | 60 | 12568.169 | 942.319 | 12269.476 | 939.098 | 60分钟模型中位12568→942ms,下降约92.5%。进程峰值RSS旧69595136、新72867840字节(约+4.7%)。初版固定8192槽位峰值82841600字节,已改按需扩容;该初版不纳入最终源码成绩。CPU/内存包含测试进程与输入事件,不代表主线程帧时延;物理I/O峰值未测。前后非同时随机代码A/B,主机其他任务可能影响wall,保留CPU数据。 [旧窗口证据](/archive/validation/evidence/perfowl-window-before.json) · [最终窗口证据](/archive/validation/evidence/perfowl-window-after.json) ## R3完整写入与恢复一致性(E2) 两份留存匿名Raw各40轮,off/on各20轮,最终Python源码SHA256前后一致。实际SessionWriter包含Raw存储、指标派生、检查点、seal和finalizer;增量指标与离线重算hash一致,恢复前缀+尾段后重新派生hash也一致。输入预加载不计入writer计时但计入进程RSS。检查点时钟按事件加速,不等于真实墙钟配置验收。 | 样本 | off写入中位ms | on写入中位ms | offCPU中位ms | onCPU中位ms | onRSSbytes | on finalizer最大ms | | --- | --- | --- | --- | --- | --- | --- | | A | 491.814 | 655.448 | 482.124 | 617.430 | 115646464 | 720.602 | | B | 632.118 | 648.234 | 548.294 | 594.923 | 244629504 | 892.269 | 样本A开销约33.3%,CPU约28.1%,超10%预算;样本B约2.55%、CPU约8.5%。因此周期默认开启明确未过门禁,保留off,不降低预算。更早中间测量未包含最终边界修正,不纳入最终冻结结果。所有finalizer子链低于2秒不等于点击停止到报告≤2秒,因为未含设备drain/真实UI边界。 [样本A](/archive/validation/evidence/perfowl-consolidated-writer-A.json) · [样本B](/archive/validation/evidence/perfowl-consolidated-writer-B.json) ## 全计划未完成账本 | 阶段 | 仍需开发/验证 | 外部依赖 | 当前状态 | | --- | --- | --- | --- | | R0 | 主线程profile、物理IO峰值、同负载60分钟稳态 | 真机与实际负载 | partial | | R1 | 全源真实提前准备、截图服务、配置generation/生命周期完整回归 | 稳定设备回包 | partial | | R2 | 屏外订阅暂停、5Hz节流、缩略图缓存、峰谷保真/分段报告;全历史仍驻留 | UI交互录证 | partial | | R3 | 增量Frame/Startup终态、引擎checkpoint恢复、默认周期开销、满盘真实重启、1GB与端到端≤2秒 | 长会话/真机 | partial | | R4 | Startup阶段因果、Frame时间桥/目标归属及连续性 | 同build设备/可控Fixture/匿名源 | blocked | | R5 | 内存61.1逐点核对、GPU字段、Thermal当前等级、Counter实际data row与校准 | 对应原始会话及真实源/同窗资料 | blocked | | R6 | 所有矩阵、正式签名/公证/stapling/安装/GPL | Developer ID、notary凭据、法务结论、远程连通 | blocked | 本轮只读USB发现0、Bonjour Wi-Fi发现0(3秒扫描)、有效签名身份0。连接发现结果不是所有设备永久不存在。缺少设备与证书不阻止继续离线工程,但阻止宣称完整计划已完成;表内R1/R2/R3工程项也并非只等外部条件。 ## 后续一次性验收所需输入 接入可稳定使用的测试设备及目标应用/负载;提供指标异常对应会话和同窗校准资料;配置Developer ID与notary凭据(不把密钥写仓库)、GPL正式结论;恢复GitLab连通。收到后继续剩余工程/真实矩阵,不重复将内部子批当成整体交付。 ## Build44 内部产物(E2) ZIP110341034字节,SHA-256 `0f621b1825cf6f5cd3ae762c92e6215382a2a5312c5efb75e4399753ca5d0efe`。独立解包文件/符号链接一致,严格codesign通过,包内probe ready;ad-hoc、Gatekeeper/staple未通过,未安装Applications、无E4。[包证据](/archive/validation/evidence/perfowl-build44-package.json)。本包仅本批集中修复的内部测试产物,不是全计划交付。