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: Pre-inline optimization, version 3


Hi,
this is memory report for tonight.  We are still somewhat worse than
before merge for peak memory use (comparing with reports from new year I
get about 5% for insn-attrtab, 4% for combine.c), but all other stuff is
better now (for example overall GGC memory for Gerald's testcase is down
from 516691k to 470575k).  This is now consistent with results I got
while evaulating IPA branch for GCC summit.

Significant extra portion of memory is saved by the REFERENCED_VARs
patch I sent yesterday and I plan to save some extra memory from operand
caches and other stuff.

Honza

  Peak amount of GGC memory allocated before garbage collecting run decreased from 20881k to 20030k, overall -4.25%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 20647k to 19831k, overall -4.11%
  Amount of memory still referenced at the end of compilation increased from 6565k to 6574k, overall 0.13%
    Overall memory needed: 33538k -> 33370k
    Peak memory use before GGC: 20881k -> 20030k
    Peak memory use after GGC: 20647k -> 19831k
    Maximum of released memory in single GGC run: 2262k -> 2264k
    Garbage: 55422k -> 55204k
    Leak: 6565k -> 6574k
    Overhead: 9964k -> 9948k
    GGC runs: 353

comparing combine.c compilation at -O2 level:
  Peak amount of GGC memory allocated before garbage collecting run decreased from 20903k to 20040k, overall -4.31%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 20693k to 19840k, overall -4.30%
    Overall memory needed: 33538k -> 33374k
    Peak memory use before GGC: 20903k -> 20040k
    Peak memory use after GGC: 20693k -> 19840k
    Maximum of released memory in single GGC run: 2203k -> 2205k
    Garbage: 71306k -> 71233k
    Leak: 6695k -> 6693k
    Overhead: 11868k -> 11868k
    GGC runs: 408 -> 409

comparing combine.c compilation at -O3 level:
  Peak amount of GGC memory allocated before garbage collecting run decreased from 21888k to 20847k, overall -4.99%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 21283k to 20386k, overall -4.40%
    Overall memory needed: 32766k -> 32578k
    Peak memory use before GGC: 21888k -> 20847k
    Peak memory use after GGC: 21283k -> 20386k
    Maximum of released memory in single GGC run: 3138k -> 3125k
    Garbage: 104250k -> 103457k
    Leak: 6768k -> 6763k
    Overhead: 16570k -> 16339k
    GGC runs: 463 -> 470

comparing insn-attrtab.c compilation at -O1 level:
  Peak amount of GGC memory allocated before garbage collecting run decreased from 75640k to 72733k, overall -4.00%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 71771k to 68887k, overall -4.19%
    Overall memory needed: 100710k -> 98198k
    Peak memory use before GGC: 75640k -> 72733k
    Peak memory use after GGC: 71771k -> 68887k
    Maximum of released memory in single GGC run: 31283k -> 31302k
    Garbage: 229008k -> 228280k
    Leak: 9404k -> 9397k
    Overhead: 29491k -> 29388k
    GGC runs: 219 -> 222

comparing insn-attrtab.c compilation at -O2 level:
  Ovarall memory allocated via mmap and sbrk decreased from 116074k to 110334k, overall -5.20%
  Peak amount of GGC memory allocated before garbage collecting run decreased from 82472k to 79562k, overall -3.66%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 76636k to 73752k, overall -3.91%
    Overall memory needed: 116074k -> 110334k
    Peak memory use before GGC: 82472k -> 79562k
    Peak memory use after GGC: 76636k -> 73752k
    Maximum of released memory in single GGC run: 29573k -> 29594k
    Garbage: 280468k -> 279538k
    Leak: 9401k -> 9394k
    Overhead: 35349k -> 35690k
    GGC runs: 241 -> 245

comparing insn-attrtab.c compilation at -O3 level:
  Ovarall memory allocated via mmap and sbrk decreased from 116066k to 110366k, overall -5.16%
  Peak amount of GGC memory allocated before garbage collecting run decreased from 82512k to 79602k, overall -3.66%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 76676k to 73792k, overall -3.91%
    Overall memory needed: 116066k -> 110366k
    Peak memory use before GGC: 82512k -> 79602k
    Peak memory use after GGC: 76676k -> 73792k
    Maximum of released memory in single GGC run: 29748k -> 29764k
    Garbage: 281193k -> 280271k
    Leak: 9405k -> 9398k
    Overhead: 35563k -> 35904k
    GGC runs: 241 -> 245

comparing Gerald's testcase PR8361 compilation at -O1 level:
  Ovarall memory allocated via mmap and sbrk decreased from 139602k to 132834k, overall -5.10%
  Peak amount of GGC memory allocated before garbage collecting run decreased from 112863k to 102898k, overall -9.68%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 111746k to 101878k, overall -9.69%
  Amount of produced GGC garbage decreased from 437334k to 397831k, overall -9.93%
    Overall memory needed: 139602k -> 132834k
    Peak memory use before GGC: 112863k -> 102898k
    Peak memory use after GGC: 111746k -> 101878k
    Maximum of released memory in single GGC run: 17926k
    Garbage: 437334k -> 397831k
    Leak: 51043k -> 50037k
    Overhead: 99333k -> 53233k
    GGC runs: 586 -> 574

comparing Gerald's testcase PR8361 compilation at -O2 level:
  Ovarall memory allocated via mmap and sbrk decreased from 139650k to 132866k, overall -5.11%
  Peak amount of GGC memory allocated before garbage collecting run decreased from 112892k to 103002k, overall -9.60%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 111774k to 101946k, overall -9.64%
  Amount of produced GGC garbage decreased from 491128k to 454649k, overall -8.02%
    Overall memory needed: 139650k -> 132866k
    Peak memory use before GGC: 112892k -> 103002k
    Peak memory use after GGC: 111774k -> 101946k
    Maximum of released memory in single GGC run: 17926k
    Garbage: 491128k -> 454649k
    Leak: 52007k -> 50814k
    Overhead: 58653k -> 46350k
    GGC runs: 632 -> 630

comparing Gerald's testcase PR8361 compilation at -O3 level:
  Ovarall memory allocated via mmap and sbrk decreased from 141518k to 134762k, overall -5.01%
  Peak amount of GGC memory allocated before garbage collecting run decreased from 114672k to 104577k, overall -9.65%
  Peak amount of GGC memory still allocated after garbage collecting decreased from 113482k to 103536k, overall -9.61%
  Amount of produced GGC garbage decreased from 511741k to 470575k, overall -8.75%
    Overall memory needed: 141518k -> 134762k
    Peak memory use before GGC: 114672k -> 104577k
    Peak memory use after GGC: 113482k -> 103536k
    Maximum of released memory in single GGC run: 18326k
    Garbage: 511741k -> 470575k
    Leak: 51978k -> 51029k
    Overhead: 58582k -> 45817k
    GGC runs: 643 -> 641


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