The reason I only mentioned code bloat is because that's the only aspect (no pun intended) I'm sure they will never be able to resolve in NGEN. Without jit-ing there's no way to accurately predict which parts of your code are actually executed (yeah, there's dead code elimination and all that good stuff, but the dynamic calling tree -as technology stands today- can not be predicted).
-- Henkk ----- Original Message ----- From: "John Lam" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Wednesday, May 15, 2002 2:58 AM Subject: Re: [DOTNET] CLR execution > >> Although interpreting is probably slower than executing jit'ed > code and pre-jit-ing will bloat your image to some extent. << > > It should also be noted that pre-jit-ing (or NGEN-ing) your code will > actually cause the code to run ever so slightly *slower* *today*. This > is due to the fact that certain optimizations cannot be done at install > time. > > For example, it is not known what app domain the code will run in so > certain things like referencing static fields must always occur via > indirection in the case of NGEN'd code. The same code processed through > the JIT'er can eliminate the indirection since knowing what appdomain > the code executes in lets the JIT'er hard-code the address of the static > field into the generated x86 instructions. > > However, there are definitely caveats to consider here. In V1, NGEN > simply calls the JIT to generate the x86 image. This will probably not > be the case in future implementations. If you consider, for example, the > difficulty involved in generating IA-64 instruction bundles in a JIT'er > (which is constrained by the amount of time it can "think") on IA-64 > architectures there could very well be a significant perf boost in > NGEN-ing code. > > Like all things, your mileage will vary. Make sure that you test, and > test often. And be very careful about things that could invalidate your > test results. And be even more careful when you interpret your results - > make sure the thing you think you're observing is really the thing > you're observing. > > HTH, > > -John > http://www.iunknown.com > > You can read messages from the DOTNET archive, unsubscribe from DOTNET, or > subscribe to other DevelopMentor lists at http://discuss.develop.com. > You can read messages from the DOTNET archive, unsubscribe from DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.
