public inbox for gcc-help@gcc.gnu.org
 help / color / mirror / Atom feed
* What kind of data is collected with -fprofile-generate?
@ 2009-07-24 13:46 Clemens Eisserer
  2009-07-25  1:17 ` Ian Lance Taylor
  0 siblings, 1 reply; 3+ messages in thread
From: Clemens Eisserer @ 2009-07-24 13:46 UTC (permalink / raw)
  To: gcc-help

Hi,

I've been playing with profile driven optimizations lately and it
seems to work really well :)
Even with -mtune=generic I am able to get a 20% time reduction for a
critical piece of code.

What I wonder however is, how the profiling informations are collected.

E.g. when profiling pixman, I feed about 1Mio trapezoids to it,
however gcc only collects  ~1.5kb profile information for that Object
file:
> -rw-rw-r-- 1 ce ce  1784 2009-07-24 15:22 libpixman_1_la-pixman-trap.gcda

It seems irrelevant how much test-data I feed duing the profiling
stage, it won't grow beyond that 1.7kb.

Any ideas why?

Thank you in advance, Clemens Eisserer

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: What kind of data is collected with -fprofile-generate?
  2009-07-24 13:46 What kind of data is collected with -fprofile-generate? Clemens Eisserer
@ 2009-07-25  1:17 ` Ian Lance Taylor
  2009-07-26 20:21   ` Clemens Eisserer
  0 siblings, 1 reply; 3+ messages in thread
From: Ian Lance Taylor @ 2009-07-25  1:17 UTC (permalink / raw)
  To: Clemens Eisserer; +Cc: gcc-help

Clemens Eisserer <linuxhippy@gmail.com> writes:

> I've been playing with profile driven optimizations lately and it
> seems to work really well :)
> Even with -mtune=generic I am able to get a 20% time reduction for a
> critical piece of code.
>
> What I wonder however is, how the profiling informations are collected.
>
> E.g. when profiling pixman, I feed about 1Mio trapezoids to it,
> however gcc only collects  ~1.5kb profile information for that Object
> file:
>> -rw-rw-r-- 1 ce ce  1784 2009-07-24 15:22 libpixman_1_la-pixman-trap.gcda
>
> It seems irrelevant how much test-data I feed duing the profiling
> stage, it won't grow beyond that 1.7kb.
>
> Any ideas why?

The profiling information collects execution counts.  The size scales
with the number of branches in your program.  It does not scale with the
amount of data nor how long the program runs.

Ian

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: What kind of data is collected with -fprofile-generate?
  2009-07-25  1:17 ` Ian Lance Taylor
@ 2009-07-26 20:21   ` Clemens Eisserer
  0 siblings, 0 replies; 3+ messages in thread
From: Clemens Eisserer @ 2009-07-26 20:21 UTC (permalink / raw)
  To: gcc-help

Hi Ian,

> The profiling information collects execution counts.  The size scales
> with the number of branches in your program.  It does not scale with the
> amount of data nor how long the program runs.
Thanks a lot for explaining.
The results profile-driven optimizations yield are really impressive :)

- Clemens


2009/7/24 Ian Lance Taylor <iant@google.com>:
> Clemens Eisserer <linuxhippy@gmail.com> writes:
>
>> I've been playing with profile driven optimizations lately and it
>> seems to work really well :)
>> Even with -mtune=generic I am able to get a 20% time reduction for a
>> critical piece of code.
>>
>> What I wonder however is, how the profiling informations are collected.
>>
>> E.g. when profiling pixman, I feed about 1Mio trapezoids to it,
>> however gcc only collects  ~1.5kb profile information for that Object
>> file:
>>> -rw-rw-r-- 1 ce ce  1784 2009-07-24 15:22 libpixman_1_la-pixman-trap.gcda
>>
>> It seems irrelevant how much test-data I feed duing the profiling
>> stage, it won't grow beyond that 1.7kb.
>>
>> Any ideas why?
>

>
> Ian
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2009-07-26 20:21 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-07-24 13:46 What kind of data is collected with -fprofile-generate? Clemens Eisserer
2009-07-25  1:17 ` Ian Lance Taylor
2009-07-26 20:21   ` Clemens Eisserer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).