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]

A recent patch increased GCC's memory consumption in some cases!


Hi,

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

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


comparing empty function compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 1105k to 1142k, overall 3.35%
  Peak amount of GGC memory still allocated after garbage collecting increased from 1001k to 1045k, overall 4.40%
  Amount of produced GGC garbage increased from 238k to 245k, overall 2.88%
  Amount of memory still referenced at the end of compilation increased from 959k to 999k, overall 4.18%
    Overall memory needed: 8180k -> 8153k
    Peak memory use before GGC: 1105k -> 1142k
    Peak memory use after GGC: 1001k -> 1045k
    Maximum of released memory in single GGC run: 129k -> 132k
    Garbage: 238k -> 245k
    Leak: 959k -> 999k
    Overhead: 80k -> 91k
    GGC runs: 2 -> 4
Testing has produced no results
Testing has produced no results

comparing empty function compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 1132k to 1169k, overall 3.27%
  Peak amount of GGC memory still allocated after garbage collecting increased from 1036k to 1074k, overall 3.67%
  Amount of produced GGC garbage increased from 241k to 247k, overall 2.85%
  Amount of memory still referenced at the end of compilation increased from 992k to 1032k, overall 4.08%
    Overall memory needed: 8196k -> 8229k
    Peak memory use before GGC: 1132k -> 1169k
    Peak memory use after GGC: 1036k -> 1074k
    Maximum of released memory in single GGC run: 128k -> 134k
    Garbage: 241k -> 247k
    Leak: 992k -> 1032k
    Overhead: 85k -> 95k
    GGC runs: 4
Testing has produced no results
Testing has produced no results

comparing empty function compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 1105k to 1142k, overall 3.35%
  Peak amount of GGC memory still allocated after garbage collecting increased from 1001k to 1038k, overall 3.70%
  Amount of produced GGC garbage increased from 240k to 248k, overall 3.12%
  Amount of memory still referenced at the end of compilation increased from 959k to 999k, overall 4.13%
    Overall memory needed: 8252k -> 8229k
    Peak memory use before GGC: 1105k -> 1142k
    Peak memory use after GGC: 1001k -> 1038k
    Maximum of released memory in single GGC run: 131k -> 130k
    Garbage: 240k -> 248k
    Leak: 959k -> 999k
    Overhead: 81k -> 91k
    GGC runs: 2 -> 3
  Amount of produced pre-ipa-GGC garbage increased from 228k to 235k, overall 3.00%
  Amount of memory referenced pre-ipa increased from 962k to 1002k, overall 4.17%
    Pre-IPA-Garbage: 228k -> 235k
    Pre-IPA-Leak: 962k -> 1002k
    Pre-IPA-Overhead: 79k -> 89k
  Amount of produced post-ipa-GGC garbage increased from 228k to 235k, overall 3.00%
  Amount of memory referenced post-ipa increased from 962k to 1002k, overall 4.17%
    Post-IPA-Garbage: 228k -> 235k
    Post-IPA-Leak: 962k -> 1002k
    Post-IPA-Overhead: 79k -> 89k

comparing empty function compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 1105k to 1142k, overall 3.35%
  Peak amount of GGC memory still allocated after garbage collecting increased from 1002k to 1039k, overall 3.69%
  Amount of produced GGC garbage increased from 244k to 252k, overall 3.30%
  Amount of memory still referenced at the end of compilation increased from 960k to 1000k, overall 4.07%
    Overall memory needed: 8272k -> 8245k
    Peak memory use before GGC: 1105k -> 1142k
    Peak memory use after GGC: 1002k -> 1039k
    Maximum of released memory in single GGC run: 134k -> 129k
    Garbage: 244k -> 252k
    Leak: 960k -> 1000k
    Overhead: 82k -> 92k
    GGC runs: 2 -> 3
  Amount of produced pre-ipa-GGC garbage increased from 228k to 235k, overall 3.00%
  Amount of memory referenced pre-ipa increased from 962k to 1002k, overall 4.17%
    Pre-IPA-Garbage: 228k -> 235k
    Pre-IPA-Leak: 962k -> 1002k
    Pre-IPA-Overhead: 79k -> 89k
  Amount of produced post-ipa-GGC garbage increased from 228k to 235k, overall 3.00%
  Amount of memory referenced post-ipa increased from 962k to 1002k, overall 4.17%
    Post-IPA-Garbage: 228k -> 235k
    Post-IPA-Leak: 962k -> 1002k
    Post-IPA-Overhead: 79k -> 89k

