[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug #59318] Add option ('-g') of generating build graph for updated goa
From: |
Jonas Danielsson |
Subject: |
[bug #59318] Add option ('-g') of generating build graph for updated goals |
Date: |
Sun, 15 Nov 2020 14:02:47 -0500 (EST) |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.183 Safari/537.36 |
Follow-up Comment #4, bug #59318 (project make):
[comment #3 comment #3:]
> Hi!
>
> Nice proposal. The Remake project (http://bashdb.sourceforge.net/remake/)
already implements something like this. We even tried it on our project.'
Hi, thanks!
I just tried remake. The --profile option feels like a superset of this
function yes! Browsing the resulting graph via kcachegrind is a nice
experience!
>
> The problem I found with that feature is that the resulting graph can be
incomprehensibly large (millions of nodes for large projects) and therefore
not very useful in reality. In the end, we figured out that the easiest way to
ensure that we can identify why something is being remade is to add basic
logging to all make runs (--debug=b). This shows very minimal details, does
not distort the logs too much but provides the vital info required to identify
the root cause in most cases.
>
Yes, I agree with this. This feature might be most useful for finding out
result for specific targets or for smaller projects.
At least if you want to create a full graph and visualize it all at once.
Another way to go is what kcachegrind does, with the remake case. And another
tool that is taskexp (and depexp before it) in the Yocto project.
They allow you to search and browse targets, and follow certain paths that you
are interested in.
With an explorer using a well-thought UI you could create a nice experience
from a dot graph as well I believe.
> On the other hand, such a graph can be really useful to discover
dependencies and use it to optimize the build. Of course, that requires proper
tooling for the graph handling.
>
Agreed.
> Have you tried the Remake implementation? Did you find it useful in
practice?
I tried it for the first time tonight. I feel it could be useful!
I might say that an "advantage" with my implementation is that it is smaller
in ambition :) I tried to keep the code and the outputs as non-invasive as I
could. And I believe other tools could be used to interpret the resulting dot
graph.
Thanks for your comment!
_______________________________________________________
Reply to this item at:
<https://savannah.gnu.org/bugs/?59318>
_______________________________________________
Message sent via Savannah
https://savannah.gnu.org/