This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Some (small) c++ compilation profiling data (oprofile)
On Fri, May 17, 2002 at 03:38:26PM +0100, John Levon wrote:
> On Fri, May 17, 2002 at 03:49:42PM +0200, Karel Gardas wrote:
>
> vma count %age symbol
> > 0823c630 10753 2.24082 ggc_alloc
> > 080a4630 17441 3.63453 cp_type_quals
> > 0809b0f0 24612 5.12889 comptypes
> > 08148950 57998 12.0862 ggc_mark_trees
> > 0823c800 62622 13.0498 ggc_set_mark
>
> Actually I happen to have compiled a reasonably sized C++ program (lyx)
> with gcc 3.1, with -O2, and got a profile like this :
>
> 082d6f3c 662293 1.26887 htab_find_slot_with_hash
> 08067700 672534 1.28849 lang_mark_tree
> 08232770 757800 1.45185 walk_tree
> 0805fd90 820539 1.57205 grokdeclarator
> 08148770 890874 1.7068 ht_lookup
> 0823aad0 1114512 2.13526 ggc_alloc
> 0808f640 3089062 5.91824 yyparse_1
> 08146ee0 4452253 8.52994 ggc_mark_trees
> 0823aca0 4814504 9.22396 ggc_set_mark
>
> Is it really expected for ht_lookup() to be in the top five ?
Yes. It gets called for every identifier in the program, and there
are more of those than anything else in typical C++.
The amount of time spent in yyparse_1 is interesting. Can you check
out the cp-parser-branch, build it, and run this test with that
cc1plus, please? It is not certain to work, or to be faster, but it
should tell us something interesting about what the parser time is
being spent on.
zw