- name
- eng-performance
- description
- Guard latency, memory, battery, bandwidth, and gas/compute budgets by measuring before and after every change.
# Performance and Efficiency Awareness
## Intent
- Treat budgets (frame time, network round-trips, server CPU, on-chain gas) as first-class requirements.
- Prevent regressions by profiling early, not after user complaints.
## Inputs
1. Existing SLAs/budgets per platform (FPS, TTI, API latency, contract gas caps).
2. Representative workloads, datasets, replays, or load scripts.
3. Tooling: profilers, flamegraphs, shader analyzers, gas estimators, Lighthouse, etc.
## Workflow
1. **Establish baseline**
- Capture metrics for the current implementation under realistic load/device tiers.
2. **Design with budgets**
- Choose data structures, rendering strategies, and contract patterns aligned with constraints.
- Consider caching, pagination, batching, and compression aggressively.
3. **Measure iteratively**
- After each significant change, run targeted benchmarks or simulations.
- Track results in the PR/issue; highlight deltas and why they are acceptable.
4. **Optimize where it matters**
- Focus on user-facing bottlenecks; avoid premature micro-optimizations.
- For web3, minimize storage writes and external calls; for mobile, monitor battery/thermal impact.
## Verification
- Benchmarks or profiling output attached, showing no regression (or justified improvements).
- Budgets documented; alarms/alerts configured if applicable.
- For regressions that cannot be fixed immediately, open a follow-up issue with owner, impact, and mitigation.
GitHub에서 보기