Hello.
having about 6 Gb free RAM, trying to execute:
string[] dic;
for (int i = 0; i < 100_000_000; i++)
{
dic ~= "just a word number "~to!string(i);
if (i%1_000_000 == 0)
{
writef("processed line %s: %s\n", format("%,3d", i), format("%,3d", dic.length));
}
}
got an error:
"processed line 32,000,000: 32,000,001
core.exception.OutOfMemoryError@src\core\lifetime.d(126): Memory allocation failed"
app used is about 1.6 Gb, more than 4 stays free.
- What is happened, why dynamic array have mem limit? For example, golang uses all free memory that it can.
- How to fix this?
- (optional) How to display memory usage? Cannot find function for this.
Thanks.