Looking at some example graphs, it is hard to know where all the time is going. In particular it looks like the time reported for splitter outputs may not be very accurate
See W20160630-152326 on dataland.
I think the culprit is the soapcall (activity8) which has all records on a single node.. But it is far from clear from the timings.