Something went wrong. Try again.
fork of gitlab.com/devnw/zig/thread-pool for zig 0.17
Something went wrong. Try again.
1.8 kB · 70 lines
Markdown
at main
Performance Targets #
Baseline Policy #
This repository does not hardcode arbitrary throughput numbers up front. The first measured baseline is stored in benchmarks/results/baseline.json, and CI compares new results against that file.
Workload Profiles #
CI-safe suite #
conn_churn_seqproducer_contention
Command:
zig build bench -- --output benchmarks/results/latest.json
Scheduled or manual suite #
conn_churn_parallelshort_long_mixidle_burst_idlenested_submitblocking_lane_simoversubscription
Command:
zig build scale-bench -- --output benchmarks/results/scale-current.json
Regression Gates #
CPU gate #
compare-benchfails if throughput regresses by more than15%against the stored baseline for a matched row.
Memory gate #
compare-benchfails ifrss_current_bytesgrows by more than15%against the stored baseline for a matched row.
Manual review expectations #
- Any sustained RSS increase under
conn_churn_seqorconn_churn_parallelrequires documenting the reason indocs/GAP_ANALYSIS.md. - Any scheduler-default change requires refreshing
docs/SCHEDULER_DECISION.md.
Reproduction Commands #
make bench-save
make bench-compare
make scale-bench
Threshold Updates #
Update thresholds only after:
- capturing new baseline JSON,
- recording the reason in a merge request,
- updating
docs/SCHEDULER_DECISION.mdif scheduler-sensitive metrics changed materially, - updating
docs/GAP_ANALYSIS.mdevidence links.
Open Gaps #
total_alloc_countcounts scratch allocation events (incremented insrc/memory/scratch.zig); per-size allocation histograms remain future work (RISK-06, #85).- CPU time falls back to wall time when the OS sample returns zero or is unavailable.