This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: Kudos to the gcc developers
- To: Brad Lucier <lucier at math dot purdue dot edu>
- Subject: Re: Kudos to the gcc developers
- From: "Zack Weinberg" <zackw at stanford dot edu>
- Date: Thu, 30 Nov 2000 14:44:02 -0800
- Cc: gcc at gcc dot gnu dot org
- References: <200011301645.eAUGjPJ03706@polya.math.purdue.edu>
On Thu, Nov 30, 2000 at 11:45:25AM -0500, Brad Lucier wrote:
>
> 1. After Michael Matz's dominators calculation was integrated into
> gcc, I ran a profiled version to see what the next significant "hot
> spot" was in the compiler. I couldn't find one.
Hm, this surprises me. The profiles I do show significant time
(i.e. >5%) in the garbage collector and sometimes in CSE (not GCSE).
For example:
% cumulative self self total
time seconds seconds calls ms/call ms/call name
10.99 1.57 1.57 13711554 0.00 0.00 ggc_set_mark
10.50 3.07 1.50 21 71.43 167.08 ggc_mark_trees
5.88 3.91 0.84 1 840.00 14218.24 yyparse
4.27 4.52 0.61 1639379 0.00 0.00 memset
20% of runtime in garbage collection, ouch. Incidentally, memset is
mostly being called by make_node:
0.00 0.00 5420/1639379 make_tree_vec [444]
0.01 0.00 28262/1639379 ggc_alloc_cleared [246]
0.03 0.00 85756/1639379 ggc_collect [5]
0.11 0.00 295255/1639379 calloc [55]
0.46 0.00 1223609/1639379 make_node [17]
[34] 4.3 0.61 0.00 1639379 memset [34]
I think we want something akin to genrtl.c for trees. I doubt it can
be done in 3.0, though.
zw