Performance degrades for more than 2 threads on Xeon X5355
- by zoolii
Hi All,
I am writing an application using boost threads and using boost barriers to synchronize the threads. I have two machines to test the application.
Machine 1 is a core2 duo (T8300) cpu machine (windows XP professional - 4GB RAM)  where I am getting following performance figures :
Number of threads :1   , TPS :21
Number of threads :2  ,  TPS :35 (66 % improvement) 
further increase in number of threads decreases the TPS but that is understandable as the  machine  has only two cores.
Machine 2 is a 2 quad core ( Xeon X5355) cpu machine (windows 2003 server with 4GB RAM) and has 8 effective cores.
Number of threads :1   , TPS :21
Number of threads :2  ,  TPS :27 (28 % improvement)
Number of threads :4  ,  TPS :25 
Number of threads :8  ,  TPS :24
As you can see, performance is degrading after 2 threads (though it has 8 cores). If the program has some bottle neck , then for 2 thread also it should have degraded. 
Any idea? , Explanations ? , Does the OS has some role in performance ? -  It seems like the Core2duo (2.4GHz) scales better than Xeon X5355 (2.66GHz)  though it has better clock speed.   
Thank you
-Zoolii