Optimising/understanding performance of SingleThreadForward