Like the idea. But, for this to work well don't you need the OS to
tell you about file system changes so you can reevaluate which
dependencies need updating?
The OS tells you by updating the modification time on the file. Say
you cache dependency information for foo.h. Next time you run jam,
jam checks the modification time of foo.h and uses the cached
dependency information only if foo.h hasn't canged.
If I remember correctly, jam's internal data structures are amenable
to this kind of thing. The patch to do this was not large.
Ok, though still a lot of checking on a large tree.