Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Track resolver dependencies as library cycle graphs #3996

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
May 7, 2025

Conversation

davidmorgan
Copy link
Contributor

@davidmorgan davidmorgan commented May 5, 2025

For #3811.

Track resolver dependencies as library cycle graphs; when invalidating, evaluate invalidation of resolved source by library cycles and graphs.

The phased library cycle graph is serialized after the build then used for invalidation in the next build.

Benchmarks show there is no longer quadratic growth in incremental build time or asset graph size. So after this performance improvements will be looking for constant factors--unless we find other ways to trigger slower-than-linear performance.

Add test coverage around interesting invalidation cases.

json_serializable          
shape libraries before: incremental/ms before: json/KiB after: incremental/ms after: json/KiB
loop 1 5379 328 5495 330
loop 500 15264 5954 13815 1118
loop 1000 30872 21358 21448 1921
loop 1500 46376 46531 28857 2722
loop 2000 66066 88461 37960 3526
loop 2500 86934 147108 40260 4331
loop 3000 120438 215858 53990 5137

Copy link

github-actions bot commented May 5, 2025

PR Health

Changelog Entry ✔️
Package Changed Files

Changes to files need to be accounted for in their respective changelogs.

@davidmorgan davidmorgan force-pushed the deps-graph-manual-rebase branch 2 times, most recently from 1dc9206 to 85e0861 Compare May 6, 2025 15:44
@davidmorgan davidmorgan changed the title Deps graph again Track resolver dependencies as library cycle graphs May 6, 2025
@davidmorgan davidmorgan force-pushed the deps-graph-manual-rebase branch 2 times, most recently from 236c9e8 to cd06a75 Compare May 6, 2025 16:31
@davidmorgan davidmorgan force-pushed the deps-graph-manual-rebase branch from cd06a75 to 96a18f7 Compare May 6, 2025 16:34
@davidmorgan davidmorgan marked this pull request as ready for review May 6, 2025 16:55
@davidmorgan davidmorgan requested a review from jensjoha May 6, 2025 16:55
@davidmorgan davidmorgan merged commit 33a0a24 into dart-lang:master May 7, 2025
73 of 75 checks passed
@davidmorgan davidmorgan deleted the deps-graph-manual-rebase branch May 7, 2025 07:48
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.

2 participants