Open mihails-strasuns opened 7 years ago
It is wasteful and it has been on my TODO list for a long time. This code is the root of the problem.
The fix is to pass to each task a list of all the incoming resources that were modified and are causing it to be executed. Then, the parent build tells the child build which resources were modified so it doesn't have to recalculate (which can be very expensive). This will have to be implemented as part of the graph traversal algorithm in graph.d.
Can be reproduced with https://projects.dicebot.lv/desktop/libmpcd :
I don't know what is really happening here but it looks wasteful that same resources keep being considered "changed externally" depending on root directory that triggers the build. Is this by design or a bug?