is it safe to generate profiles from multiple concurrent processes?

Markus Trippelsdorf markus@trippelsdorf.de
Wed Jun 25 12:58:00 GMT 2014


On 2014.06.25 at 11:35 +0200, Vincenzo Innocente wrote:
> I have built a library with -fprofile-generate.  Now I want to
> generate profiles using various applications that link that library.
> 
> My understanding is that it is safe to run a multi-thread process to
> populate the profiles.
> It is unclear to me if one can safely run multiple processes concurrently.
> 
> is there any risk of corruption or overwriting of the various "gcda”
> files if different processes attempt to write on them?  If safe I can
> easily speed up the generation of profiles by orders of magnitude.

The gcda files are accessed by proper locks, so you should be save.
(See gcc/gcov-io.c).

-- 
Markus



More information about the Gcc-help mailing list