in addition to caching hashForDep(name, path) this PR introduces an interior cache for individual trees. As it turns out, dependencies are often shared, this now ensures deep dependencies hashes are reused.
The cache is the exact same as the that for hashForDep itself, merely prefixed the keys with hashFor. This ensures removal of the primary cache evicts all state.
in addition to caching
hashForDep(name, path)
this PR introduces an interior cache for individual trees. As it turns out, dependencies are often shared, this now ensures deep dependencies hashes are reused.The cache is the exact same as the that for hashForDep itself, merely prefixed the keys with
hashFor
. This ensures removal of the primary cache evicts all state.