т.е. ты хочеш сказать, что люди делают новую среду и хотят перевести на неё всю разработку и они заведомо закладываются на уменьшение быстродействия???
Люди, которые это делают, в отличие от тех людей, которые работали в Microsoft раньше, делают всё исключительно для того, чтобы заработать как можно больше денег. Уменьшение быстродействия можно умело скрыть засчёт быстрого железа и психологического на программиста влияния от удобной среды.
и при этом имеют возможность влиять на производителей тех-же процессоров и не сделают поддержки новой технологии на уровне железа???
А зачем эта технология? Она ничем не лучше уже имеющейся. Уже имеющаяся технология идеальна с точки зрения схематического устройства процессора (никогда не задумывался, почему нет инструкции mov [mem], [mem] ? если знаешь, как именно работает процессор - причина очевидна).
А по поводу оптимальности кода, только ручная огранка сможет дать самый оптимальный код, но у специалиста, я например не умею.
Любой, более-менее солидный компилятор делает эту оптимизацию. Это сложный интеллектуальный процесс, требующий значительного времени. Поэтому, компиляции происходит не мгновенно. Если .NET при компиляции Native-код из IL проводит эту оптимизацию, значит первый запуск происходит мучительно долго - это плохо. Если .NET тупо транслирует IL в Native-код (в одной из тем tyomitch показывает, что это легко осуществимо, а также, насколько отвратителен получаемый код) - то приложения работает медленно - это тоже плохо.
В любом случае .NET-приложение в процессе работы обращается к фреймворку, а тот в свою очередь - к винде. При этом, приложения могло бы сразу обращаться к винде, минуя фреймворк. Т.е. в любом случае, тратится время на ненужную цепочку вызовов через FW.