Classes on stack
Steven Schveighoffer
schveiguy at gmail.com
Mon Sep 5 18:42:23 UTC 2022
On 9/2/22 3:54 PM, Walter Bright wrote:
> On 9/2/2022 6:23 AM, Steven Schveighoffer wrote:
>> What do you mean? If you are suggesting that probably the module
>> sorting is insignificant, it definitely is not very intensive.
>
> I am indeed suggesting it is insignificant.
I'd hazard to guess it's indistinguishable really. Probably on the order
of a couple milliseconds, even on a large module set.
It's not so much the performance, but the principle, and also the
requirement of code to do something that is knowable really at link-time.
>
> In the olden days, I (and others) would just have the executable
> self-patch itself. But such behavior was then banned by the OS.
>
I'm thinking more about either an intermediate step to the linker (once
all objects are known), or a post-link step. Not something that happens
at runtime.
What *could* happen is some --DRT switch to output the correct sorting,
and then another tool that takes that as input, and can then properly
edit the executable, or provide a specialized file to the compiler so it
spits out a pre-organized module list. Can they be weak symbols, and
then you just link the object file with that data ahead of everything
else? Or, just the rt_init function could be told "use this pointer
array as the list instead of the sorting."
Actually, I think that last idea is doable without any compiler
changes... I'll have to investigate.
-Steve
More information about the Digitalmars-d
mailing list