<div dir="rtl"><div dir="ltr">>   - 0000: 845 MB (baseline)<br>>   - 0008: 756 MB - change DIE::Children to a linked list<br></div><div dir="ltr"><br></div><div dir="ltr">That's really nice savings, more than 10% !</div><div dir="ltr"><br><br>2015-05-24 21:55 GMT+03:00 Duncan P. N. Exon Smith <<a href="mailto:dexonsmith@apple.com">dexonsmith@apple.com</a>>:<br>><br>><br>> > On 2015 May 20, at 17:51, Duncan P. N. Exon Smith <<a href="mailto:dexonsmith@apple.com">dexonsmith@apple.com</a>> wrote:<br>> ><br>> ><br>> >> On 2015 May 20, at 17:39, Duncan P. N. Exon Smith <<a href="mailto:dexonsmith@apple.com">dexonsmith@apple.com</a>> wrote:<br>> >><br>> >> With just those four patches, memory usage went *up* slightly.  Add in<br>> >> the 5th patch (which does #2 below), and we get an overall memory drop<br>> >> of 4%.<br>> ><br>> > Forgot to post numbers for this.  Peak memory was at 920 MB before<br>> > the five patches, and 884 MB after.  (These exact numbers won't quite<br>> > reproduce in ToT since I still haven't finished cleaning up and<br>> > committing the MCSymbol and emitLabelDiff() work I hacked on top of,<br>> > but the 36 MB drop should hold.)<br>><br>> I've cleaned all this up and committed the most obvious parts, as well<br>> as a few unrelated memory improvements.  I'm attaching my (almost?)<br>> ready-to-go patches, which have the following effects on peak memory:<br>><br>>   - 0000: 845 MB (baseline)<br>>   - 0001: 845 MB - refactor<br>>   - 0002: 879 MB - pass DIEValue by value (momentary setback)<br>>   - 0003: 829 MB - merge DIEAbbrevData into DIEValue<br>>   - 0004: 829 MB - refactor<br>>   - 0005: 829 MB - refactor<br>>   - 0006: 829 MB - refactor<br>>   - 0007: 764 MB - change DIE::Values to a linked list<br>>   - 0008: 756 MB - change DIE::Children to a linked list<br>><br>> (Still measuring memory on `llc` for `-flto -g`; details in r236629.)<br>><br>> @Eric, you mentioned offline you'd like to have a look at this proposal<br>> before I proceed -- obviously I've been impatient ;).  Let me know if<br>> I'm okay to move forward and start committing (modulo a couple of these<br>> that I'll want a review from David and Fred on).<br>><br>><br>> _______________________________________________<br>> LLVM Developers mailing list<br>> <a href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a><br>> <a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>><br></div></div>