MS has said in many places, they can squeeze more performance out of it. As the common denominator for cpu power rises, expect them to crank up the aggressiveness of the jit.
Its pretty cool that programs you write today, can get faster tommorrow, with no intervention on your part.
Its pretty cool that programs you write today, can get faster tommorrow, with no intervention on your part.
True, that is very nice. Maybe someday Microsoft will have a JIT Game optimization mode, where it can be just as optimized as C++ (less bounds checks, etc). And provided they don't make it Vista-exclusive, I'd be happy to switch to C# in that case. I would however be a little cautious when switching to a language based on promises made (BltizMax, for example).
– Will gladly sacrifice 10% of our performance
for 10% higher productivity
for 10% higher productivity
So would I, but:
I think right now, generally a good optimizing c++ compiler will win more often than not, especially when it comes to harcore number crunching-- but the fact that c# can duke it out, and even come out ahead says alot about the .net runtime.
I basically came to the same conclusion when researching C# vs. C++; C++ is considerably faster with calculations and arrays.
With a simple game without intensive and complex mathematical calculations like a simple tank game or maybe even an RTS, C# would work just fine. In other words a 10% performance loss is OK with a 10% increase in productivity.
However, with more complex game engines, you get into more advanced features like scripting engines, pathfinding, raytracing, and dynamic paging and dynamic vertex buffer batching. In some cases you need thousands of terrain height checks to be performed per second, and thousands of vertices uploaded to the video card in real-time. In this case, that 10% increase in productivity may come at a 50% performance loss.
The Axiom benchmark actually reinforces what I'm saying. Notice how the CPU-intensive "Smoke", "ParticleFX", and "Skeletal Animation" demos all run faster in C++, while all-GPU demos "Fresnel", "Dot3Bump", etc. run faster in C#.