This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: GCC gprof statistics
- From: Ishikawa <ishikawa at yk dot rim dot or dot jp>
- To: Andrew Pinski <pinskia at physics dot uc dot edu>
- Cc: gcc at gcc dot gnu dot org
- Date: Tue, 01 Jul 2003 05:16:28 +0900
- Subject: Re: GCC gprof statistics
- References: <B900389E-AA77-11D7-B3D8-000393A6D2F2@physics.uc.edu>
Andrew Pinski wrote:
>
> On Sunday, Jun 29, 2003, at 17:07 US/Eastern, Ishikawa wrote:
>
> > Dear Andrew Pinski,
> >
> > Care to share information about Shark tool?
>
> It is part of the CHUD tools 3.0.0 (only in beta right now)
> <http://developer.apple.com/tools/performance/>
> from Apple for Mac OS X, it used to be called Shikari in CHUD 2.0.
> It provides what vTunes does but I like it better (I help to develop
> some of Shark).
> It provides assembly and source level profiling, it is a statical one.
> It gives you a backtrace for each function.
> It also can use the performance monitors counters (PMCs) on the CPU, so
> you can look at miss-predicting of branches or
> how many unaligned access happened and where. It also can use the PMCs
> on the memory controller or inside the OS.
> Other information about Shark can be found here
> <http://developer.apple.com/technotes/tn/tn2086.html>, it is about
> Apple's new computer the G5 (IBM's 970) but it gives a good overview of
> Shark.
>
> > I used google, but I hit so many movie
> > (Jaws?) pages and got lost.
> >
> >> Using Shark from the CHUD tools, sampling for 30 seconds, here are the
> >> top 3 functions which call expr_equiv_p:
> >> 8.2% ldst_entry cc1
> >> 3.1% expr_equiv_p cc1 <--- itself (already
> >> lowered)
> >> 2.1% trim_ld_motion_mems cc1
> >>
> >
> > Also, it would be interesting to look at the mods
> > to for_each_rtx.
>
> I think the only one that will help the most is the other most common
> case of having one 'e'
> so it will be optimized to loop for that case, too I will look into to
> see if it is a mod to do.
>
> Thanks,
> Andrew Pinski
Thank you.
I am downloading gcc CVS files. (A kind of slow on 64kbps
ISDN line :-)
Once I get the latest CVS files in place,
I will produce
- --print-search-dirs variants as suggested by Zack,
- create a few experimental compilation speedup patches(2-3 %),
which I believe will be helpful since for_each_rtx is rather small
and called so many times in cc1 run,
- and finally, will begin working on diagnostics.c format
specifier thing again as suggested by Zack.
(The last one will need people's input since I am not
sure how the file is organized and I just read
the description of portable VA_OPEN(), VA_CLOSE() macros, etc...
Happy Hacking,
Ishikawa, Chiaki
--
int main(void){int j=2003;/*(c)2003 cishikawa. */
char t[] ="<CI> @abcdefghijklmnopqrstuvwxyz.,\n\"";
char *i ="g>qtCIuqivb,gCwe\np@.ietCIuqi\"tqkvv is>dnamz";
while(*i)((j+=strchr(t,*i++)-(int)t),(j%=sizeof t-1),
(putchar(t[j])));return 0;}/* under GPL */