I define code as being performant if it uses less memory and less cpu cycles to perform an activity. I say this with a view on battery life (call me an enviro-whacko if you want).
Have you used IE9? Chrome is not faster. Also, nobody forces managed code on you and it's a myth that managed code is slow...
Honestly, I have not used IE9 but will do soon( once I can get some work out of the way ). But IE8 has been a hog every which way.
I agree managed code doesn't mean slow and in some cases it could actually be faster.. try the following for example in managed and unmanaged....
// allocate some memory
xyz myObj = new xyz();
// do some stuff
Managed code is faster above. The point I am trying to make is, code can be performant or non-performant REGARDLESS of the programming environment. It is the emphasis given by the developer (to perf) that makes the difference. I just get the feeling that devs have somehow gotten it in to their thinking that maintainable code means less performant code. Also there seems to be too much design patterns KoolAid drinking where we are layering libraries upon libraries. Obviously, there should be a proper balance struck between layering and not layering.
Now coming to IE9, from what I read so far, it seems to be relying on GPU for a lot of it's speed... what does that do to the battery life ( assuming the code base makes it's way in to handhelds). It seems Opera is coming close to IE9 even without hardware acceleration.
The .NET VM (CLR) is super fast and its GC is one of the world's best. Now, WP7 does not employ the same GC (it can't... ARM "requires" that you use a non-generational GC. Yes, quotes for a reason around requires - it's a really, really hard technical problem that the WP7 team hasn't solved).
I see competitors with full aqua/glass effect enabled, and I see WinPh7 with rectangle buttons...and still the battery life is subpar.
So, be clear. You are talking about WP7 (which means Windows CE, the Compact Framework and a non-generational GC). XNA on the phone is pretty blazing given the environment. Silverlight is pretty fast, too.
If close-to-machine performance is your ultimate benchmark, then you know what language/tools/runtime you need to use
What are you you saying, exactly, again? .NET has to what? Be as fast as Java? Come on...
Everytime I see any decent sized silverlight app..my machine goes > 40%. Again, the question if how many cpu cycles is the code eating up.