comparing empty function compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 1105k to 1142k, overall 3.35%
  Peak amount of GGC memory still allocated after garbage collecting increased from 1002k to 1039k, overall 3.69%
  Amount of produced GGC garbage increased from 244k to 252k, overall 3.30%
  Amount of memory still referenced at the end of compilation increased from 960k to 1000k, overall 4.07%
    Overall memory needed: 8272k -> 8245k
    Peak memory use before GGC: 1105k -> 1142k
    Peak memory use after GGC: 1002k -> 1039k
    Maximum of released memory in single GGC run: 134k -> 129k
    Garbage: 244k -> 252k
    Leak: 960k -> 1000k
    Overhead: 82k -> 92k
    GGC runs: 2 -> 3
  Amount of produced pre-ipa-GGC garbage increased from 228k to 235k, overall 3.00%
  Amount of memory referenced pre-ipa increased from 962k to 1002k, overall 4.17%
    Pre-IPA-Garbage: 228k -> 235k
    Pre-IPA-Leak: 962k -> 1002k
    Pre-IPA-Overhead: 79k -> 89k
  Amount of produced post-ipa-GGC garbage increased from 228k to 235k, overall 3.00%
  Amount of memory referenced post-ipa increased from 962k to 1002k, overall 4.17%
    Post-IPA-Garbage: 228k -> 235k
    Post-IPA-Leak: 962k -> 1002k
    Post-IPA-Overhead: 79k -> 89k

comparing combine.c compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 7774k to 7991k, overall 2.79%
  Peak amount of GGC memory still allocated after garbage collecting increased from 7150k to 7367k, overall 3.03%
  Amount of produced GGC garbage increased from 37775k to 38072k, overall 0.79%
  Amount of memory still referenced at the end of compilation increased from 5479k to 5497k, overall 0.32%
    Overall memory needed: 22632k -> 22669k
    Peak memory use before GGC: 7774k -> 7991k
    Peak memory use after GGC: 7150k -> 7367k
    Maximum of released memory in single GGC run: 1545k
    Garbage: 37775k -> 38072k
    Leak: 5479k -> 5497k
    Overhead: 4616k -> 4685k
    GGC runs: 371 -> 367
Testing has produced no results
Testing has produced no results

comparing combine.c compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 9708k to 9988k, overall 2.88%
  Peak amount of GGC memory still allocated after garbage collecting increased from 9047k to 9368k, overall 3.55%
  Amount of produced GGC garbage increased from 38144k to 38442k, overall 0.78%
  Amount of memory still referenced at the end of compilation increased from 8674k to 8806k, overall 1.53%
    Overall memory needed: 24716k -> 24777k
    Peak memory use before GGC: 9708k -> 9988k
    Peak memory use after GGC: 9047k -> 9368k
    Maximum of released memory in single GGC run: 1832k -> 1831k
    Garbage: 38144k -> 38442k
    Leak: 8674k -> 8806k
    Overhead: 5412k -> 5507k
    GGC runs: 341 -> 335
Testing has produced no results
Testing has produced no results

