Hi ,
This is my take on the same :
1. .Net 2.0 , as Nicolas suggested will be a definite improvement in certain
areas , but that will be more related to optimization , but how much human
perception will catch it , totally depends on application .
2. There are cases , where actually un managed code can perform better ,
especially when .net code has to go for some kind of P Invoking with win32
API's, then
there are sure shot overheads , but then it is offset by good things like :
1. Automatic memory management , as unmanaged code are main reason for mem.
and handle leaks .
There could be some performance loss at IL -- Native Code level , but good
part is easy management of IL stuff and various other security benefits that
couple along .
3. Ngen , by defnition it seems to make good differences , but then there
are certain caveats :
1. By defaults it generates the code that is LCD for various compatible
processor architectures or otherwise for optimizing we need to know about
special calls and use appropriate flags , however jit , cretaes a real
optimized code with all benefits .
2. It invariably needs IL code (Manifest ) , at runtime , you maynot think
of protecting intellectual properties .
3. Any issues with installed native cache images , execution reverts to JIT
..
Actually JIT in theory may look like having some issues , but it's benefits
offsets all of them and again it's a first time hit after that there's no
repetitive compilation till the point source code is changed .
i hope this helps upto some extent ,
Mrinal
"Joanna Carter (TeamB)" <jo*****@nospamforme.com> wrote in message
news:O6*************@TK2MSFTNGP14.phx.gbl...
"Nicholas Paldino [.NET/C# MVP]" <mv*@spam.guard.caspershouse.com> a écrit
dans le message de news: ee**************@TK2MSFTNGP15.phx.gbl...
It all depends on the application you are writing. All things
considered, I don't see any reason why a .NET program can't perform as well as a non-managed program.
.NET 2.0 will be faster in some areas, but not across the board.
These kind of improvements are not really going to be realized in such a
general manner.
What areas tend to induce speed problems ?
We will be using our own data persistence layer and connecting UI controls
to objects and lists rather than directly to data tables.
The data layer will dynamically create SQL statements for submission to a
single query component, so we will not be using datasets of multiple
tables which, I gather, can be a potential bottleneck.
Once the code has been run once, I gather that the JIT "penalty" is
removed from the equation and that I should expect native or better ^performance ?
There are also people out there that are writing code for the
managed environments that are doing it wrong, which can contribute to this.
Don't worry, as a Delphi consultant, I get to see a fair amount of bad
code that can make Delphi apps run like Java <gd&r>
Joanna
--
Joanna Carter
Consultant Software Engineer