This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Speed/profile of gcc3.4


On Tue, 20 Jan 2004, Jan Hubicka wrote:

> > Hi!
> >
> > To give some more data to the speed of g++ discussion I built a profiling
> > compiler and ran it over the tramp3d.cpp testcase
> > (http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/tramp3d.cpp.gz). Top
> > on the (flat) profile are
> >
> >   %   cumulative   self              self     total
> >  time   seconds   seconds    calls   s/call   s/call  name
> >   7.85     24.64    24.64 71506294     0.00     0.00  ggc_alloc
> >   3.37     35.23    10.59 75978109     0.00     0.00  htab_find_slot_with_hash
> >   3.17     45.20     9.97 15526171     0.00     0.00  walk_tree
>
> Actually I did some profiling of this too and at least from Gerald's
> testcase I concluded that wast majority of the hashtable uses come from
> the for_each_template_parm.  Jason mentioned that Mark plans to trim
> down use of these.  That should make it possible to shot this function
> out of profiles completely.
>
> Mark, do you made some progress on this?  If not, I can try to do
> something myself if you give me someguidelines.

Actually, for_each_template_param shows up here:

  0.43    151.22     1.34    47911     0.00     0.00  sbitmap_vector_alloc
  0.39    152.45     1.23 18536823     0.00     0.00  for_each_template_parm_r
  0.39    153.67     1.22  1120852     0.00     0.00  sbitmap_union_of_diff_cg

Callgraph looks like

                              384854             cselib_lookup_mem <cycle 1> [407]
                              640103             gen_rtx_CONST_INT <cycle 1> [1087]
                             1855728             cgraph_node <cycle 1> [595]
                             3023470             cselib_lookup <cycle 1> [108]
                             69793938             htab_find_slot <cycle 1> [187]
                0.00    0.00       2/101229133     make_cpp_dir [2759]
                0.00    0.00     441/101229133     _cpp_find_file [2155]
                0.00    0.00    4518/101229133     cgraph_remove_node [1459]
[41]     3.9   10.59    1.56 75978109         htab_find_slot_with_hash <cycle 1> [41]
                0.65    0.00 64368978/64368978     eq_pointer [310]
                0.45    0.00 1517339/1517339     reg_attrs_htab_eq [389]
                0.12    0.00  462631/462631      list_hash_eq [752]
                0.11    0.00 1052895/1052895     mem_attrs_htab_eq [780]
                0.10    0.01  227704/661135      type_hash_eq [480]
                0.07    0.00 1698056/1698056     size_htab_eq [927]

and for htab_find_slot

                              940124             get_mem_attrs <cycle 1> [866]
                             1096723             get_reg_attrs <cycle 1> [657]
                             1684632             size_int_type_wide <cycle 1> [549]
                             65661439             walk_tree <cycle 1> [23]
                0.05    0.04   58629/101229133     remove_eh_handler [721]
                0.09    0.06  104145/101229133     add_ehl_entry [590]
                0.17    0.12  200965/101229133     maybe_remove_eh_handler [397]
[187]    0.5    0.88    0.57 69793938         htab_find_slot <cycle 1> [187]
                0.36    0.00 65692767/114308909     hash_pointer [318]
                0.06    0.00  940124/1008688     mem_attrs_htab_hash [985]
                0.05    0.00 1096723/1407744     reg_attrs_htab_hash [929]
                0.04    0.00    5783/5783        const_hash_1 [1123]
                0.02    0.01 1684632/1685231     size_htab_hash [1284]
                0.02    0.00  363739/366283      ehl_hash [1404]
                0.01    0.00    3599/3599        const_double_htab_hash [1755]
                0.00    0.00    6571/12650       typename_hash [2424]
                0.00    0.00   31328/764758      insns_for_mem_hash [2973]
                0.00    0.00    5783/5783        const_desc_hash [3332]
                             69793938             htab_find_slot_with_hash <cycle 1> [41]

and walk_tree

                             100948352             walk_tree <cycle 1> [23]
                                 732             break_out_target_exprs <cycle 1> [2322]
                              137222             cxx_unsave_expr_now <cycle 1> [798]
                              193876             copy_body <cycle 1> [1409]
                              197273             cgraph_create_edges <cycle 1> [1072]
                              238457             record_call_1 <cycle 1> [429]
                              377772             expand_calls_inline <cycle 1> [2988]
                              472630             remap_decl <cycle 1> [379]
                              536279             expand_call_inline <cycle 1> [132]
                              765817             walk_tree_without_duplicates <cycle 1> [646]
                             1337259             cp_walk_subtrees <cycle 1> [221]
                             11268854             for_each_template_parm <cycle 1> [333]
[23]     5.8    9.97    8.22 15526171+100948352 walk_tree <cycle 1> [23]
                0.31    6.75 15566125/15566125     cp_unsave_r [61]
                0.53    0.00 48523627/50649982     first_rtl_op [352]
                0.22    0.05 2107198/2107198     no_linkage_helper [524]
                0.03    0.10  951599/951599      inline_forbidden_p_1 [709]
                0.10    0.01 1625951/1625951     calls_setjmp_r [773]
                0.05    0.00 5275403/30960015     cp_is_overload_p [478]
                0.03    0.00  593303/593303      c_estimate_num_insns_1 [1203]
                0.03    0.00 3316016/3316016     cxx_callgraph_analyze_expr [1225]
                0.01    0.00  110823/110823      find_reachable_label_1 [1700]
                0.00    0.00     671/26098412     copy_tree_r [45]
                0.00    0.00    7357/7357        bot_replace [2470]
                0.00    0.00    2424/2424        local_variable_p_walkfn [2528]
                0.00    0.00    9990/9990        nullify_returns_r [3277]
                             65661439             htab_find_slot <cycle 1> [187]
                             51607162             cp_walk_subtrees <cycle 1> [221]
                             26625551             mark_local_for_remap_r <cycle 1> [195]
                             18536823             for_each_template_parm_r <cycle 1> [210]


--
Richard Guenther <richard dot guenther at uni-tuebingen dot de>
WWW: http://www.tat.physik.uni-tuebingen.de/~rguenth/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]