title: Improve disk read performance (multiple files) with threading
body: <p>I need to find a method to read a big number of small files (about 300k files) as fast as possible.</p>
  
  <p>Reading them sequentially using FileStream and reading the entire file in a single call takes between 170 and 208 seconds (you know, you re-run, disk cache plays its role and time varies).</p>
  
  <p>Then I tried using PInvoke with CreateFile/ReadFile and using FILE_FLAG_SEQUENTIAL_SCAN, but I didn't appreciate any changes.</p>
  
  <p>I tried with several threads (divide the big set in chunks and have every thread reading its part) and this way I was able to improve speed just a little bit (not even a 5% with every new thread up to 4).</p>
  
  <p>Any ideas on how to find the most effective way to do this?</p>