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: Huge compile time & run time performance regression 3.3 -> HEAD


On Sun, 18 May 2003, Richard Guenther wrote:

> On Sun, 18 May 2003, Richard Guenther wrote:
>
> > Hi!
> >
> > As 3.3 is now out, I start comparing 3.3 to HEAD wrt compile time
> > performance and performance of the resulting code. As always these
> > comparisons are for a POOMA based scientific application.
> >
> > I experience a 100% compile time regression (673.50s -> 1284.48s) and
> > a 12% runtime performance regression (150s -> 171s) when comparing
> > gcc3.3 to HEAD.
> >
> > Time reports follow, the most prominent regressions are expand, global CSE
> > (>300%!), loop analysis and branch prediction.
>
> Top of a profile of gcc3.4 is
>
> Flat profile:
>
> Each sample counts as 0.01 seconds.
>   %   cumulative   self              self     total
>  time   seconds   seconds    calls   s/call   s/call  name
>   7.47     79.18    79.18      906     0.09     0.09  compute_store_table
>   6.92    152.54    73.36 262785751     0.00     0.00  expr_equiv_p
>   6.76    224.21    71.67   170098     0.00     0.00  fixup_var_refs_insns
>   5.58    283.38    59.17    12865     0.00     0.00  loop_regs_scan
>   4.39    329.97    46.59   364279     0.00     0.00  compute_transp
>   4.10    373.46    43.49 308470718     0.00     0.00
> splay_tree_splay_helper
>   3.27    408.15    34.69 201411415     0.00     0.00  fixup_var_refs_1
>   3.02    440.22    32.07 192083288     0.00     0.00  true_dependence
>   2.88    470.76    30.54 232168274     0.00     0.00
> mems_in_disjoint_alias_sets_p

Compared to a 3.3 profile:

Flat profile:

Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total
 time   seconds   seconds    calls  ms/call  ms/call  name
  8.08     45.30    45.30   272942     0.17     0.17  compute_transp
  7.15     85.38    40.08 263012170     0.00     0.00
splay_tree_splay_helper
  5.62    116.92    31.54 165540544     0.00     0.00  true_dependence
  4.72    143.36    26.44 203228718     0.00     0.00
mems_in_disjoint_alias_sets_p
  3.80    164.68    21.32   171556     0.12     0.12  clear_table
  3.61    184.92    20.24     9131     2.22     2.69  loop_regs_update
  3.46    204.34    19.42  3012195     0.01     0.01
invalid_mode_change_p
  3.04    221.36    17.02   605912     0.03     0.04  htab_traverse
  2.65    236.24    14.88   372632     0.04     0.04  alloc_page
  2.05    247.74    11.50  3644058     0.00     0.01
gt_ggc_mx_lang_tree_node
  1.81    257.88    10.14     4977     2.04     2.20  unroll_loop
  1.80    267.97    10.09 1344607967     0.00     0.00
splay_tree_compare_ints
  1.80    278.04    10.07 105168704     0.00     0.00
htab_find_slot_with_hash
  1.59    286.94     8.90  5214165     0.00     0.00  loop_invariant_p


gcc3.4
>   6.92    152.54    73.36 262785751     0.00     0.00  expr_equiv_p
seems to be the culprit.

Full gcc3.3 profile at

http://www.tat.physik.uni-tuebingen.de/~rguenth/gcc/profile_33.gz

Richard.


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