Показать сообщение отдельно
Старый 18.05.2018, 20:20   #67  
ax_mct is offline
ax_mct
Banned
 
2,548 / 1091 (0) ++++++++
Регистрация: 10.10.2005
Адрес: Westlands
Цитата:
Сообщение от belugin Посмотреть сообщение
Вы имеете ввиду компиляцию из исходного кода в промежуточный или из промежуточного в машинный?

Не могли бы вы привести ссылку для подтверждения своего утверджения?

Compilation by the JIT Compiler
JIT compilation converts MSIL to native code on demand at application run time, when the contents of an assembly are loaded and executed.

Думаю что из промежуточного в машинный.
Промежуточный это P-code в X++, CIL в .NET, Bytecode (.class) в Java. Это файлы полученные из исходного кода и которые используются VM для перевода в машинный код (ngen и прочие не общие вещи не расматриваем).

Действительно получается что все упирается в реализацию JIT.
В Java их далеко не одна. Самый общий это HotSpot
https://ru.wikipedia.org/wiki/HotSpot
который сочетает и компилятор и интерпретатор.

Oracle HotSpot это больше 80% рынка JVM.

https://plumbr.io/blog/java/java-version-and-vendor-data-analyzed-2017-edition


Oracle HotSpot использует интерпретацию по умолчанию, и только потом компиляцию часто используемых методов.
Цитата:
HotSpot VM defaults to interpreting Java byte code. It compiles (JIT compilation) methods that runtime profiling determines to be "hot", that is, the methods that are executed for a predetermined number of times. JIT compliers are either client or server compilers.
https://docs.oracle.com/javase/9/jro...n.htm#JRHMG117

В CLR возможностей использования интерпретации в JIT - нет совсем.
А она таки для программистов удобнее и мы ее потеряли с D365FO.