I spent most of last week working on speed improvements in the package creation process, with nice results.
print-package-signature and out-of-date are now about twice as fast. packages with big dependency tree and no wantlib build very much faster (the new meta/* stuff is a proof of that). ports with lots of multi-packages will also see big improvements. port-lib-depends-check will also benefit. I think we're about back to the speeds before all the sanity checks, but with all the sanity checks. Technical details: - every user-visible operation that wants a port's libraries will create a cache directory and cache the results. - resolve-lib has some new options specifically for lib-depends-args, so that it gets invoked once instead of once per library. - pkg_create runs a specialized solver, that will only solve its own libraries instead of the full tree (and thus stops much earlier in many cases) - pkg_create is aware of the cache directory and caches plists in there. Thus, when they are already there, the next package in a multi-package situation no longer needs to regenerate it. This cache is destroyed after each user-invoked operation, because out-of-synch issues would be really bad. Users that really know what they are doing (e.g., a build without any change whatsoever) can try creating a directory and setting _DEPENDS_CACHE pointing to that directory.