Skip to content

perf: cut get-impacted-targets --depEdgesFile CPU by about half - #621

Merged
tinder-maxwellelliott merged 1 commit into
Tinder:masterfrom
maxwellE:perf/impacted-distance-sort
Nov 4, 2026
Merged

tinder-maxwellelliott merged 1 commit into
Tinder:masterfrom
maxwellE:perf/impacted-distance-sort

Conversation

@maxwellE

@maxwellE maxwellE commented Nov 4, 2026

Copy link
Copy Markdown
Contributor
  • Sort the distance result on a rank computed once per label instead of a key closure that looked the label up in both maps and cloned it on every comparison.
  • Walk distances over borrowed labels: the memo, cycle guard and dependency lists no longer allocate a String per visit.
  • Build the hash and dep-edges maps in one bulk pass from the (sorted) entries instead of one tree search per insert.
  • Skip the second hash diff and the full copy of the starting hashes when the module graph is unchanged: no module-only targets exist then.

- Sort the distance result on a rank computed once per label instead of a
  key closure that looked the label up in both maps and cloned it on every
  comparison.
- Walk distances over borrowed labels: the memo, cycle guard and dependency
  lists no longer allocate a String per visit.
- Build the hash and dep-edges maps in one bulk pass from the (sorted)
  entries instead of one tree search per insert.
- Skip the second hash diff and the full copy of the starting hashes when
  the module graph is unchanged: no module-only targets exist then.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KJs3XyDHGXocPX8AFo8rZm
@tinder-maxwellelliott
tinder-maxwellelliott marked this pull request as ready for review November 4, 2026 13:16
@tinder-maxwellelliott
tinder-maxwellelliott merged commit 8923b07 into Tinder:master Nov 4, 2026
19 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants