IL (промежуточный код) компилируется в комманды процессора (
0001 0011 1101… ). Этим занимается
JIT компилятор в
CLR среде.
Вместо компиляции всего приложения,
JIT (Just-In-Time) компилятор просто компилирует каждую порцию кода при вызове. Если промежуточный код однажды скомпилирован, то результирующий машинный исполняемый код сохраняется до момента завершения работы приложения, поэтому его перекомпиляция при повторных обращениях к нему не требуется.
В Microsoft аргументируют , что такой процесс более эффективен, чем компиляция всего приложения при запуске, поскольку высока вероятность того, что крупные фрагменты кода приложения на самом деле не будут выполняться при каждом запуске.