On Linux and OSX, the build for just the unittest library would
generate an over 40MB executable. On Windows with Optlink
though, it was only 4MB, so perhaps there are optimizations
that could be made to reduce the size on OSX / Linux.
This sounds like a bug.. if it CAN be done with an executable
size of 4MB, why would it not be so on OSX/Linux?
Also, i was reading through this pull request:
https://github.com/D-Programming-Language/druntime/pull/775
and yglukhov mentioned something about needing 5 minutes and 12GB
or ram to build phobos with whatever they're talking about.
To be honest though, after reading the above pull-comments and
this one below, I'm still confused about what they're trying to
do.
https://github.com/D-Programming-Language/dmd/pull/2271
Also, from what I can tell you generate a class for every
symbol. This could generate a significant amount of bloat as
well because it would generate further TypeInfo for each of
these classes. I could be wrong here, but if that's the case,
perhaps changing to structs would be a better choice if
possible?
You're right that I am creating a class per symbol, along with a
bunch of other templates. It probably would be a good idea to try
and eliminate the templates where possible. I'm not sure why you
are suggesting structs instead of classes though.