Является ли JIT частью PVM в PyPy?

введите здесь описание изображения


Является ли JIT частью PVM в PyPy?


Переводит ли JIT часто используемый код в машинный код, и если это так, то интерпретируется ли оставшийся код (кроме часто выполняемого) без преобразования в машинный код?


Является ли PyPy реализацией или интерпретатором?


person Community    schedule 14.10.2020    source источник


Ответы (1)


Является ли JIT частью PVM в PyPy?

Компилятор JIT можно считать частью виртуальной машины, да. Хотя все дело в определениях. Если бы кто-то другой нарисовал картинку, где JIT был представлен как отдельный компонент, просто тесно интегрированный с виртуальной машиной, я бы тоже согласился.

Переводит ли JIT часто используемый код в машинный код

Да.

интерпретируется ли оставшийся код (кроме часто исполняемого) без преобразования в машинный код?

Да, байт-код будет интерпретироваться до тех пор, пока он не будет выполняться достаточно часто, а части кода, которые не выполняются достаточно часто, продолжают интерпретироваться.

Является ли PyPy реализацией или интерпретатором?

Интерпретаторы являются реализациями языка программирования.

person sepp2k    schedule 14.10.2020
comment
Только один вопрос: Да, байт-код будет интерпретироваться до тех пор, пока он не будет выполняться достаточно часто, а части кода, которые не выполняются достаточно часто, продолжают интерпретироваться. — Эй, это только для единая программа? Я имею в виду, что если JIT-компилятор наблюдает тот же шаблон при выполнении другой программы, будет ли он выполнять код напрямую, преобразовывая его в машинный код? Распознает ли JIT-компилятор этот шаблон и в другой программе? - person ; 14.10.2020
comment
@Brobdingnagian Это для одного запуска одной программы. После выхода из программы сгенерированный машинный код исчезает — он не кэшируется (см. и-перезагрузить-уже-скомпилированный-машинный-код" rel="nofollow noreferrer">Часто задаваемые вопросы). Выполнить это в общем коде между разными программами будет даже сложнее, чем в прогонах одной и той же программы. - person sepp2k; 14.10.2020