Slurm - Предоставляете разные квоты разным пользователям с QOS?

Да, код JIT'ing IL включает в себя перевод IL в нативные машинные инструкции.

Да, среда выполнения .NET взаимодействует с собственным машинным кодом JIT'ed в том смысле, что среда выполнения имеет блоки памяти, занятые собственным машинным кодом, вызовы во время выполнения в собственный машинный код и т. д. .

Вы правы, что среда выполнения .NET не интерпретирует код IL в ваших сборках.

Что происходит, когда выполнение достигает функции или блока кода (например, предложение else блока if), который еще не был JIT, скомпилированный в собственный машинный код, JIT'r вызывается для компиляции этого блока IL в собственный машинный код. Когда это будет сделано, выполнение программы вводит только что испущенный машинный код для выполнения его программной логики. Если при выполнении этого собственного машинного кода выполняется вызов функции к функции, которая еще не была скомпилирована для машинного кода, JIT'r вызывается для компиляции функции «как раз вовремя». И так далее.

JIT'r не обязательно компилирует всю логику тела функции в машинный код сразу. Если в функции есть операторы if, блоки операторов команд if и else могут не быть скомпилированы JIT до тех пор, пока выполнение не пройдет через этот блок. Пути кода, которые не выполнялись, остаются в форме IL до тех пор, пока они не выполняются.

Скомпилированный код нативного компьютера хранится в памяти, так что его можно использовать снова в следующий раз, когда выполняется этот раздел кода. Во второй раз, когда вы вызываете функцию, она будет работать быстрее, чем в первый раз, когда вы ее вызовете, потому что во второй раз не нужно делать шаг JIT.

На настольном компьютере .NET собственный машинный код хранится в памяти на протяжении всей жизни приложения. В .NET CF нативный машинный код может быть выброшен, если приложение работает с низким объемом памяти. Это будет JIT, скомпилированный снова из исходного кода IL, в следующий раз, когда выполнение пройдет через этот код.

0
задан noname 18 March 2019 в 16:31
поделиться