On 05/12/2015 07:59 AM, Gerald Jansen wrote: > the performance of my D version deteriorates > rapidly beyond a handful of jobs whereas the time for the Python version > increases linearly with the number of jobs per cpu core.
It may be related to GC collections. If it hasn't been changed recently, every allocation from GC triggers a collection cycle. D's current GC being a stop-the-world kind, you lose all benefit of parallel processing when that happens.
Without seeing runJob, even arr2.dup may be having such an effect on the performance.
Ali