Improved read/write performance

- treat binary-data directly
- read from fd up to 64kB at a time