C# – Parallel.ForEach Slower than ForEach?
What is the performance differences between using Parallel.ForEach and foreach loop?
A ForEach loop works like a For loop. The source collection is partitioned and the work is scheduled on multiple threads based on the system environment. The more processors on the system, the faster the parallel method runs. For some source collections, a sequential loop may be faster, depending on the size of the source, and the kind of work being performed.