I am writing a C++ application which process text in multiple threads. On my laptop which is Core2 duo
T8300 machine , the application is giving 30% to 50% increase in TPS over single threaded version(when executed in 2 threads).But when I testedsame applicationon a 8-core machine (2 x X5355 quad core) machine , it is not at all scaling . Actually TPS is going down, if the umber of threads is more than I have few questions here
1. X5355 is more than three years old, does the technology has something to do with this behavior? . Because core2 duo is newer thanQuad core X5355and the application is scaling there. Will it make any difference ifI test the applicationon Intel's latest quad core machines ?
2. Does OS has some impact on this ?. The Xeon X5355 machine is a Windows 2003 server and the Laptop is Windows XP professional one.
3. The text processing functionality completes within seconds. Is it inherently suitable for parallel processing ?. If not, why it is giving scalabilityon core to duo machine.
4. The application synchronizes between threadsduring the start up and towards the end using wait and notify operations. Isthis more expensive on quad core machine than dual core ?.