Reasons for decreasing the number of threads in a parallel implementation What are the reasons for decreasing the number of threads in a parallel implementation ? 

Assume that we have two implementations, the first one with 4 threads, and a second one with 8 threads, and both have exactly the same run time. What are the various reasons to prefer the first one?

I stress on the fact that the two implementations have the same run times.

The obvious reasons are the following:


If we have 8 processors, we can execute at the same time this implementation on two different sets of inputs thus performing twice the work,
Less resources consumption by the OS which handles less number of threads.


I'm looking for other reasons...
Some other benefits from a security point of view for running the 4 threads implementation would be :


Obfuscation of the actual processors being used by the algorithm, in case an attacker is looking to interfere with the execution.
If you have 8 processors you can run simultaneously the same algorithm twice using the same input to check the integrity of your results.