hasUDA alternatives?

Anonymouse zorael at gmail.com
Tue Jan 31 13:34:18 UTC 2023


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.


More information about the Digitalmars-d-learn mailing list