25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
# Micro-Benchmark — Shared Template
|
|
|
|
For any optimization, test in isolation first. Call the target function directly — not through the full application — to isolate its true impact.
|
|
|
|
## Role
|
|
|
|
Micro-benchmarks are a fast pre-screen — validate that an optimization is worth committing before investing in a full E2E benchmark run. See `e2e-benchmarks.md` for how this fits into the two-phase measurement workflow and for fallback behavior when E2E benchmarks are not available.
|
|
|
|
## A/B Pattern
|
|
|
|
Write a benchmark script with two variants — the current approach and the optimized approach — using the same realistic input. The script should accept a command-line argument to select the variant.
|
|
|
|
See your language's `micro-benchmark.md` for the template and tooling.
|
|
|
|
## Micro-Benchmark-Only Keeps
|
|
|
|
Keep on micro alone if ALL hold:
|
|
1. Micro-benchmark shows clear, repeatable improvement above the domain threshold
|
|
2. Full tests still pass (always run for correctness)
|
|
3. Change is simple, doesn't add complexity
|
|
4. Function is confirmed on the hot path / exercised by the target test
|
|
|
|
See your language's `micro-benchmark.md` for domain-specific thresholds.
|
|
|
|
These saves compound: as dominant bottlenecks shrink, previously-buried savings surface.
|