I reading in chunks would be save memory, even better would be reading into a pipe from a thread but portability issues ...