-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
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 by Bors] - Decouple some dependencies #3886
Conversation
I'm unsure about:
I agree with all other changes. I am particularly happy with the changes to |
bors try |
tryBuild failed: |
I dropped "Remove the thiserror usage in bevy_reflect", enabled the full syn feature for bevy_reflect_derive too (which should fix CI) and removed another unused dependency. |
I would prefer to have less different crates depending on |
This a commit I think would be uncontroversial that has been cherry-picked from #3886
A couple more uncontroversial changes extracted from #3886. * Enable full feature of syn It is necessary for the ItemFn and ItemTrait type. Currently it is indirectly enabled through the tracing dependency of bevy_utils, but this may no longer be the case in the future. * Remove unused function from bevy_macro_utils
aee38c6
to
9e3b42c
Compare
I dropped the uuid change. This reduces the savings for |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. That's a sizable win on build times.
bors r+ |
Merge conflict. |
This allows tracing to be built long before syn is built, which allows for more build parallelism.
Instead add an inherent implementation. This allows removing the bevy_derive dependency from bevy_utils.
This removes a critical path when building
Rebased |
bors retry |
# Objective Reduce from scratch build time. ## Solution Reduce the size of the critical path by removing dependencies between crates where not necessary. For `cargo check --no-default-features` this reduced build time from ~51s to ~45s. For some commits I am not completely sure if the tradeoff between build time reduction and convenience caused by the commit is acceptable. If not, I can drop them.
This a commit I think would be uncontroversial that has been cherry-picked from bevyengine#3886
A couple more uncontroversial changes extracted from bevyengine#3886. * Enable full feature of syn It is necessary for the ItemFn and ItemTrait type. Currently it is indirectly enabled through the tracing dependency of bevy_utils, but this may no longer be the case in the future. * Remove unused function from bevy_macro_utils
# Objective Reduce from scratch build time. ## Solution Reduce the size of the critical path by removing dependencies between crates where not necessary. For `cargo check --no-default-features` this reduced build time from ~51s to ~45s. For some commits I am not completely sure if the tradeoff between build time reduction and convenience caused by the commit is acceptable. If not, I can drop them.
This a commit I think would be uncontroversial that has been cherry-picked from bevyengine#3886
A couple more uncontroversial changes extracted from bevyengine#3886. * Enable full feature of syn It is necessary for the ItemFn and ItemTrait type. Currently it is indirectly enabled through the tracing dependency of bevy_utils, but this may no longer be the case in the future. * Remove unused function from bevy_macro_utils
# Objective Reduce from scratch build time. ## Solution Reduce the size of the critical path by removing dependencies between crates where not necessary. For `cargo check --no-default-features` this reduced build time from ~51s to ~45s. For some commits I am not completely sure if the tradeoff between build time reduction and convenience caused by the commit is acceptable. If not, I can drop them.
Objective
Reduce from scratch build time.
Solution
Reduce the size of the critical path by removing dependencies between crates where not necessary. For
cargo check --no-default-features
this reduced build time from ~51s to ~45s. For some commits I am not completely sure if the tradeoff between build time reduction and convenience caused by the commit is acceptable. If not, I can drop them.