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]

Some (small) c++ compilation profiling data (oprofile)



Hello,

Someone here recommend better profiling of gcc compilation. I think it's
not bad idea and because I'm not satisfied with c++ compilation
performance too, I've installed oprofile and here are some data.

Note:

For developing I'm compiling w/o any optimizations and for production
builds we are using simple '-O2' here. Target software is MICO
(http://www.mico.org) it uses templates quite huge IMHO.

Data:

There are producted by oprofpp tool after some time when they settled down
(few minute(s) after compilation finish). I've only sent functions from
0.5 % up here. If someone is curious I can post whole profile on request.


cc1plus profile
c++ params: '-I../include -O2 -fpermissive   -DPIC -fPIC  -c'

080c6280 3700     0.521799    strip_array_types
080d16c0 3736     0.526876    init_alias_analysis
080b07f0 4117     0.580607    dfs_walk_real
08210fe0 4307     0.607402    for_each_rtx
081ec3c0 4551     0.641813    constrain_operands
082d8c50 4679     0.659864    htab_find_with_hash
0806dbf0 4691     0.661557    for_each_template_parm_r
0812d1f0 4732     0.667339    mark_set_1
080b0560 5175     0.729814    lookup_fnfields_1
0813eb40 5187     0.731506    fixup_var_refs_insns
0813f070 5489     0.774096    fixup_var_refs_1
080afd90 5967     0.841507    is_subobject_of_p
080e9760 6804     0.959546    cse_insn
082d8d0c 7220     1.01821     htab_find_slot_with_hash
080558d0 7540     1.06334     store_bindings
08067970 8445     1.19097     lang_mark_tree
082342f0 9225     1.30097     walk_tree
080aec70 9644     1.36006     lookup_base_r
0808f8b0 9993     1.40928     yyparse_1
0823c630 13226    1.86522     ggc_alloc
080a4630 17536    2.47305     cp_type_quals
0809b0f0 24290    3.42554     comptypes
0823cc40 61690    8.69994     ggc_pop_context
08148950 69359    9.78148     ggc_mark_trees
0823c800 73888    10.4202     ggc_set_mark

cc1plus profile
c++ params: '-I../include -fpermissive   -DPIC -fPIC  -c'

08136520 2473     0.515348    fold
0812e780 2568     0.535145    force_fit_type
0822e7a0 2643     0.550774    build1
0822d280 2651     0.552441    purpose_member
08060000 2700     0.562652    grokdeclarator
0806c9d0 2956     0.616       comp_template_args
0823e120 3114     0.648926    ix86_comp_type_attributes
081f6340 3124     0.65101     find_reloads
081efd30 3135     0.653302    record_reg_classes
0814a1e0 3504     0.730198    ht_lookup
082d8c50 3638     0.758122    htab_find_with_hash
080c6280 3677     0.766249    strip_array_types
080b07f0 4109     0.856274    dfs_walk_real
0806dbf0 4730     0.985684    for_each_template_parm_r
080b0560 5111     1.06508     lookup_fnfields_1
080afd90 5985     1.24721     is_subobject_of_p
082d8d0c 6175     1.28681     htab_find_slot_with_hash
08067970 7131     1.48603     lang_mark_tree
080558d0 7807     1.6269      store_bindings
082342f0 8097     1.68733     walk_tree
080aec70 9588     1.99804     lookup_base_r
0808f8b0 9894     2.06181     yyparse_1
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

Any idea how can I help with gcc profiling? Sorry I can't change the code
since I don't have any experience w/ gcc internal design.

Cheers,

Karel
--
Karel Gardas                  kgardas@objectsecurity.com
ObjectSecurity Ltd.           http://www.objectsecurity.com



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