comparing combine.c compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 16182k to 16366k, overall 1.14%
  Peak amount of GGC memory still allocated after garbage collecting increased from 16018k to 16202k, overall 1.15%
  Amount of produced GGC garbage increased from 51454k to 52420k, overall 1.88%
  Amount of memory still referenced at the end of compilation decreased from 5648k to 5145k, overall -9.77%
    Overall memory needed: 32772k -> 32713k
    Peak memory use before GGC: 16182k -> 16366k
    Peak memory use after GGC: 16018k -> 16202k
    Maximum of released memory in single GGC run: 1375k -> 1414k
    Garbage: 51454k -> 52420k
    Leak: 5648k -> 5145k
    Overhead: 5730k -> 5843k
    GGC runs: 439 -> 438
  Amount of produced pre-ipa-GGC garbage increased from 13899k to 13941k, overall 0.30%
  Amount of memory referenced pre-ipa increased from 16974k to 17220k, overall 1.45%
    Pre-IPA-Garbage: 13899k -> 13941k
    Pre-IPA-Leak: 16974k -> 17220k
    Pre-IPA-Overhead: 2086k -> 2150k
  Amount of produced post-ipa-GGC garbage increased from 13899k to 13941k, overall 0.30%
  Amount of memory referenced post-ipa increased from 16974k to 17220k, overall 1.45%
    Post-IPA-Garbage: 13899k -> 13941k
    Post-IPA-Leak: 16974k -> 17220k
    Post-IPA-Overhead: 2086k -> 2150k

comparing combine.c compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 16281k to 16466k, overall 1.14%
  Peak amount of GGC memory still allocated after garbage collecting increased from 16110k to 16295k, overall 1.15%
  Amount of produced GGC garbage increased from 71599k to 72941k, overall 1.87%
  Amount of memory still referenced at the end of compilation decreased from 5971k to 5192k, overall -15.01%
    Overall memory needed: 34544k -> 34441k
    Peak memory use before GGC: 16281k -> 16466k
    Peak memory use after GGC: 16110k -> 16295k
    Maximum of released memory in single GGC run: 1304k -> 1344k
    Garbage: 71599k -> 72941k
    Leak: 5971k -> 5192k
    Overhead: 8069k -> 8211k
    GGC runs: 509
  Amount of produced pre-ipa-GGC garbage increased from 14051k to 14093k, overall 0.30%
  Amount of memory referenced pre-ipa increased from 17038k to 17283k, overall 1.44%
    Pre-IPA-Garbage: 14051k -> 14093k
    Pre-IPA-Leak: 17038k -> 17283k
    Pre-IPA-Overhead: 2099k -> 2163k
  Amount of produced post-ipa-GGC garbage increased from 14051k to 14093k, overall 0.30%
  Amount of memory referenced post-ipa increased from 17038k to 17283k, overall 1.44%
    Post-IPA-Garbage: 14051k -> 14093k
    Post-IPA-Leak: 17038k -> 17283k
    Post-IPA-Overhead: 2099k -> 2163k

comparing combine.c compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 16365k to 16527k, overall 0.99%
  Peak amount of GGC memory still allocated after garbage collecting increased from 16126k to 16308k, overall 1.13%
  Amount of produced GGC garbage increased from 91412k to 92778k, overall 1.50%
  Amount of memory still referenced at the end of compilation decreased from 6035k to 5219k, overall -15.63%
    Overall memory needed: 38700k -> 38601k
    Peak memory use before GGC: 16365k -> 16527k
    Peak memory use after GGC: 16126k -> 16308k
    Maximum of released memory in single GGC run: 2439k -> 2493k
    Garbage: 91412k -> 92778k
    Leak: 6035k -> 5219k
    Overhead: 10598k -> 10740k
    GGC runs: 544 -> 545
  Amount of produced pre-ipa-GGC garbage increased from 14052k to 14094k, overall 0.30%
  Amount of memory referenced pre-ipa increased from 17049k to 17294k, overall 1.44%
    Pre-IPA-Garbage: 14052k -> 14094k
    Pre-IPA-Leak: 17049k -> 17294k
    Pre-IPA-Overhead: 2101k -> 2164k
  Amount of produced post-ipa-GGC garbage increased from 14052k to 14094k, overall 0.30%
  Amount of memory referenced post-ipa increased from 17049k to 17294k, overall 1.44%
    Post-IPA-Garbage: 14052k -> 14094k
    Post-IPA-Leak: 17049k -> 17294k
    Post-IPA-Overhead: 2101k -> 2164k

