Another Pro of JIT is that it profiles. ie it checks which sections can be opted for your system and which not and it opts those that benefit if it.
Thats something you will never be able to do from hand. you can only opt for some specific test cases you are able to do with your machines or your game studios machines.
But you aren't god, you can't opt for 8 types of CPU and especially not 8 different pipeline lengths within the CPU, which is a seriously usefull thing.
Why do you think is C# able to be en par with C++ even thought the C++ followers still believe that their dieing language will always be faster?
Because no C++ programmer can program a single app for single core, multicore, AMD, Core Duo, Core 2 Duo and P-M as well as P4 (which has a far longer pipeline and other capabilities) optimized, even if he would do it for the rest of his life.
And the more parallelism we will get on the CPU end, the more you are in trouble without JIT compilation and a good compiler.
BM is the best proof of that. Heck it has optimation flags for P2!!! How much worse and more useless down-opt can you an app!
Set the optimation flag for P3 or even manually SSE3 and pipeline optimations and see a 150-200% gain on the math end and a few other things!
Thats something you will never be able to do from hand. you can only opt for some specific test cases you are able to do with your machines or your game studios machines.
But you aren't god, you can't opt for 8 types of CPU and especially not 8 different pipeline lengths within the CPU, which is a seriously usefull thing.
Why do you think is C# able to be en par with C++ even thought the C++ followers still believe that their dieing language will always be faster?
Because no C++ programmer can program a single app for single core, multicore, AMD, Core Duo, Core 2 Duo and P-M as well as P4 (which has a far longer pipeline and other capabilities) optimized, even if he would do it for the rest of his life.
And the more parallelism we will get on the CPU end, the more you are in trouble without JIT compilation and a good compiler.
BM is the best proof of that. Heck it has optimation flags for P2!!! How much worse and more useless down-opt can you an app!
Set the optimation flag for P3 or even manually SSE3 and pipeline optimations and see a 150-200% gain on the math end and a few other things!