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.

Reply via email to