docs: align batch and GUI performance evidence contracts

This commit is contained in:
Kinneyzhang 2026-09-07 04:09:50 +08:00
parent 2b5793acd6
commit 920efc36f7
3 changed files with 20 additions and 15 deletions

View File

@ -205,10 +205,11 @@ triplet.
## Performance evidence lanes ## Performance evidence lanes
The batch regression lane, trace lane, and GUI lane share one The batch latency lane, trace lane, and GUI lane share one
repository/environment/scenario/fixture/build identity but remain separate repository/environment/scenario/fixture/build identity but remain separate
measurements. The retained Research Shelf 1413×62 batch evaluator owns its measurements. The retained Research Shelf 1413×62 batch evaluator owns its
uninstrumented 5/30 p95/max 50ms regression checks. uninstrumented 5/30 p95/max 50ms regression checks. Batch verifier duration
measures batch Lisp work, not GUI first paint.
The trace lane owns a representative instrumented invocation with cost class, The trace lane owns a representative instrumented invocation with cost class,
work counters, turns, allocation, and GC. The GUI lane owns the real Emacs work counters, turns, allocation, and GC. The GUI lane owns the real Emacs
action sequence and reviewed visual evidence. Current GUI acceptance additionally action sequence and reviewed visual evidence. Current GUI acceptance additionally

View File

@ -108,9 +108,10 @@ ETAF 私有 registry 变量Component setup 中创建的 Controller 自动归
- 用 inert reader、source tab/session、未保存 source refresh 和 SQLite 临时文件 - 用 inert reader、source tab/session、未保存 source refresh 和 SQLite 临时文件
测试 mount/remount、筛选、分页、重复选行、mutation、错误状态和 cleanupGUI 测试 mount/remount、筛选、分页、重复选行、mutation、错误状态和 cleanupGUI
用干净 fullscreen 截图验证真实布局。 用干净 fullscreen 截图验证真实布局。
- 目标:一次 Data mutation 对应一次 Runtime generation/publication。当前有效的 - 目标:一次 Data mutation 对应一次 Runtime generation/publication。Research Shelf
延迟 lane 在固定 1413×62 几何下执行 5 次未计时 warmup 与 30 个计时 sample 的批处理延迟 lane 在固定 1413×62 几何下执行 5 次未计时 warmup 与 30 个计时 sample
每个场景的 p95 和 max 均须不超过 50ms。已接受的 105ms p50 是历史设计上下文, 每个场景的 p95 和 max 均须不超过 50ms当前 GUI 验收还有下述独立要求。
已接受的 105ms p50 是历史设计上下文,
不是当前 evaluator gate其正式处置仍由 M0b1 的 `DOC-PERF-001` 负责。 不是当前 evaluator gate其正式处置仍由 M0b1 的 `DOC-PERF-001` 负责。
- 压测入口:`etaf-research-shelf-fixture-size` 默认 256 - 压测入口:`etaf-research-shelf-fixture-size` 默认 256
`etaf-research-shelf-page-size` 默认 12已有本地记录保留不足部分使用新 ID `etaf-research-shelf-page-size` 默认 12已有本地记录保留不足部分使用新 ID
@ -118,13 +119,15 @@ ETAF 私有 registry 变量Component setup 中创建的 Controller 自动归
## 性能 evidence lanes ## 性能 evidence lanes
延迟 lane、追踪 lane 与 GUI lane 共享同一组仓库、环境、场景、fixture 和 build identity 批处理延迟 lane、追踪 lane 与 GUI lane 共享同一组仓库、环境、场景、fixture 和 build identity
但保持为三种独立测量。延迟 lane 负责无 instrumentation 的 5/30、p95/max 50ms 但保持为三种独立测量。批处理延迟 lane 负责 Research Shelf 1413×62 fixture 中
门禁;追踪 lane 负责一次代表性 instrumented invocation 的 cost class、work counters、 无 instrumentation 的 5/30、p95/max 50ms 回归检查。Batch verifier duration
turns、allocation 与 GCGUI lane 负责真实 Emacs action sequence、截图、录像与 不是 GUI first paint。追踪 lane 负责一次代表性 instrumented invocation 的 cost class、
temporal-review verdict。Batch verifier duration 不是 GUI first paint从 action-start work counters、turns、allocation 与 GCGUI lane 负责真实 Emacs action sequence
到 forced redisplay completion 的 first-paint 计时仍是独立 future gate也是 M0a 与已审查的画面证据。当前 GUI 验收还要求三组独立的前台实测,每项操作从回调开始
明确记录的 observed gap。任何一条 lane 都不能替另一条 lane 宣称通过。 到强制 redisplay 返回的 p95 和 max 均不超过 50ms该门禁尚未通过。使用
`../etaf/scripts/README.md` 中的测量入口保留预热、GC 记录和全部样本。
redisplay 返回不能证明操作系统已经呈现画面。任何一条 lane 都不能替另一条 lane 宣称通过。
## 待 review ## 待 review

View File

@ -148,7 +148,7 @@ missing recording, wrong buffer, split window, stale frame, or missing temporal
review remains fail-closed. review remains fail-closed.
Run `make check EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs`. Run `make check EMACS=/Applications/Emacs.app/Contents/MacOS/Emacs`.
Run `make perf` for the fixed 1413×62 latency gate. Every scenario performs Run `make perf` for the fixed 1413×62 batch latency gate. Every scenario performs
five unmeasured warmups followed by 30 measured samples; both p95 and max must five unmeasured warmups followed by 30 measured samples; both p95 and max must
remain at or below 50ms, including Theme and post-resize interactions. remain at or below 50ms, including Theme and post-resize interactions.
For repeated absolute-latency runs, use `make perf-prepare` once after source For repeated absolute-latency runs, use `make perf-prepare` once after source
@ -160,9 +160,10 @@ rebuilding the dependency graph.
Performance evidence has three separate lanes correlated by one Performance evidence has three separate lanes correlated by one
repository/environment/scenario/fixture/build identity: repository/environment/scenario/fixture/build identity:
- The batch regression lane runs the retained Research Shelf 1413×62 evaluator - The batch latency lane runs the retained Research Shelf 1413×62 evaluator
with 5 unmeasured warmups and 30 measured samples. Its p95/max 50ms checks with 5 unmeasured warmups and 30 measured samples. Its p95/max 50ms checks
diagnose regressions in that batch fixture. diagnose regressions in that batch fixture. Batch verifier duration measures
batch Lisp work, not GUI first paint.
- The trace lane runs a separate instrumented representative invocation. Its - The trace lane runs a separate instrumented representative invocation. Its
cost classes, work counters, turns, allocation, and GC data are not inserted cost classes, work counters, turns, allocation, and GC data are not inserted
into the timed latency distribution. into the timed latency distribution.