Concurrency and program speed

thedeemon dlang at thedeemon.com
Fri Mar 1 02:43:03 PST 2013


On Thursday, 28 February 2013 at 14:15:57 UTC, Joseph Rushton 
Wakeling wrote:

> In other words, it doesn't seem possible to get more than about 
> 2 * speedup on
> my system from using concurrency, even though there should not 
> be any data races or other factors that might explain slower 
> performance.

I've just run your example with DMD 2.061 on an Intel Core2 Quad 
(Q8200 @ 2.33 GHz) and got 36 s in sequential mode and 11-12 s in 
parallel (n=4). So it's ~3x speedup.

Two ideas coming to mind:
1) Amdahl's law. If there is some locking inside random numbers 
generator, you will never get linear speed up.
2) More probable: the "4 cores" of your laptop might be just 2 
cores with hyperthreading, that's not honest 4 cores, they won't 
give you 4x speedup anywhere.


More information about the Digitalmars-d-learn mailing list