Hey guys I am working on a concurrent program in Scala and I am running some tests to check efficiency but I seem to get some really bizarre numbers.
In every test I increase the number of "workers" or processes spawned off. I am expecting to find an increase in running time as these processes increase up from 1 up to the point where the communication overhead and the race conditions get high enough to cancel it out. So for example I am expecting to see something like:
Processes ------ 1 ------ 2 ------ 3 ------ 4 ------ 5 ------ 6 ------ 7
Runtime(sec) ---- 3 ------- 2.5 ------- 2 ------- 1.5 ------- 2 ------- 2.5 ------- 3
In any case what I would like to ask is if anyone knows how many threads can an Intel Core i5-430M processor hold. I know it typically has EDIT: 2 cores and 4 threads. Does that mean that performance should start getting worse after spawning 5 and more processes? Like the above example?
Any help would be appreciated.