comparing insn-attrtab.c compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 56959k to 57415k, overall 0.80%
  Peak amount of GGC memory still allocated after garbage collecting increased from 31385k to 31841k, overall 1.45%
  Amount of produced GGC garbage increased from 128387k to 130444k, overall 1.60%
  Amount of memory still referenced at the end of compilation decreased from 8355k to 6965k, overall -19.97%
    Overall memory needed: 137448k -> 137545k
    Peak memory use before GGC: 56959k -> 57415k
    Peak memory use after GGC: 31385k -> 31841k
    Maximum of released memory in single GGC run: 33223k
    Garbage: 128387k -> 130444k
    Leak: 8355k -> 6965k
    Overhead: 14291k -> 14394k
    GGC runs: 291
Testing has produced no results
Testing has produced no results

comparing insn-attrtab.c compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 58161k to 58675k, overall 0.88%
  Peak amount of GGC memory still allocated after garbage collecting increased from 32586k to 33100k, overall 1.58%
  Amount of produced GGC garbage increased from 128896k to 130945k, overall 1.59%
  Amount of memory still referenced at the end of compilation decreased from 9933k to 8624k, overall -15.17%
    Overall memory needed: 138736k -> 138845k
    Peak memory use before GGC: 58161k -> 58675k
    Peak memory use after GGC: 32586k -> 33100k
    Maximum of released memory in single GGC run: 33224k
    Garbage: 128896k -> 130945k
    Leak: 9933k -> 8624k
    Overhead: 14731k -> 14852k
    GGC runs: 288 -> 286
Testing has produced no results
Testing has produced no results

comparing insn-attrtab.c compilation at -O1 level:
  Amount of produced GGC garbage increased from 204998k to 208959k, overall 1.93%
  Amount of memory still referenced at the end of compilation decreased from 9261k to 6428k, overall -44.06%
    Overall memory needed: 142356k -> 141385k
    Peak memory use before GGC: 56076k -> 54714k
    Peak memory use after GGC: 49743k -> 48980k
    Maximum of released memory in single GGC run: 23960k -> 24637k
    Garbage: 204998k -> 208959k
    Leak: 9261k -> 6428k
    Overhead: 24455k -> 24720k
    GGC runs: 315
  Amount of memory referenced pre-ipa increased from 49269k to 49475k, overall 0.42%
    Pre-IPA-Garbage: 50366k -> 50402k
    Pre-IPA-Leak: 49269k -> 49475k
    Pre-IPA-Overhead: 7416k -> 7467k
  Amount of memory referenced post-ipa increased from 49269k to 49475k, overall 0.42%
    Post-IPA-Garbage: 50366k -> 50402k
    Post-IPA-Leak: 49269k -> 49475k
    Post-IPA-Overhead: 7416k -> 7467k

comparing insn-attrtab.c compilation at -O2 level:
  Amount of produced GGC garbage increased from 246589k to 252059k, overall 2.22%
  Amount of memory still referenced at the end of compilation decreased from 10337k to 6456k, overall -60.11%
    Overall memory needed: 184388k -> 182741k
    Peak memory use before GGC: 56658k -> 55397k
    Peak memory use after GGC: 51344k -> 50007k
    Maximum of released memory in single GGC run: 22852k -> 23529k
    Garbage: 246589k -> 252059k
    Leak: 10337k -> 6456k
    Overhead: 30363k -> 30761k
    GGC runs: 345 -> 349
  Amount of memory referenced pre-ipa increased from 49273k to 49479k, overall 0.42%
    Pre-IPA-Garbage: 50437k -> 50474k
    Pre-IPA-Leak: 49273k -> 49479k
    Pre-IPA-Overhead: 7423k -> 7474k
  Amount of memory referenced post-ipa increased from 49273k to 49479k, overall 0.42%
    Post-IPA-Garbage: 50437k -> 50474k
    Post-IPA-Leak: 49273k -> 49479k
    Post-IPA-Overhead: 7423k -> 7474k

