Является ли байт-код Python независимым от интерпретатора? - PullRequest
0 голосов
/ 10 октября 2018

Это очевидный вопрос, на который я не смог найти конкретного ответа.

Является ли байт-код Python и сам код Python независимым от интерпретатора,

Это означает, что если я возьму CPython, PyPy, Jython, IronPython, Skulpt и т. Д., Interpreter и япопытка запустить, тот же кусок кода в Python или байт-код, будет ли он работать правильно?(при условии, что они реализуют одну и ту же языковую версию и используют модули, написанные строго на Python или стандартные модули)

Если да, есть ли эталонный тест или место, где я могу сравнить сравнение производительности со многими интерпретаторами?

Я играл некоторое время с CPython, и теперь я хочу исследовать новых интерпретаторов.

И еще один побочный вопрос: каковы другие реализации python?Скульпт, я понял, браузеры, а остальное?Существует ли конкретная отрасль или приложение, для которого требуется другой переводчик (который)?

Ответы [ 2 ]

0 голосов
/ 24 октября 2018

Если так, есть ли эталонный тест или место, где я могу сравнить сравнение производительности многих интерпретаторов?

speed.pypy.org сравнивает pypy с cpython

0 голосов
/ 10 октября 2018

С https://docs.python.org/3/library/dis.html#module-dis

Байт-код - это деталь реализации интерпретатора CPython.Не дается никаких гарантий, что байт-код не будет добавлен, удален или изменен между версиями Python.Использование этого модуля не должно рассматриваться для работы с виртуальными машинами Python или версиями Python.

С другой стороны, Jython"состоит из компилятора для компиляции исходного кода Python доJava-байт-коды, которые могут работать непосредственно на JVM », а IronPython компилирует в CIL для работы на .NET VM.

Цель состоит в том, чтобы лучше интегрироваться в среду программирования.CPython позволяет вам писать расширения C, но это не обязательно верно для других реализаций.Jython позволяет вам взаимодействовать с кодом Java .Я уверен, что подобное верно и для IronPython.

...