GCC memory consumption increased by recent patch!
gcctest@suse.de
gcctest@suse.de
Wed Oct 6 14:20:00 GMT 2004
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: 25265k
Peak memory use before GGC: 9345k
Peak memory use after GGC: 8656k
Maximum of released memory in single GGC run: 2939k
Garbage: 43112k
Leak: 6090k
Overhead: 5691k
GGC runs: 363
comparing combine.c compilation at -O1 level:
Overall memory needed: 26717k
Peak memory use before GGC: 9436k
Peak memory use after GGC: 8872k
Maximum of released memory in single GGC run: 2071k
Garbage: 73090k -> 73084k
Leak: 6677k
Overhead: 11485k -> 11485k
GGC runs: 576
comparing combine.c compilation at -O2 level:
Overall memory needed: 29833k -> 29829k
Peak memory use before GGC: 12772k
Peak memory use after GGC: 12612k
Maximum of released memory in single GGC run: 2596k
Garbage: 88258k -> 88266k
Leak: 6431k
Overhead: 16029k -> 16029k
GGC runs: 578
comparing combine.c compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 21432k to 21480k, overall 0.22%
Overall memory needed: 21432k -> 21480k
Peak memory use before GGC: 13438k -> 13436k
Peak memory use after GGC: 12724k -> 12722k
Maximum of released memory in single GGC run: 3454k
Garbage: 118671k -> 118669k
Leak: 7000k
Overhead: 21231k -> 21231k
GGC runs: 643
comparing insn-attrtab.c compilation at -O0 level:
Overall memory needed: 118920k
Peak memory use before GGC: 79664k
Peak memory use after GGC: 46309k
Maximum of released memory in single GGC run: 43569k
Garbage: 163565k
Leak: 10644k
Overhead: 20606k
GGC runs: 307
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 129756k
Peak memory use before GGC: 90827k
Peak memory use after GGC: 70898k
Maximum of released memory in single GGC run: 42067k
Garbage: 461322k
Leak: 11075k
Overhead: 74572k
GGC runs: 460
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 209916k
Peak memory use before GGC: 105788k
Peak memory use after GGC: 86457k
Maximum of released memory in single GGC run: 35975k
Garbage: 510717k -> 510723k
Leak: 10957k
Overhead: 82616k -> 82616k
GGC runs: 384
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 209916k
Peak memory use before GGC: 105797k
Peak memory use after GGC: 86466k
Maximum of released memory in single GGC run: 35975k
Garbage: 512106k -> 512100k
Leak: 11011k
Overhead: 82804k -> 82804k
GGC runs: 393
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 113448k
Peak memory use before GGC: 90536k
Peak memory use after GGC: 89158k
Maximum of released memory in single GGC run: 20157k
Garbage: 262107k
Leak: 59481k
Overhead: 47299k
GGC runs: 375
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 107932k
Peak memory use before GGC: 95134k
Peak memory use after GGC: 88446k
Maximum of released memory in single GGC run: 19483k
Garbage: 699635k
Leak: 61537k
Overhead: 132310k
GGC runs: 626
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 108368k -> 108352k
Peak memory use before GGC: 95135k
Peak memory use after GGC: 88446k
Maximum of released memory in single GGC run: 19484k
Garbage: 750854k -> 750876k
Leak: 62089k
Overhead: 155124k -> 155124k
GGC runs: 661 -> 663
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory needed: 113660k
Peak memory use before GGC: 99940k
Peak memory use after GGC: 89670k
Maximum of released memory in single GGC run: 20199k
Garbage: 848038k
Leak: 62506k
Overhead: 165241k
GGC runs: 640
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-10-06 05:21:44.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-10-06 13:10:57.000000000 +0000
@@ -1,3 +1,14 @@
+2004-10-06 Eric Botcazou <ebotcazou@libertysurf.fr>
+
+ PR target/16007
+ * doc/install.texi (*-*-solaris2*): Mention potential problem
+ with Sun assembler + GNU linker and C++ programs.
+ Document status of binutils 2.15 release.
+
+2004-10-06 Jan Hubicka <jh@suse.cz>
+
+ * cse.c (cse_main): Kill push/pop context.
+
2004-10-05 Zack Weinberg <zack@codesourcery.com>
* pretty-print.c: Include tree.h.
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.
More information about the Gcc-regression
mailing list