This is the mail archive of the gcc-patches@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: [patch] Include memory consumption in timevar reports


On Sun, 23 Jan 2005, Zdenek Dvorak wrote:

Hello,

this patch includes information about amount of ggc memory allocated
for each timevar, e.g. (passes with >2% ggc for ./cc1 -O2 combine.i)

parser                :   0.44 ( 2%) usr   0.00 ( 0%) sys   0.45 ( 2%) wall    6429 kB (14%) ggc
tree gimplify         :   0.35 ( 2%) usr   0.00 ( 0%) sys   0.35 ( 2%) wall    1718 kB ( 4%) ggc
tree CFG construction :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall    2527 kB ( 6%) ggc
tree PHI insertion    :   0.05 ( 0%) usr   0.00 ( 0%) sys   0.05 ( 0%) wall    1443 kB ( 3%) ggc
tree SSA rewrite      :   0.27 ( 2%) usr   0.00 ( 0%) sys   0.27 ( 1%) wall    1621 kB ( 4%) ggc
dominator optimization:   1.30 ( 7%) usr   0.00 ( 0%) sys   1.32 ( 7%) wall    4121 kB ( 9%) ggc
tree split crit edges :   0.04 ( 0%) usr   0.00 ( 0%) sys   0.04 ( 0%) wall    1952 kB ( 4%) ggc
tree redundant PHIs   :   0.18 ( 1%) usr   0.00 ( 0%) sys   0.18 ( 1%) wall    2906 kB ( 6%) ggc
tree SSA to normal    :   0.24 ( 1%) usr   0.00 ( 0%) sys   0.24 ( 1%) wall    1710 kB ( 4%) ggc
expand                :   0.59 ( 3%) usr   0.00 ( 0%) sys   0.59 ( 3%) wall    5411 kB (12%) ggc
TOTAL                 :  17.99             0.21            18.32               45890 kB

(some of the numbers are really interesting; I would not suspect
splitting critical edges to take that much memory)

Basic blocks and edges are gc allocated, etc.


In reality, we need per-pass pools/arenas/whatever for most allocations.
(The difference over obstacks being that you can easily realloc and free a piece of memory within a pass, but still blow away the entire arena/pool of memory at once)



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