We ran into pipe limitations when receiving data on the output side.  Maybe we should test throwing a lot of data into the input pipe as well to see how it is handled?