I intend to implement some of these ideas of the next few days, but I figured I would share my plan in broad strokes:
stub-generator re-walks already walked inputTrees herethis.listFiles() would prevent the double FS walk (quite costly)
inputfiles are re-read for stubgeneration, we can compare previous entries and new entries (only requiring a read for files that have changed). this.listEntries() would give us stat information, we could use to quickly see if anything has changed or not.
checksum the outputfile before writing or leaving the existing one if nothing change to prevent downstream invalidations.
I intend to implement some of these ideas of the next few days, but I figured I would share my plan in broad strokes:
this.listFiles()
would prevent the double FS walk (quite costly)this.listEntries()
would give us stat information, we could use to quickly see if anything has changed or not.