J
Jon Skeet [C# MVP]
Scott M. said:If someone is going to complain about start up time, then NGEN becomes part
of the discussion.
It becomes part of the discussion of how to make .NET apps startup
faster. It doesn't make the claim that *all* .NET apps start up as fast
as native apps true though.
See above remark. NGEN is not some 3rd party add-on for .NET that helps
overcome some inherant flaw in the design of the architecture. It is a
valid and integral part of the toolset for .NET and is applicable to all
.NET assemblies. Since all .NET assemblies can use NGEN, then my statement
holds.
"Can" isn't the same as "do", however - and even in the case when Ngen
is performed on installation, that doesn't mean that the generated code
will always be used, because hardware changes (which an app may not
know about) may invalidate the image.
Further, there are other reasons to avoid ngen in some situations. For
one thing, it *can* have a negative impact on the overall performance,
even if it improves startup time.
I just see Lloyd's comments like someone who goes to the doctor complaining
of an ailment, the doctor giving a prescription to cure the problem and the
patient just throwing the prescription away and continuing to complain about
the ailment.
You didn't just give a prescription to cure the problem, however. You
claimed that the problem didn't exist because there is a cure. That's a
big difference.