comparing insn-attrtab.c compilation at -O3 level:
  Amount of produced GGC garbage increased from 273782k to 279312k, overall 2.02%
  Amount of memory still referenced at the end of compilation decreased from 10373k to 6464k, overall -60.47%
    Overall memory needed: 190876k -> 190609k
    Peak memory use before GGC: 68990k -> 68232k
    Peak memory use after GGC: 64797k -> 63455k
    Maximum of released memory in single GGC run: 24862k -> 25543k
    Garbage: 273782k -> 279312k
    Leak: 10373k -> 6464k
    Overhead: 32269k -> 32671k
    GGC runs: 345 -> 352
  Amount of memory referenced pre-ipa increased from 49273k to 49479k, overall 0.42%
    Pre-IPA-Garbage: 50437k -> 50474k
    Pre-IPA-Leak: 49273k -> 49479k
    Pre-IPA-Overhead: 7423k -> 7474k
  Amount of memory referenced post-ipa increased from 49273k to 49479k, overall 0.42%
    Post-IPA-Garbage: 50437k -> 50474k
    Post-IPA-Leak: 49273k -> 49479k
    Post-IPA-Overhead: 7423k -> 7474k

comparing Gerald's testcase PR8361 compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 80333k to 80804k, overall 0.59%
  Peak amount of GGC memory still allocated after garbage collecting increased from 79538k to 80004k, overall 0.59%
  Amount of produced GGC garbage increased from 197265k to 197744k, overall 0.24%
  Amount of memory still referenced at the end of compilation increased from 47151k to 47627k, overall 1.01%
    Overall memory needed: 144139k -> 144251k
    Peak memory use before GGC: 80333k -> 80804k
    Peak memory use after GGC: 79538k -> 80004k
    Maximum of released memory in single GGC run: 14816k -> 15233k
    Garbage: 197265k -> 197744k
    Leak: 47151k -> 47627k
    Overhead: 24079k -> 24191k
    GGC runs: 418 -> 417
  Amount of produced pre-ipa-GGC garbage increased from 107899k to 108026k, overall 0.12%
  Amount of memory referenced pre-ipa increased from 69071k to 69163k, overall 0.13%
    Pre-IPA-Garbage: 107899k -> 108026k
    Pre-IPA-Leak: 69071k -> 69163k
    Pre-IPA-Overhead: 12017k -> 12062k
  Amount of produced post-ipa-GGC garbage increased from 107899k to 108026k, overall 0.12%
  Amount of memory referenced post-ipa increased from 69071k to 69163k, overall 0.13%
    Post-IPA-Garbage: 107899k -> 108026k
    Post-IPA-Leak: 69071k -> 69163k
    Post-IPA-Overhead: 12017k -> 12062k

