Optimize: Use parallel hash tables in PathDirectory
Refactored PathDirectory to use two parallel hash tables, one for each PathDirectoryNode::Type of node to be stored. In the case of non-file resources, there is typically no path hierarchy and only resource names to be stored into the directory. By using this scheme it cuts the working memory requirement for each PathDirectory instance roughly in half.
Optimize: Use parallel hash tables in PathDirectory
Refactored PathDirectory to use two parallel hash tables, one for each
PathDirectoryNode::Type of node to be stored. In the case of non-file
resources, there is typically no path hierarchy and only resource names
to be stored into the directory. By using this scheme it cuts the working
memory requirement for each PathDirectory instance roughly in half.