This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Some (small) c++ compilation profiling data (oprofile)
- From: Karel Gardas <kgardas at objectsecurity dot com>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 17 May 2002 15:49:42 +0200 (CEST)
- Subject: 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