On Sun, Sep 16, 2012 at 11:21 AM, Liviu Nicoara <nikko...@hates.ms> wrote:

> Thanks, Stefan. I looked over it and it seems very similar to, and somewhat
> more detailed than gprof profiling output.

In the experiment with our (Solaris) patch, there is total of 992 race
conditions for the duration of the program:

175 race conditions occur in __rw::__rw_locale::__rw_locale(const char*)
158 race conditions in __rw::__rw_locale::_C_is_managed(int)const
etc.

In the experiment with your patch, there is a total of 10552 race
conditions for the duration of the program:

3480 race conditions occur in __rw::__rw_get_numpunct(const
__rw::__rw_facet*,int)
1497 race conditions in __rw::__rw_locale::_C_is_managed(int)const
etc.

The test program was run with the following arguments: --nthreads=4
--nloops=10000. This means that, for the test case with your patch
applied, there is one race condition for every loop.

These experiments are not designed  to provide any useful information
about the overall performance of a program. In order to perform race
condition instrumentation and analysis with the SunPro Thread
Analyzer, optimization must be turned off. The only purpose of these
thread analyzer experiments is to identify those spots in the program
where a race condition exists, and will cause synchronization problems
and run-time errors.

--Stefan

-- 
Stefan Teleman
KDE e.V.
stefan.tele...@gmail.com

Reply via email to