Object.factory() and exe file size bloat
bitwise via Digitalmars-d
digitalmars-d at puremagic.com
Fri Aug 21 15:39:30 PDT 2015
On Friday, 21 August 2015 at 05:06:47 UTC, Walter Bright wrote:
> This function:
>
> http://dlang.org/phobos/object.html#.Object.factory
>
> enables a program to instantiate any class defined in the
> program. To make it work, though, every class in the program
> has to have a TypeInfo generated for it. This leads to bloat:
>
> https://issues.dlang.org/show_bug.cgi?id=14758
>
> and sometimes the bloat can be overwhelming.
>
> The solution seems straightforward - only have Object.factory
> be able to instantiate classes marked as 'export'. This only
> makes sense anyway.
>
> What do you think?
Can't this be optional?
-slim-rtti // hold the gravy
-verbose-rtti // more gravy!
> On Friday, 21 August 2015 at 20:26:29 UTC, Walter Bright wrote:
>[...]
> The principle often used by languages (C, C++, Rust) is you
> only pay for what you use. With Object.factory, every program
> pays for it with every class, despite very few actual uses of
> it.
Object.factory() would probably get more use if D provided a full
solution in this category.
OffsetTypeInfo was never implemented, but is still collecting
dust:
https://github.com/D-Programming-Language/druntime/blob/master/src/object.d#L197
I would love to see OffsetTypeInfo implemented, and have the
field name included as well so it could be used for serialization.
I don't believe there has to be a "one size fits all" solution
for this. Some people need small binaries, some need utility.
Bit
More information about the Digitalmars-d
mailing list