comparing Gerald's testcase PR8361 compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 92917k to 94805k, overall 2.03%
  Peak amount of GGC memory still allocated after garbage collecting increased from 91996k to 93866k, overall 2.03%
  Amount of produced GGC garbage increased from 202908k to 203387k, overall 0.24%
  Amount of memory still referenced at the end of compilation increased from 71539k to 74203k, overall 3.72%
    Overall memory needed: 166191k -> 166427k
    Peak memory use before GGC: 92917k -> 94805k
    Peak memory use after GGC: 91996k -> 93866k
    Maximum of released memory in single GGC run: 15518k -> 15753k
    Garbage: 202908k -> 203387k
    Leak: 71539k -> 74203k
    Overhead: 30437k -> 30880k
    GGC runs: 389 -> 385
  Amount of produced pre-ipa-GGC garbage increased from 108542k to 108670k, overall 0.12%
  Amount of memory referenced pre-ipa increased from 83804k to 85730k, overall 2.30%
    Pre-IPA-Garbage: 108542k -> 108670k
    Pre-IPA-Leak: 83804k -> 85730k
    Pre-IPA-Overhead: 15320k -> 15600k
  Amount of produced post-ipa-GGC garbage increased from 108542k to 108670k, overall 0.12%
  Amount of memory referenced post-ipa increased from 83804k to 85730k, overall 2.30%
    Post-IPA-Garbage: 108542k -> 108670k
    Post-IPA-Leak: 83804k -> 85730k
    Post-IPA-Overhead: 15320k -> 15600k

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 79481k to 79574k, overall 0.12%
  Peak amount of GGC memory still allocated after garbage collecting increased from 78688k to 78780k, overall 0.12%
  Amount of produced GGC garbage increased from 287461k to 290557k, overall 1.08%
  Amount of memory still referenced at the end of compilation decreased from 46302k to 44414k, overall -4.25%
    Overall memory needed: 118975k -> 117912k
    Peak memory use before GGC: 79481k -> 79574k
    Peak memory use after GGC: 78688k -> 78780k
    Maximum of released memory in single GGC run: 14455k -> 14559k
    Garbage: 287461k -> 290557k
    Leak: 46302k -> 44414k
    Overhead: 28530k -> 28738k
    GGC runs: 520 -> 521
  Amount of produced pre-ipa-GGC garbage increased from 151111k to 151914k, overall 0.53%
    Pre-IPA-Garbage: 151111k -> 151914k
    Pre-IPA-Leak: 83060k -> 82531k
    Pre-IPA-Overhead: 16674k -> 16721k
  Amount of produced post-ipa-GGC garbage increased from 151111k to 151914k, overall 0.53%
    Post-IPA-Garbage: 151111k -> 151914k
    Post-IPA-Leak: 83060k -> 82531k
    Post-IPA-Overhead: 16674k -> 16721k

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 79507k to 79673k, overall 0.21%
  Peak amount of GGC memory still allocated after garbage collecting increased from 78720k to 78878k, overall 0.20%
  Amount of produced GGC garbage increased from 355434k to 359959k, overall 1.27%
  Amount of memory still referenced at the end of compilation decreased from 47706k to 44676k, overall -6.78%
    Overall memory needed: 121203k -> 119920k
    Peak memory use before GGC: 79507k -> 79673k
    Peak memory use after GGC: 78720k -> 78878k
    Maximum of released memory in single GGC run: 14457k -> 14561k
    Garbage: 355434k -> 359959k
    Leak: 47706k -> 44676k
    Overhead: 35634k -> 35911k
    GGC runs: 597 -> 601
  Amount of produced pre-ipa-GGC garbage increased from 152713k to 153529k, overall 0.53%
    Pre-IPA-Garbage: 152713k -> 153529k
    Pre-IPA-Leak: 82937k -> 82396k
    Pre-IPA-Overhead: 16810k -> 16857k
  Amount of produced post-ipa-GGC garbage increased from 152713k to 153529k, overall 0.53%
    Post-IPA-Garbage: 152713k -> 153529k
    Post-IPA-Leak: 82937k -> 82396k
    Post-IPA-Overhead: 16810k -> 16857k

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Amount of produced GGC garbage increased from 382281k to 387076k, overall 1.25%
  Amount of memory still referenced at the end of compilation decreased from 48115k to 44943k, overall -7.06%
    Overall memory needed: 124243k -> 122968k
    Peak memory use before GGC: 81000k -> 80973k
    Peak memory use after GGC: 80198k -> 80121k
    Maximum of released memory in single GGC run: 14780k -> 14913k
    Garbage: 382281k -> 387076k
    Leak: 48115k -> 44943k
    Overhead: 37890k -> 38189k
    GGC runs: 619 -> 624
  Amount of produced pre-ipa-GGC garbage increased from 155332k to 156170k, overall 0.54%
    Pre-IPA-Garbage: 155332k -> 156170k
    Pre-IPA-Leak: 83221k -> 82664k
    Pre-IPA-Overhead: 17051k -> 17101k
  Amount of produced post-ipa-GGC garbage increased from 155332k to 156170k, overall 0.54%
    Post-IPA-Garbage: 155332k -> 156170k
    Post-IPA-Leak: 83221k -> 82664k
    Post-IPA-Overhead: 17051k -> 17101k

comparing PR rtl-optimization/28071 testcase compilation at -O0 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 100958k to 101136k, overall 0.18%
  Peak amount of GGC memory still allocated after garbage collecting increased from 56612k to 56789k, overall 0.31%
  Amount of memory still referenced at the end of compilation increased from 6104k to 6217k, overall 1.85%
    Overall memory needed: 380348k -> 380750k
    Peak memory use before GGC: 100958k -> 101136k
    Peak memory use after GGC: 56612k -> 56789k
    Maximum of released memory in single GGC run: 50582k -> 50583k
    Garbage: 178453k -> 178579k
    Leak: 6104k -> 6217k
    Overhead: 30541k -> 30603k
    GGC runs: 106 -> 104
Testing has produced no results
Testing has produced no results

