title: Optimal Buffer size for read-process-write
body: <p>In my function, I need to read some data from a file into a buffer, manipulate the data and write it back to another file. The file is of unknown size and may be very large.</p>
  
  <p>If I use a small buffer, there will be a long read/write cycle and it would take much time. In contrast, long buffer means I need to consume more memory. What is the optimal buffer size I should use? Is this case dependent?</p>
  
  <p>I saw some application like 'Tera copy' in windows that manages huge files efficiently. Is there any other technique or mechanism I should be aware of?</p>
  
  <p>Note: This program will be running under Windows.</p>