GCC memory consumption increased by recent patch!
gcctest@suse.de
gcctest@suse.de
Wed Nov 3 22:06: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: 25233k
Peak memory use before GGC: 9329k
Peak memory use after GGC: 8641k
Maximum of released memory in single GGC run: 2926k
Garbage: 42515k
Leak: 6088k
Overhead: 5657k
GGC runs: 354
comparing combine.c compilation at -O1 level:
Overall memory allocated via mmap and sbrk increased from 26477k to 26517k, overall 0.15%
Overall memory needed: 26477k -> 26517k
Peak memory use before GGC: 9205k
Peak memory use after GGC: 8733k
Maximum of released memory in single GGC run: 2066k
Garbage: 69774k -> 69782k
Leak: 6484k -> 6480k
Overhead: 11359k -> 11359k
GGC runs: 554 -> 555
comparing combine.c compilation at -O2 level:
Overall memory needed: 29825k
Peak memory use before GGC: 12705k
Peak memory use after GGC: 12579k
Maximum of released memory in single GGC run: 2576k
Garbage: 84780k -> 84780k
Leak: 6303k
Overhead: 15985k -> 15985k
GGC runs: 562
comparing combine.c compilation at -O3 level:
Overall memory needed: 21392k
Peak memory use before GGC: 13093k
Peak memory use after GGC: 12579k
Maximum of released memory in single GGC run: 3413k
Garbage: 113749k -> 113749k
Leak: 6845k
Overhead: 21057k -> 21057k
GGC runs: 629
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: 161088k
Leak: 10609k
Overhead: 20460k
GGC runs: 295
comparing insn-attrtab.c compilation at -O1 level:
Overall memory needed: 125048k
Peak memory use before GGC: 86894k
Peak memory use after GGC: 70491k
Maximum of released memory in single GGC run: 41161k
Garbage: 430920k
Leak: 10956k
Overhead: 80011k
GGC runs: 441
comparing insn-attrtab.c compilation at -O2 level:
Overall memory needed: 151484k
Peak memory use before GGC: 102310k
Peak memory use after GGC: 85907k
Maximum of released memory in single GGC run: 42321k
Garbage: 477316k
Leak: 10883k
Overhead: 88016k
GGC runs: 362
comparing insn-attrtab.c compilation at -O3 level:
Overall memory needed: 151488k
Peak memory use before GGC: 102312k
Peak memory use after GGC: 85909k
Maximum of released memory in single GGC run: 42322k
Garbage: 478589k
Leak: 10927k
Overhead: 88206k
GGC runs: 371
comparing Gerald's testcase PR8361 compilation at -O0 level:
Overall memory needed: 112784k
Peak memory use before GGC: 89431k
Peak memory use after GGC: 88443k
Maximum of released memory in single GGC run: 19812k
Garbage: 250165k
Leak: 57105k
Overhead: 45841k
GGC runs: 363
comparing Gerald's testcase PR8361 compilation at -O1 level:
Overall memory needed: 95348k
Peak memory use before GGC: 88431k
Peak memory use after GGC: 87373k
Maximum of released memory in single GGC run: 19437k
Garbage: 595654k -> 595564k
Leak: 59145k -> 59145k
Overhead: 133280k -> 133258k
GGC runs: 628
comparing Gerald's testcase PR8361 compilation at -O2 level:
Overall memory needed: 95720k -> 95680k
Peak memory use before GGC: 88431k
Peak memory use after GGC: 87373k
Maximum of released memory in single GGC run: 19437k
Garbage: 651583k -> 651671k
Leak: 59735k -> 59735k
Overhead: 158232k -> 158238k
GGC runs: 675
comparing Gerald's testcase PR8361 compilation at -O3 level:
Overall memory allocated via mmap and sbrk increased from 103024k to 103196k, overall 0.17%
Overall memory needed: 103024k -> 103196k
Peak memory use before GGC: 95610k
Peak memory use after GGC: 88661k
Maximum of released memory in single GGC run: 20248k
Garbage: 699700k -> 699713k
Leak: 60123k -> 60125k
Overhead: 172017k -> 172044k
GGC runs: 664
Head of changelog is:
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog 2004-11-03 16:23:42.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog 2004-11-03 20:55:08.000000000 +0000
@@ -1,3 +1,32 @@
+2004-11-03 Andrew Pinski <pinskia@physics.uc.edu>
+
+ PR tree-opt/18231
+ * tree.c (staticp) <case FUNCTION_DECL>: Nested functions are static
+ also.
+
+2004-11-03 Andrew MacLeod <amacleod@redhat.com>
+
+ PR tree-optimization/18270
+ * tree-outof-ssa.c (analyze_edges_for_bb): If a block has incoming
+ abnormal edges, commit all pending stmts on incoming edges.
+
+2004-11-03 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * tree-ssa-loop-ivopts.c (get_address_cost): Offset zero does not
+ cause extra costs. Generate canonical RTL.
+
+2004-11-02 Daniel Berlin <dberlin@dberlin.org>
+
+ * lambda-code.c (lambda_compute_auxillary_space): Update comments.
+ (lambda_compute_target_space). Ditto.
+ * lambda.h (lambda_trans_matrix): Ditto.
+ (lambda_linear_expression): Ditto.
+ (lambda_body_vector): Ditto.
+ (lambda_loopnest): Ditto.
+ * tree-loop-linear.c (gather_interchange_stats): Combine tests,
+ update comments, and remove pointless addition of 0.
+ (linear_transform_loops): Update comments.
+
2004-11-03 Sebastian Pop <pop@cri.ensmp.fr>
* tree.c (tree_fold_gcd): Use FLOOR_MOD_EXPR instead of
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