This is the mail archive of the gcc-regression@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]

GCC memory consumption increased by recent patch!


Hi,
Comparing memory consumption on compilation of combine.i and generate-3.4.ii I got:


comparing combine.c compilation at -O0 level:
    Overall memory needed: 25241k
    Peak memory use before GGC: 9329k
    Peak memory use after GGC: 8641k
    Maximum of released memory in single GGC run: 2926k
    Garbage: 42520k
    Leak: 6088k
    Overhead: 5657k
    GGC runs: 354

comparing combine.c compilation at -O1 level:
  Amount of produced GGC garbage increased from 71629k to 71893k, overall 0.37%
    Overall memory needed: 26573k -> 26577k
    Peak memory use before GGC: 9291k
    Peak memory use after GGC: 8730k
    Maximum of released memory in single GGC run: 2064k
    Garbage: 71629k -> 71893k
    Leak: 6484k
    Overhead: 11334k -> 11597k
    GGC runs: 569

comparing combine.c compilation at -O2 level:
  Amount of produced GGC garbage increased from 87105k to 87424k, overall 0.37%
    Overall memory needed: 29821k -> 29805k
    Peak memory use before GGC: 12705k
    Peak memory use after GGC: 12579k
    Maximum of released memory in single GGC run: 2578k
    Garbage: 87105k -> 87424k
    Leak: 6305k
    Overhead: 15993k -> 16312k
    GGC runs: 570

comparing combine.c compilation at -O3 level:
  Amount of produced GGC garbage increased from 117002k to 117386k, overall 0.33%
    Overall memory needed: 21400k
    Peak memory use before GGC: 13132k
    Peak memory use after GGC: 12579k
    Maximum of released memory in single GGC run: 3418k
    Garbage: 117002k -> 117386k
    Leak: 6813k
    Overhead: 21090k -> 21474k
    GGC runs: 636

comparing insn-attrtab.c compilation at -O0 level:
    Overall memory needed: 118512k
    Peak memory use before GGC: 79408k
    Peak memory use after GGC: 46137k
    Maximum of released memory in single GGC run: 43357k
    Garbage: 161090k
    Leak: 10609k
    Overhead: 20460k
    GGC runs: 295

comparing insn-attrtab.c compilation at -O1 level:
  Amount of produced GGC garbage increased from 459069k to 462072k, overall 0.65%
    Overall memory needed: 130240k
    Peak memory use before GGC: 89840k
    Peak memory use after GGC: 70491k
    Maximum of released memory in single GGC run: 40959k
    Garbage: 459069k -> 462072k
    Leak: 10954k
    Overhead: 74021k -> 77023k
    GGC runs: 453

comparing insn-attrtab.c compilation at -O2 level:
  Amount of produced GGC garbage increased from 508436k to 511440k, overall 0.59%
    Overall memory needed: 205748k
    Peak memory use before GGC: 105256k
    Peak memory use after GGC: 85907k
    Maximum of released memory in single GGC run: 35657k
    Garbage: 508436k -> 511440k
    Leak: 10882k
    Overhead: 82119k -> 85123k
    GGC runs: 375

comparing insn-attrtab.c compilation at -O3 level:
  Amount of produced GGC garbage increased from 509710k to 512715k, overall 0.59%
    Overall memory needed: 205756k
    Peak memory use before GGC: 105258k
    Peak memory use after GGC: 85909k
    Maximum of released memory in single GGC run: 35657k
    Garbage: 509710k -> 512715k
    Leak: 10926k -> 10926k
    Overhead: 82302k -> 85307k
    GGC runs: 384

comparing Gerald's testcase PR8361 compilation at -O0 level:
    Overall memory needed: 111960k
    Peak memory use before GGC: 88676k
    Peak memory use after GGC: 87634k
    Maximum of released memory in single GGC run: 19564k
    Garbage: 249098k
    Leak: 57105k
    Overhead: 45784k
    GGC runs: 364

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Amount of produced GGC garbage increased from 589606k to 593544k, overall 0.67%
    Overall memory needed: 94576k
    Peak memory use before GGC: 87850k
    Peak memory use after GGC: 86403k
    Maximum of released memory in single GGC run: 19363k
    Garbage: 589606k -> 593544k
    Leak: 59030k -> 59030k
    Overhead: 128599k -> 132538k
    GGC runs: 628

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Amount of produced GGC garbage increased from 646627k to 651202k, overall 0.71%
    Overall memory needed: 95168k
    Peak memory use before GGC: 87850k
    Peak memory use after GGC: 86403k
    Maximum of released memory in single GGC run: 19363k
    Garbage: 646627k -> 651202k
    Leak: 59617k -> 59617k
    Overhead: 154288k -> 158863k
    GGC runs: 680

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Amount of produced GGC garbage increased from 690173k to 695233k, overall 0.73%
    Overall memory needed: 102916k
    Peak memory use before GGC: 94792k
    Peak memory use after GGC: 87880k
    Maximum of released memory in single GGC run: 19973k
    Garbage: 690173k -> 695233k
    Leak: 59953k -> 59953k
    Overhead: 165983k -> 171043k
    GGC runs: 660

Head of changelog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2004-10-29 09:19:09.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2004-10-29 15:11:45.000000000 +0000
@@ -1,3 +1,18 @@
+2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* tree-phinodes.c (make_phi_node, resize_phi_node): Don't zero
+	the whole PHI node.
+	* tree.h (tree_phi_node): Tell the garbage collector to chase
+	num_args arguments.
+
+2004-10-29  Richard Earnshaw  <rearnsha@arm.com>
+
+	* opts.c (decode_options): Lower the crossjump threshold for -Os.
+
+2004-10-29  Diego Novillo  <dnovillo@redhat.com>
+
+	* tree.h (struct tree_ssa_name): Remove field 'equiv'.
+
 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
 
 	* bitmap.h (bitmap_empty_p): New.
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2004-10-29 09:19:15.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2004-10-29 15:11:46.000000000 +0000
@@ -1,3 +1,7 @@
+2004-10-29  Kazu Hirata  <kazu@cs.umass.edu>
+
+	* pt.c: Fix a comment typo.
+
 2004-10-28  Nathan Sidwell  <nathan@codesourcery.com>
 
 	* typeck.c (composite_pointer_type): Remove comment about DR 195.

I am friendly script caring about memory consumption in GCC.  Please contact
jh@suse.cz if something is going wrong.

The results can be reproduced by building compiler with
--enable-gather-detailed-mem-stats targetting x86-64 and compiling preprocessed
combine.c or testcase from PR8632 with:

-fmem-report --param=ggc-min-heapsize=1024 --param=ggc-min-expand=1 -Ox -Q

The memory consumption summary appears in the dump after detailed listing of
the places they are allocated in.  Peak memory consumption is actually computed
by looking for maximal value in {GC XXXX -> YYYY} report.

Yours testing script.


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