CI: speed and memory budgets from the perf run (#287) #303
No reviewers
Labels
No labels
area/ci
area/desktop
area/packaging
area/protocol
area/reading
area/ui
area/web
area/writing
kind/bug
kind/feature
kind/infra
kind/request
needs/user
parked
perf
security
upstream
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
littlefox/neokom!303
Loading…
Reference in a new issue
No description provided.
Delete branch "issue-287-perf-budgets"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #287
CI fails when the gains of 0.6 slip back:
tools/perf-budget.py RESULTS.json [BUDGET.json]checks a perf run againste2e/perf/budget.json("scenario.metric": {max, why}); over a budget, a failed scenario or a missing metric fails. Its tests (tools/test_perf_budget.py: passes within, fails over/failed/missing, the budget file parses) run in thecheckjob.tools/perf.sh main-07): channels listed at login, calls at login, chain p95/slowest step and calls, one-offs p95, frames over 50 ms reading by scrolling and scrolling a thread, idle calls, calls paging back a channel, the giant thread (#285), wasm memory, DOM nodes and all calls at the end. Counts ~20 % headroom; times ~2.5x until CI's own numbers are in..forgejo/workflows/perf.yml: nightly, by hand, and on pull requests labelledperf(this one is).tools/perf.shruns the check locally too.The time budgets will likely be tightened once a few CI runs show the shared runners' numbers.
🤖 Generated with Claude Code
https://claude.ai/code/session_01XJW2ocwLunyaLiUwCBHEP8