Excellent!
A bit of info about this change ... In prior builds, NCrunch was instantiating a new FileSystemWatcher for each project to keep an eye on the files in its directory. Some project structures can cause this watcher to start from a directory that is further up than the project (for example, when the project makes use of files outside its own directory). This can cause multiple watchers to cover the same paths, which produces redundant file change notifications. When you have 200-odd projects and 25,000 files being created, half a million updates becomes a real thing.
5.12.0.8 changes this so that watchers are consolidated and managed centrally, so in the above case these projects would likely be covered by a single watcher over the entire directory structure. This is naturally much more efficient in terms of platform resources, but it actually just moves the performance problem into NCrunch's own code, because we still need to sift 25,000 file system updates through 200 projects to determine whether any of these updates require attention. The logic required to do this is quite complex and it varies per project, so optimisation options are quite limited. The new approach handles this using a single worker thread, whereas previously this was handled using I/O completion ports that probably blocked up the whole system.
So there is still a risk with the new approach. You'll likely find that NCrunch no longer slows down the file system access for activities like the build you're running, but now the problem has been moved into a background thread in the engine that needs to work its way through a large buffer of changes. This might result in higher short-term memory consumption and you might notice a thread in the engine spinning for a while after you run your build. Because this thread is handling file-sync under NCrunch, it might make the engine less responsive to changes on the file system for a little while after you run the build (I'm not sure yet if it will take time to catch up, or how long). This means that if you update from your VCS after running a build, NCrunch might take a while before it acknowledges many of the changes.
This is just something to keep an eye out for. If it's too bad, there may be other things I can do about this. I think this solution is much better than the last one, but 25,000 file system updates is hard to pull through complex file-sync without a bit of resource consumption involved.