cabal-install: add --build-timings flag#11769
Conversation
e6e0ce1 to
2a9032c
Compare
There was a problem hiding this comment.
This looks great to me!
I am currently working on a tool for nicely visualizing module graph build times. I think I could probably be able to use the same tool for visualizing package graph build times.
If this is accepted, then I might make a followup PR to also output this information to a file in dist-newstyle (along with dependency information) and that should work well with my tool
|
Thanks for the PR! I don't want to drag this longer than necessary, but I can't stand asking: how about a machine-readable version of this? Basically, spitting a CSV might be nice. But again it's more of food-for-thought kind of quetsion rather than an actual concern. |
Yes, that would be nice as well. I think I will let @TeofilC take care of that, given that he has a direct use case for it. I just put up this PR as it's what I was using to benchmark #11768 and #11767 and I thought it might be generally useful. |
85d962c to
e4e4801
Compare
|
@sheaf: do you think this is ready for merging? If so, could you set a label. |
|
@sheaf may have missed it too |
This new flag makes cabal-install dump timing information for the various stages of building a package. This allows us to better see how much time is spending in configure/build stages.
|
Queued — the merge queue status continues in this comment ↓. |
Merge Queue Status
This pull request spent 7 hours 31 minutes 28 seconds in the queue, including 1 hour 53 minutes 11 seconds running CI. Waiting for
All conditions
ReasonThe merge conditions cannot be satisfied due to failing checks
Failing checks:
HintYou may have to fix your CI before adding the pull request to the queue again. |
|
@Mergifyio queue |
Merge Queue Status
This pull request spent 5 hours 31 minutes 36 seconds in the queue, including 3 hours 33 minutes 52 seconds running CI. ReasonThe merge conditions cannot be satisfied due to failing checks
Failing checks:
HintYou may have to fix your CI before adding the pull request to the queue again. |
|
@Mergifyio queue |
Merge Queue Status
This pull request spent 1 hour 59 minutes 52 seconds in the queue, including 1 hour 49 minutes 1 second running CI. Required conditions to merge
|
This new flag makes cabal-install dump timing information for the various stages of building a package. This allows us to better see how much time is spending in configure/build stages.
I used this to figure out where we were wasting time for PRs #11767 and #11768. I think it makes sense to add it as a flag so that all users can get better observability (a bit like the
-dshow-passesGHC flag).Template Α: This PR modifies behaviour or interface
Include the following checklist in your PR: