We port our multi-threaded application to Delphi XE7 and test the new TParallel.For function. We found that it parallelizes well on laptops (Core I-5 / Windows 7 with 4 cores), achieving almost 100% processor utilization.
When we run the exact same code on Intel Xeon / Windows 2008 R2 with 2x12 cores, it reaches only 3% of usage and, apparently, uses only 2 cores.
The same problem is obvious using the Conways Life demo example.
We tried to use OTL, which is close to 100% on Xeon, but, unfortunately, we ran into the "Not enough quota" problem and cannot seem to resolve this.
Anyone else run into this? We tried to use the Stride, SetMinWorkerThreads and SetMaxWorkerThreads () parameters, but to no avail.
source
share