comparing PR rtl-optimization/28071 testcase compilation at -O0 -g level:
  Peak amount of GGC memory allocated before garbage collecting increased from 101651k to 101837k, overall 0.18%
  Peak amount of GGC memory still allocated after garbage collecting increased from 57305k to 57490k, overall 0.32%
  Amount of memory still referenced at the end of compilation increased from 8133k to 8264k, overall 1.61%
    Overall memory needed: 381192k -> 381626k
    Peak memory use before GGC: 101651k -> 101837k
    Peak memory use after GGC: 57305k -> 57490k
    Maximum of released memory in single GGC run: 50582k -> 50583k
    Garbage: 178616k -> 178742k
    Leak: 8133k -> 8264k
    Overhead: 31125k -> 31188k
    GGC runs: 111 -> 110
Testing has produced no results
Testing has produced no results

comparing PR rtl-optimization/28071 testcase compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 75052k to 75645k, overall 0.79%
  Amount of produced GGC garbage increased from 237663k to 244861k, overall 3.03%
  Amount of memory still referenced at the end of compilation decreased from 13678k to 7882k, overall -73.53%
    Overall memory needed: 398356k -> 391413k
    Peak memory use before GGC: 75052k -> 75645k
    Peak memory use after GGC: 68956k -> 67589k
    Maximum of released memory in single GGC run: 34950k -> 35735k
    Garbage: 237663k -> 244861k
    Leak: 13678k -> 7882k
    Overhead: 30716k -> 31115k
    GGC runs: 106 -> 105
  Amount of produced pre-ipa-GGC garbage increased from 47276k to 49700k, overall 5.13%
    Pre-IPA-Garbage: 47276k -> 49700k
    Pre-IPA-Leak: 65130k -> 63710k
    Pre-IPA-Overhead: 6423k -> 6704k
  Amount of produced post-ipa-GGC garbage increased from 47276k to 49700k, overall 5.13%
    Post-IPA-Garbage: 47276k -> 49700k
    Post-IPA-Leak: 65130k -> 63710k
    Post-IPA-Overhead: 6423k -> 6704k

comparing PR rtl-optimization/28071 testcase compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting increased from 74967k to 75645k, overall 0.90%
  Amount of produced GGC garbage increased from 252144k to 259350k, overall 2.86%
  Amount of memory still referenced at the end of compilation decreased from 13852k to 8045k, overall -72.17%
    Overall memory needed: 303264k -> 304457k
    Peak memory use before GGC: 74967k -> 75645k
    Peak memory use after GGC: 68957k -> 67589k
    Maximum of released memory in single GGC run: 31580k -> 32543k
    Garbage: 252144k -> 259350k
    Leak: 13852k -> 8045k
    Overhead: 33834k -> 34234k
    GGC runs: 118 -> 116
  Amount of produced pre-ipa-GGC garbage increased from 99281k to 107696k, overall 8.48%
  Amount of memory referenced pre-ipa decreased from 82247k to 75533k, overall -8.89%
    Pre-IPA-Garbage: 99281k -> 107696k
    Pre-IPA-Leak: 82247k -> 75533k
    Pre-IPA-Overhead: 10465k -> 10955k
  Amount of produced post-ipa-GGC garbage increased from 99281k to 107696k, overall 8.48%
  Amount of memory referenced post-ipa decreased from 82247k to 75533k, overall -8.89%
    Post-IPA-Garbage: 99281k -> 107696k
    Post-IPA-Leak: 82247k -> 75533k
    Post-IPA-Overhead: 10465k -> 10955k

