read() bytes directly rather than unpack them into an array, 15% speedup