On Wednesday, 24 May 2017 at 07:54:04 UTC, Wulfklaue wrote:
Great ... accidentally pressed send.
So my question was:
Why does even a simple empty empty statement like this,
compiled with DMD, show under windows a almost 1.7MB memory
usage?
Because the garbage collector (GC) allocates a sizable chunk of
memory from the operating system at program startup, from which
it then in turn allocates memory for you when you use things like
dynamic closures, `new XYZ`, etc.
void main()
{
while(true){}
}
The same in C/C++ is simply 0.1MB. This is why i asked the
question if the runtime is somehow responsible?
Yes, it is. It is the price we have to pay for having a GC. If
the overhead bothers you, you might want to compare it with other
garbage collected languages (such as Go).
PS: This might belong in Learn, instead of General.