Document the cost of routing high-frequency messages through deep reducer stacks
- 主要语言
- Rust
- 星标
- 9
- 派生
- 1
- 平均合并
- 11 小时 46 分钟
- 30 天内合并 PR
- 62
描述
## Summary
Document what routing a high-frequency message through a deep reducer stack
costs, so an application choosing between a flat `Application` and a composed
stack can weigh the cost against the separation it buys.
This is the one remaining acceptance criterion of #322; the runnable example
(`examples/dashboard_composed.rs`) and the decision guide (`docs/composition.md`)
landed in #360.
## Scope
- The per-boundary cost of a claimed message: what each boundary does to a
command on the way out (`Command::map`'s boxing, one `Command::scoped` call,
one `Subscription::scoped` call per declaration) and what it does to a message
on the way in.
- What that costs at a terminal-input or timer cadence, and at what stack depth
it stops being noise.
- Source-side coalescing as the answer when the cadence is the problem rather
than the depth.
- `Command::without_redraw()` and where it belongs in an update that runs often.
## Constraints
Every number in the guidance must come from a run of a bench in this repo, not
from reasoning about the code, and the guidance must say which bench produced
it so it can be re-measured. Where a cost cannot be measured with what exists,
say what is not known rather than estimating it — or add the bench.
Nothing here reopens RFC 0014: this is guidance about a cost, not a change to
what a boundary does.
## Acceptance criteria
- [ ] `docs/composition.md` gains a section on the cost of routing
high-frequency messages through deep reducer stacks.
- [ ] It covers `Command::map` boxing, source-side coalescing, and
`without_redraw()`.
- [ ] Every quantitative claim names the bench that produced it.
贡献指南
调研方向
Start with docs/composition.md and examples/dashboard_composed.rs, then locate and run the repository bench relevant to composed reducer routing. Read the named Command and Subscription APIs to identify the measured paths, adding a bench only if the existing ones cannot measure the requested costs. Done means the new section covers per-boundary and cadence guidance, coalescing, and without_redraw(), with every number tied to a named bench or explicitly marked unknown.
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- rust
- 领域
- documentation, performance
- Issue 类型
- 文档
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 活跃
- 描述清晰度
- 描述清楚
- 新手友好度
- 65/100