Hi K. Frank, very interesting results. I try to give my 5 cents for interpretation of timings. Esspecially case "d" I am interested in. As here we seem to spend too much time in idle-looping. Not sure why it happens, but looks worth-wile for investigation.
2011/9/30 K. Frank <kfrank2...@gmail.com>: > Hello List! > > I have run some timings on a couple of my std::thread test programs > using the following three std::thread implementations: > > native windows implementation, mingw-w64 4.5.2, a sezero build > pthreads-win32 implementation, mingw-w64 4.5.2, a sezero build > winpthreads implementation, mingw-w64 4.7.0, Ruben's std::thread build > > I list the timings, in seconds, in the above order (native, pthreads-win32, > winpthreads): > > Test "c2" (parallel accumulate): > > 15.40 (0.09) 15.43 (0.05) 18.79 (0.07) This slow-down might be caused by different implementation and/or code-generation of libstdc++/compiler. Nevertheless it might be also some additional overhead for thread-creation what we are seeing here. > Test "d" (mutex contention): > > 2.12 (0.02) 2.62 (0.08) 40.41 (0.06) For this test I would be interested to get some testcode. This looks to me like an uncessary sleep or thread-pausing. > Test "e" (condition variables): > > 3.18 (0.04) 3.31 (0.10) 0.74 (0.04) That one shows that winpthread tries to do a real round-balancing for waiters on conditional variables. And the approach seems to be worth, as we see in timing. I spend here some time to implement proper concurrency balancing code for waiters. Nice :) Regards, Kai ------------------------------------------------------------------------------ All of the data generated in your IT infrastructure is seriously valuable. Why? It contains a definitive record of application performance, security threats, fraudulent activity, and more. Splunk takes this data and makes sense of it. IT sense. And common sense. http://p.sf.net/sfu/splunk-d2dcopy2 _______________________________________________ Mingw-w64-public mailing list Mingw-w64-public@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/mingw-w64-public