On Saturday, 28 January 2023 at 17:16:07 UTC, Hipreme wrote:
[...]

Thank you. I incorporated some of these ideas and looked up how to profile the compilation with tracy, and now dmd memory requirements are down to ~2100 Mb. It's still a far cry from your 250 Mb, however.

I changed it to only call `getSymbolsByUDA` once (per plugin module) and then filtered it by use of arrays of indices, like you suggested. This reduced memory needed by some 150 Mb; less than I had hoped but still a step in the right direction.

I then went through the compilation with tracy and removed, replaced or versioned out parts that the compiler seemed to spend a long time on in semantic analysis. I lost some functionality but the returns were considerable.

The remaining big offender seems to be `std.concurrency.send`. I consolidated some unique instantiations, but it's pretty core to how the thing works and I'm not sure what I can neatly do about that.

Reply via email to