-
-
Notifications
You must be signed in to change notification settings - Fork 664
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
Optimize CcInfo computation #4020
Conversation
b87d329
to
9171aea
Compare
dd86602
to
ec075dc
Compare
90b4e1c
to
bfec462
Compare
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.
I'm surprised to see that this reduces CPU usage as I would have expected the aspect to be evaluated eagerly. Could you check the memory implications of having a new aspect?
I did as well, but I guess it must be lazy somehow? (And if it's not, I think we have a path to make it so; the I'll poke at memory usage as well |
60dce0e
to
e5ee146
Compare
@fmeum so I tried |
5ed297d
to
0967860
Compare
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.
Great job!
0967860
to
9d40500
Compare
Head branch was pushed to by a user without write access
8206e04
to
2328948
Compare
2328948
to
2d17373
Compare
This shows up around 4% of buildbuddy analysis phase
After this change, it goes away.
It seems like Bazel is able to make this lazy, which is good since it's only used for building LINKMODE_C_ARCHIVE/LINKMODE_C_SHARED which is fairly rare.
What type of PR is this?
Performance improvement
What does this PR do? Why is it needed?
Avoid computing CcInfo for every intermediate library when it's not needed
Which issues(s) does this PR fix?
Fixes #
Other notes for review