> I tested my binaries on a third machine (Windows XP, Intel Bi Xeon 5140 @ 2.33 GHz), Poco : 15sec and Boost: 22sec.
Does that mean we can conclude that boost mutex does not perform better than Poco?
Also, if you are interested in review/testing, I have the boost mutex Poco-ified and available in the sandbox
. Given that I've seen no improvement, I'm not sure whether it is worth including in our codebase (there may be some scenarios I'm missing where it could be beneficial). What I have done is templated ))MutexImpl(( for Win32, so one can instantiate either ))CriticalSection(( (current Poco Mutex implementation on Windows) or ))EventMutex(( (ported from boost basic_timed_mutex)
> On that machine both CPUs are working the same way when running the Poco test. On mine the first one works twice as much as the second one, peak phenomenom happens on both.
As for this one, I'm not sure. Maybe boost::thread default implementation is allocating less memory than OS default. Poco allocates OS default (I think 1MB on windows), unless you #define POCO_THREAD_STACK_SIZE in POCO_BASE/Foundation/include/Poco/Config.h to a positive value (in which case it attempts to allocate the next memory page limit larger than what you have specified).