order of static constructor execution
Regan Heath
regan at netmail.co.nz
Mon Mar 15 02:58:45 PDT 2010
Walter Bright wrote:
> Doing lazy initialization certainly works, but it would require all
> static member access to go through a check for initialization, first.
> The cost of this check persists for a statically compiled language; for
> a JITted language like C# the access can be rewritten to remove the check.
Yeah, I figured that was going to be the stumbling block.
Is it possible for the compiler to figure out an order of execution
during compile instead? Then it could simply use that to order
construction instead of import/lexical ordering and there would be no
runtime cost.
I expect this either isn't possible or falls into the 'possible up to a
point' category.
R
More information about the Digitalmars-d
mailing list