www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - D1: out of memory

reply %u <e ee.com> writes:
How do I get dmd's memory usage a few hundred MBs down?
I keep having to close everything in order not to get an out of memory error
while compiling (-w -full).
I'd like to get it from 700-800 to below 400 :)
Any way to inspect which part is the biggest drain?
Jan 24 2011
next sibling parent %u <e ee.com> writes:
Er, bit exaggerated..

450 to below 300 pls :)
Jan 24 2011
prev sibling parent reply Robert Clipsham <robert octarineparrot.com> writes:
On 24/01/11 22:14, %u wrote:
 How do I get dmd's memory usage a few hundred MBs down?
 I keep having to close everything in order not to get an out of memory error
 while compiling (-w -full).
 I'd like to get it from 700-800 to below 400 :)
 Any way to inspect which part is the biggest drain?

CTFE and templates will use up the most memory - particularly if you use a lot of strings, as the memory allocated is never freed. You can work around it be compiling files one at a time or a few at a time, so instead of: $ dmd file1.d file2.d Use: $ dmd -c file1.d $ dmd -c file2.d $ dmd file1.o file2.o Note if you're doing this you may like to look into the -op option to avoid object file conflicts which will lead to linker errors. -- Robert http://octarineparrot.com/
Jan 24 2011
parent %u <e ee.com> writes:
== Quote from Robert Clipsham (robert octarineparrot.com)'s article
 CTFE and templates will use up the most memory - particularly if you use
 a lot of strings, as the memory allocated is never freed. You can work
 around it be compiling files one at a time or a few at a time, so
 instead of:
 $ dmd file1.d file2.d
 Use:
 $ dmd -c file1.d
 $ dmd -c file2.d
 $ dmd file1.o file2.o
 Note if you're doing this you may like to look into the -op option to
 avoid object file conflicts which will lead to linker errors.

Compiling main alone tops 400MB :D dmd -c -w proj_1\main.d The hassle is probably not worth the money for new memory.. if only I wasn't broke :D
Jan 24 2011