Одиночная платформа (Windows) на самом деле не означает единственную цель. В настоящее время я работаю на Windows - и некоторые двоичные файлы x86, а некоторые x64. Даже в пределах одного и того же семейства процессоров разные специальные микросхемы имеют разные возможности, о которых может позаботиться JIT.
В .NET вы можете использовать NGEN - но лично я бы посмотрел, насколько это полезно, прежде чем вы на самом деле используете его в производстве. Я полагаю, что главное преимущество - это время запуска, а не производительность при фактическом выполнении. На самом деле, я полагаю, что есть некоторая оптимизация, которую может выполнить «нормальный» JIT, а NGEN - нет.
Следует отметить, что, хотя Hotspot JIT для Java является адаптивным, как упоминает Dolda2000, .NET JIT в настоящее время «только один раз» - он не будет повторно JIT-код, тратя больше усилий если он оказывается очень интенсивным или делает предположения относительно подклассов, а затем "отменяет" их позже.