Optimise the tree creation to the number of CPU's

Previously hundreds of goroutines could be launched in parallel, which
is not optimal for scheduling if they are all long running.