Speaking of start up time and overhead, I saw now that the master keeps the sources of all compiled files that doesn't come from dumps, just to have them handy for extracting the docs, I presume.
That does not work. Really. Granted, pike isn't very small footprint to begin with, but this is in a different league.
I don't think there should be any space or time overhead in the master until docs actually are requested, and even then I think it should be up to the caller that requests the doc to keep caches and stuff.
I said it was best to add stuff to the master that needs to meddle with the dirnode/joinnode internals. That means functions that maps objects/functions/programs to the paths of their source files (if known), but nothing more than that. Anything else is beyond the scope of the master.