comparing PR rtl-optimization/28071 testcase compilation at -O3 -fno-tree-pre -fno-tree-fre level:
  Peak amount of GGC memory allocated before garbage collecting increased from 141304k to 142471k, overall 0.83%
  Amount of produced GGC garbage increased from 343000k to 356496k, overall 3.93%
  Amount of memory still referenced at the end of compilation decreased from 22001k to 11025k, overall -99.56%
    Overall memory needed: 1079600k -> 1070357k
    Peak memory use before GGC: 141304k -> 142471k
    Peak memory use after GGC: 131199k -> 129126k
    Maximum of released memory in single GGC run: 55802k -> 59649k
    Garbage: 343000k -> 356496k
    Leak: 22001k -> 11025k
    Overhead: 37524k -> 38239k
    GGC runs: 102 -> 101
  Amount of produced pre-ipa-GGC garbage increased from 99281k to 107696k, overall 8.48%
  Amount of memory referenced pre-ipa decreased from 82247k to 75533k, overall -8.89%
    Pre-IPA-Garbage: 99281k -> 107696k
    Pre-IPA-Leak: 82247k -> 75533k
    Pre-IPA-Overhead: 10465k -> 10955k
  Amount of produced post-ipa-GGC garbage increased from 99281k to 107696k, overall 8.48%
  Amount of memory referenced post-ipa decreased from 82247k to 75533k, overall -8.89%
    Post-IPA-Garbage: 99281k -> 107696k
    Post-IPA-Leak: 82247k -> 75533k
    Post-IPA-Overhead: 10465k -> 10955k

Head of the ChangeLog is:

--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog	2008-05-21 12:39:36.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/ChangeLog	2008-05-21 16:52:57.000000000 +0000
@@ -1,3 +1,31 @@
+2008-05-21  Joseph Myers  <joseph@codesourcery.com>
+
+	* collect2.c (find_a_file): Use IS_ABSOLUTE_PATH.
+
+2008-05-21  Tom Tromey  <tromey@redhat.com>
+
+	* ggc-zone.c (lookup_page_table_if_allocated): New function.
+	(zone_find_object_offset): Likewise.
+	(gt_ggc_m_S): Likewise.
+	(highest_bit): Likewise.
+	* ggc-page.c (gt_ggc_m_S): New function.
+	* stringpool.c (string_stack): Remove.
+	(init_stringpool): Update.
+	(ggc_alloc_string): Use ggc_alloc.
+	(maybe_delete_ident): New function.
+	(ggc_purge_stringpool): Likewise.
+	(gt_ggc_m_S): Remove.
+	* ggc-common.c (ggc_protect_identifiers): New global.
+	(ggc_mark_roots): Call ggc_purge_stringpool.  Use
+	ggc_protect_identifiers.
+	* ggc.h (ggc_protect_identifiers): Declare.
+	(gt_ggc_m_S): Update.
+	(ggc_purge_stringpool): Declare.
+	* toplev.c (compile_file): Set and reset ggc_protect_identifiers.
+	* gengtype.c (write_types_process_field) <TYPE_STRING>: Remove
+	special case.
+	(write_root): Cast gt_ggc_m_S to gt_pointer_walker.
+
 2008-05-21  David S. Miller  <davem@davemloft.net>
 
 	* config.gcc (sparc-*-linux*): Always include sparc/t-linux in
--- /usr/src/SpecTests/sandbox-britten-memory/x86_64/mem-result/ChangeLog.cp	2008-05-12 17:20:03.000000000 +0000
+++ /usr/src/SpecTests/sandbox-britten-memory/gcc/gcc/cp/ChangeLog	2008-05-21 16:52:57.000000000 +0000
@@ -1,3 +1,21 @@
+2008-05-21  Tom Tromey  <tromey@redhat.com>
+
+	* mangle.c (save_partially_mangled_name): Remove.
+	(restore_partially_mangled_name): Likewise.
+	(write_encoding): Update.
+	(write_unqualified_name): Likewise.
+	(start_mangling): Always use name_obstack.  Remove 'ident_p'
+	argument.
+	(get_identifier_nocopy): Remove.
+	(finish_mangling_internal): Rename from finish_mangling.
+	(finish_mangling): New function.
+	(finish_mangling_get_identifier): Likewise.
+	(partially_mangled_name, partially_mangled_name_len): Remove.
+	(mangle_decl_string): Change return type.  Update.
+	(mangle_decl, mangle_type_string, mangle_special_for_type,
+	mangle_ctor_vtbl_for_type, mangle_thunk, mangle_guard_variable,
+	mangle_ref_init_variable): Update.
+
 2008-05-12  Paolo Carlini  <paolo.carlini@oracle.com>
 
         PR c++/35331


The results can be reproduced by building a 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.

Your testing script.


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