As you describe it, it seems that the running time for a “tree split” operation should be proportional to the number of paths to be parsed.
Yet, that is not the case.
I was surprised to find out that the Tree Split components were the bottleneck in my definition.