Subject: Re: OOD checking done too eagerly

From: Sergey Matveev <[email-masked]>
Date: Fri, 22 Jan 2021 19:12:26 +0300

Greetings!

*** [email-masked] [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