Clemens Eisserer <linuxhippy@xxxxxxxxx> 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