einsteinx2/WaveBox — pull request #141 by mdlayher (2013-08-07 16:03:29+00:00)
Title: Make file scanning single-threaded, add a bunch of notes as to why we did

From comments in code:

```
// NOTE: File processing was previously using Parallel.ForEach, but it has been changed to be
// single-threaded because:
// 1) Parallel scanning has the potential to cause race conditions on this code
// 2) Thanks to using "PRAGMA synchronous = OFF" in SQLite, scanning is much faster
// 3) Single-threaded scanning may be faster on HDDs, due to less thrashing of disk as the disk
// seeks to the next file
// In the future, we may revisit the issue, and perhaps detect if media lies on a SSD, allowing
// us to benefit more from parallel scanning.