Greetings! *** spacefrogg-goredo@spacefrogg.net [2021-01-22 16:23]: >So, process 30334 (redo-ifchange b) runs the complete dependency >chain down to the source x, determining that b must be OOD. >[...] >The problem is, the dependency chain behind a could be arbitrarily >large, forcing redo to do this expensive calculation unnecessarily >often. All redo-ifchange instances do the same OOD detection again, because they do not share already made (by another instance) OOD-decisions. I completely agreed that they are unnecessary and relatively expensive at least because of continuous state files opening and reading. Of course because of filesystem's metadata cache, there should be no additional disk activity, but burnt CPU cycles and context switches because of syscalls. Currently, I have no plans in that direction, because it is far from being the bottleneck. But some day it should be optimized of course. -- Sergey Matveev (http://www.stargrave.org/) OpenPGP: CF60 E89A 5923 1E76 E263 6422 AE1A 8109 E498 57EF