mirror of
https://github.com/mblanke/Lottery-Tracker.git
synced 2026-03-01 14:10:22 -05:00
894 B
894 B
Algorithms & Performance
Use this skill when performance matters (large inputs, hot paths, or repeated calls).
Checklist
- Identify the state you’re recomputing.
- Add memoization / caching when the same subproblem repeats.
- Prefer linear scans + caches over nested loops when possible.
- If you can write it as a recurrence, you can test it.
Practical heuristics
- Measure first when possible (timing + input sizes).
- Optimize the biggest wins: avoid repeated I/O, repeated parsing, repeated network calls.
- Keep caches bounded (size/TTL) and invalidate safely.
- Choose data structures intentionally: dict/set for membership, heap for top-k, deque for queues.
Review notes (for PRs)
- Call out accidental O(n²) patterns.
- Suggest table/DP or memoization when repeated work is obvious.
- Add tests that cover base cases + typical cases + worst-case size.