On Friday, 29 June 2018 at 20:57:24 UTC, Jonathan M Davis wrote:
[...]

It could be fixed, even if it's just adding a compiler switch to indicate that you want it to use the GC to collect memory, because you're going to run out of memory if you don't. As I understand it, the compiler already can have that turned on internally. It's just that it hurt compilation times enough to do so that it's been left off - which makes sense for many, many cases, but is a definite problem when your project is large enough or doing enough CTFE that compiling it causes it to run out of memory. What the best way to handle ti is, I don't know, since we do want the compilation speed in the typical case, but we also don't want to run out of memory. A compiler switch would be an easy out but less than ideal.

[...]

I managed to get around this issue by using LDC to compile a test project, but the memory usage was insane. It used more than 4GB of memory. I would rather have slower compile times, personally. I bet letting the GC do its job and free memory is less time consuming than letting the compiler eventually run out of memory, halt, and leave me to scramble to free up system memory so that I can try again.

Reply via email to