On Tue, 23 Feb 2010 08:36:04 -0500, bearophile <[email protected]>
wrote:
The Java VM has a limit of the amount of memory it allocates from the
heap. So is it useful to add a way to specify a similar limit for D2
programs (especially ones made by safe module)? This limit can be given
to the D GC heap (and maybe to the C heap too).
This limit can just be a compile-time constant given to the compiler,
this produces a binary that has a limit of 200 MB of heap:
dmd -mlimit=200mb foo.d
The situation gets less simple if you want to change such limit after
the program is already compiled, I don't know of simple ways to do it.
Maybe a second program can be used for that:
gclimiter -mlimit=100mb foo.exe
Bye,
bearophile
My gut feeling is that you are confusing free heap memory with total heap
memory, because I know of lots of Java programs where I seamlessly
allocate more than 200mb on a regular basis. I mean, consider a user with
gigs of memory free suddenly getting an out of memory error. Anyways, as
others have mentioned, this seems like a fairly trivial addition to
druntime's GC.