On Sun, Sep 16, 2012 at 11:21 AM, Liviu Nicoara <[email protected]> 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. [email protected]
