Replaced the path constructor that heavily depended on string prepending (which is expensive) with a recursive loop that first finds out the full size, then allocates enough memory, and finally copies the fragments from left-to-right without further allocs.
Optimize|PathDirectory: Faster path constructor
Replaced the path constructor that heavily depended on string
prepending (which is expensive) with a recursive loop that first
finds out the full size, then allocates enough memory, and finally
copies the fragments from left-to-right without further allocs.