don't precompile dependencies when building the flutter tool#42771
Merged
jakemac53 merged 1 commit intoflutter:masterfrom Oct 15, 2019
Merged
don't precompile dependencies when building the flutter tool#42771jakemac53 merged 1 commit intoflutter:masterfrom
jakemac53 merged 1 commit intoflutter:masterfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Pub by default creates a snapshot of all executables from all direct dependencies on
pub get/upgradewhich is slow.To make things worse, since flutter_tool pins all transitive deps that means it compiles all transitive executables since they all look like immediate deps.
Passing --no-precompile speeds up the
pub get/upgradestep for flutter tool significantly by skipping this precompile step.Timing breakdown
Without --no-precompile:
real 0m20.911s
user 1m38.711s
sys 0m4.446s
With --no-precompile:
real 0m6.257s
user 0m1.756s
sys 0m0.167s
These differences will be a lot more pronounced on machines with fewer cores as well.
Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?