-
Notifications
You must be signed in to change notification settings - Fork 118
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
Rerun a subset of keys #800
Comments
I assume that this will require extending Shake to track reverse dependencies. @hsenag given your dag experience, do you know what are the pitfalls here? |
I have a rough, but working implementation of this. PR soon! |
I guess the main thing is that it adds more overhead. Firstly the obvious point about space/time to store and update the reverse dependencies. But also having a bidirectionally connected graph significantly increases the chances of memory leaks and means you need more complicated locking and update protocols to avoid races. I don't know much about the Shake graph and haven't looked at the detail of your PR, though. |
I want a version of
shakeRunDatabase
that takes in a set of rule keys to use as a dirtiness seed. Shake should then rerun only these rules and anything that depends on them, and assume that all other rule keys haven't changed.The expected Shake overhead should be proportional to the number of rules dirtied and not to the number of rule dependencies.
It is ok if a Shake option is needed to enable this functionality and results in a higher space/time overhead in other operations
The text was updated successfully, but these errors were encountered: