Heap memory limit?
Steven Schveighoffer
schveiguy at yahoo.com
Tue Feb 23 06:07:45 PST 2010
On Tue, 23 Feb 2010 08:36:04 -0500, bearophile <bearophileHUGS at lycos.com>
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
The GC is open source. Submit a patch if you want. DMD is not in charge
of the GC, it is runtime code, I don't think we need a specific option for
it. I think it can be runtime-decided, and the option passed via your
program initialization. I.e.:
void main()
{
GC.memlimit = 200_000_000; // 200 MB
...
}
I also don't think that limits to memory are too important for most
applications, only for specific ones.
-Steve
More information about the Digitalmars-d
mailing list